黑马程序员————学习笔记(第三天)

来源:互联网 发布:otl功率放大器实验数据 编辑:程序博客网 时间:2024/05/29 12:45

 —————————— ASP.Net+Android+IOS开发.Net培训、期待与您交流!——————————

程序流程控制

  循环结构:

    1.while语句

      格式:

      while(条件表达式)

      {

        执行语句;

      }

      执行顺序:先判断条件,满足才执行循环体。

    2.do while语句

      格式:

      do

      {

        执行语句;

      }while(条件表达式);

      执行顺序:先执行一次循环体,再判断条件是否满足,满足再执行循环体。

        与while循环相比,do while语句无论条件是否满足,循环体至少被执行一次。

    3.for语句

      格式:

       for(初始化表达式; 循环条件表达式; 循环后的操作表达式)

       {

         执行语句;

       }

       执行顺序:

         1.初始化表达式。

  2.循环条件表达式。

  3.满足循环条件执行循环体。

  4.循环后的操作表达式。

  5.循环条件表达式。

  6.满足循环条件执行循环体。

  ......

  n.不满足循环条件就结束循环。

    循环语句特例:Demo01.java

/*循环特例*/class Demo01{public static void main(String[] args) {// 第一种int x = 0;for (System.out.println("a"); x < 3; System.out.println("c")){System.out.println("b");x++;}/*// 第二种(不常用,是while的另一种表现,但是换成for也没错)int y = 0;for ( ; y < 3; ){System.out.println(y);y++;}// 第三种 for死循环(谨慎运行)for (; ; ){}// 第四种 while死循环(谨慎运行)while(ture){}*/}}

    循环语句练习1:Test01.java

/*需求:获取1~10的和,并打印。思路:通过循环对1~10进行累加操作。步骤:1. 定义变量,用于存储不断变化的和。2. 定义变量,用于存储被加数。3. 定义循环,进行累加过程。*/class Test01{public static void main(String[] args) {/*// while循环形式int sum = 0;int a = 1;while (a <= 10){sum = sum + a;a++;}System.out.println("sum = " + sum);*/// for循环形式int sum = 0;for (int a = 1; a <= 10; a++){sum = sum + a;}System.out.println("sum = " + sum);}}

    循环语句练习2:Test02.java

/*需求:获取1~100之间7的倍数的个数,并打印。思路:1. 对1~100进行遍历(循环形式)。2. 遍历过程中对7的倍数进行操作。3. 使用一个变量记录对7的倍数操作的次数。步骤:1. 定义循环语句(for)2. 在循环中使用if条件语句判断7的倍数,条件:x%7 == 0;*/class Test02{public static void main(String[] args) {int count = 0; // 定义变量记录操作次数for (int x = 1; x <= 100; x++){if (x%7 == 0){count++;}}System.out.println("在1到100中,7的倍数有:" + count + "个");}}

    for嵌套练习:ForForTest.java

/*需求1:打印以下图形***************思路:采用for循环的嵌套(行列控制)。步骤:1. 定义一个for循环(循环1),用于控制行。2. 在循环1的内部定义一个for循环(循环2)用于控制列。3. 使循环1的变量自增(行数依次增加),循环2的变量自减(列数依次减少)。4. 循环1每完成一次,列数减一。--------------------------------需求2:打印以下图形***************思路:同需求1。步骤:1. 同需求1。 2. 同需求1。3. 使循环1的变量自减,循环2的变量自增。4. 循环1每完成一次,列数减一。规律:需求1,使初始化值跟随外循环变化需求2,使循环条件跟随外循环变化--------------------------------需求3:打印以下图形112123123412345思路:与需求2同理步骤:略需求4:打印九九乘法表*/class ForForTest{public static void main(String[] args) {for (int x = 0; x < 5; x++){for (int y = x; y < 5; y++){System.out.print("*");}System.out.println(); // 仅用于换行}System.out.println("--------------------");for (int x = 0; x < 5; x++){for (int y = 0; y <= x; y++){System.out.print("*");}System.out.println(); // 仅用于换行}System.out.println("--------------------");for (int x = 1; x <=5 ; x++){for (int y = 1; y <= x; y++){System.out.print(y);}System.out.println();}System.out.println("--------------------");for (int x = 1; x <= 9; x++){for (int y = 1; y <= x; y++){System.out.print(y + "*" + x + "=" + y * x + "\t");}System.out.println();}}}

其他流程控制语句

  break(跳出循环)、continue(继续)

  应用范围及特点:

    break:循环结构和选择结构

    continue:循环结构(特点:结束本次循环,继续下一次循环)

  总结:break和continue单独使用时,后面不能有任何语句。

  程序练习:ForForTest02.java

/*需求:用程序将下面的图形打印出来   *   * *  * * * * * * ** * * * *思路:for循环嵌套步骤:略*/class ForForTest02{public static void main(String[] args) {for (int i = 0; i < 5; i++){for (int j = i + 1; j < 5; j++){System.out.print(" ");}for (int k = 0; k <= i; k++){System.out.print("* ");}System.out.println();}}}

函数(方法)

  定义

    定义在类中的具有特定功能的一段小程序,是java中最小的功能单元。

  格式

    修饰符 返回值 函数名(参数类型 形式参数1,参数类型 形式参数2, ....)

    {

      执行语句;

      return 返回值;

    }

  特点

    1.可以将功能代码进行封装。

    2.提高代码的复用性。

    3.函数只有被调用才会被执行。

    4.如果函数不需要返回任何值,返回值类型用void表示,return语句可以省略。

  重载(Overload)

    概念:在同一个类中,允许存在一个以上的同名函数,但是它们的参数参数个数或者参数类型不能相同。

    特点:与返回值无关,只与参数列表有关。

    好处:方便阅读,优化程序的设计。


  函数练习:FunctionTest.java

/*需求1:定义一个功能打印矩形。思路:1.直接打印矩形,无需返回值。2.有未知内容参与,矩形宽高。步骤:1.定义函数,接收两个未知参数(矩形宽高)。2.使用for循环嵌套打印矩形。需求2:定义一个功能函数,打印不确定最多几乘几的九九乘法表。思路:1.直接打印,无需返回值。2.有未知内容参与,需要打印到几乘几。步骤:1.定义函数接收一个参数(几乘几不确定)。2.for嵌套*/class FunctionTest{public static void main(String[] args) {drawRect(5,5);drawHr(); // 分割线方法print99(5);drawHr();print99();}public static void drawRect(int w,int h){for (int x = 0; x < w; x++){for (int y = 0; y < h; y++){System.out.print("*");}System.out.println();}}public static void drawHr(){System.out.println("------------");}// 打印指定范围的乘法表public static void print99(int x){if(x <= 9 && x >= 1){for (int a = 1; a <= x; a++){for (int b = 1; b <= a; b++){System.out.print(b + "*" + a + "=" + b*a + "\t");}System.out.println();}}else{System.out.println("计算范围错误!正确范围:1~9");}}// 默认打印九九乘法表public static void print99(){print99(9);}}

  注意:函数内部只能调用函数,不能定义函数。

数组

  定义:同一种类型数据的集合。

  好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

  格式1:

    元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

    如:int[] arr = new int[3];

  格式2:

    元素类型[] 数组名 = new 元素类型[]{元素1, 元素2, ...};

    如:int[] arr = new int[]{1,3,4,6};

        int[] arr = {1,3,4,6};

  注意:

    new关键字用于在堆内存中产生一个实体


 —————————— ASP.Net+Android+IOS开发.Net培训、期待与您交流!——————————
0 0
原创粉丝点击