java基础之循环结构

循环结构

for 循环

  • 语法:

    for(循环变量初始化1;循环条件2;循环变量自增3){

        循环体4;
    

    }

    for(i=0; i<10; i++){

        循环体;
    

    }

  • 代码块里的代码可以很复杂,啥都能写

  • 循环变量初始化:

     循环变量初始化是循环的初始条件,是整个for循环最先执行的步伐,并且 只会执行一次.
    
  • 循环条件:

     循环条件,是循环的条件,循环条件多么复杂,最后一定能计算出确定的boolean值(true/false).
     如果为true,则循环继续,如果为false,则循环结束.
    
  • 循环变量自增:

     循环变量自增,是每一次循环执行的代码.
    
  • for循环执行循序:

              循环变量初始化 => 循环条件 => 循环体 => 循环变量自增
              =>循环条件 => 循环体 => 循环变量自增
              =>循环条件 => 循环体 => 循环变量自增
              =>....
    

while 循环

  • while 语法:

    while(表达式){
    
        循环体;
    
    }
    
    1. 小括号内的表达式,一定能最后计算出 true/false 的结果.
    2. 先判断循环条件,如果小括号内为true,继续执行循环体的代码.
       循环体执行完毕后,会再次判断循环条件,直到循环条件变为false,为false退出循环.
    3. 执行顺序: 表达式 => 代码 => 表达式 => 代码
       => 表达式 => 代码.....
    
  • for循环和while循环的选择

       代码生涯中如何选择for 和 whlie
       如果确定要循环多少次,就选for
       如果不确定要循环多少次,就选whlie
    

do-while 循环

  • do-while 语法:

    do {
    
        循环代码块;
    
    }while(循环条件);
    
    执行顺序: 循环代码 => 循环条件 => 循环代码 => 循环条件....
    这种循环,无论条件如何,循环代码至少能执行1次,
    然后进行条件判断,如果为true,则再次执行循环体.
    但是 总的执行次数 并不比 正常的while循环 多.
    

break 和 continue

break 和 continue 是在循环内部,对循环进行控制的.

当程序执行 break 的时候,会无条件终止当前循环.

continue 跳过当前 这一次 循环.

    for (int i = 0; i < 10; i++) {
                System.out.println(i);
                if (i == 5) {
                    break;
                }
                System.out.println(i);
            }


    for (int i = 0; i < 10; i++) {
                if (i == 5) {
                    continue;
                }
                System.out.println(i);
            }


    public static void main(String[] args) {
        // 循环嵌套
        // 99乘法表
        // 内层走完 外层走一个
        for (int i = 1; i <= 9; i++) { // 控制第一个数
            for (int j = 1; j <= i; j++) { //控制第二个数
                System.out.print(i + "*" + j + "=" + i * j + "\t");
            }
            System.out.println();//换行
        }
    }



            /**
             * 冒号排序:
             * 核心思想: 保证,数组中 右边的数 >= 左边的数,否则就交换这两个数.
             * 从小到大排序:
             */


            int[] arr = {1, 3, 5, 2, 4};
                    //这个循环负责 循环5次
            for (int j = 0; j < arr.length; j++) {
                for (int i = 0; i < arr.length - 1; i++) {
                // 如果第一个元素小于第二第二个元素,就交换它俩的位置.
                    if (arr[i + 1] < arr[i]) {
                        int temp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = temp;
                    }
                }
            }

            //输出整个数组看结果
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }

            下面这种也可以,不用遍历直接输出数组.
            System.out.println(Arrays.toString(arr));
  • 变量的作用域:

从变量声明开始,一直到变量声明时所在的大括号{}的末尾.

在同一个作用域,同一个变量不能声明两次.

猜你喜欢

转载自blog.csdn.net/weixin_42262135/article/details/80930101