【java基础】循环语句、中断控制语句

循环

在java中有3种循环,分别是while循环,for循环,for each循环

while循环

while循环的形式是 while(condition) statement

        int i = 5;
        while (i > 0){
    
    
            i--;
        }

上面的while循环会先进行判断,然后再执行循环体里面的代码。如果想要先执行循环体代码然后再判断,那么就可以使用do while循环
do/while循序这个和while是类似的,形式为 do statement while(condition)

        int j = 5;
        do {
    
    
            j--;
        }while (j > 0);

while 和 do/while 的区别就是while先要进行判断,而do/while后进行判断

for循环

for循环也被叫做确认循环,因为for循环一般都是确认循环次数的
for循环的格式如下

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

for循环由3部分构成

  • int i = 0;是第一部分,表示初始化计数器,如果是在for循环这里定义的变量,那么作用域就是该for循环的代码块
  • i < 10;是第二部分,就是用来判断是否退出循环的,当该条语句为false的时候就退出循环
  • i++ 这是第三部分,表示在每次循环结束时要进行的操作,也就是如何更新计数器,可以理解为该条语句就是在该循环代码块的最后一条语句

每个部分都是可以选择是否填写的

        // for循环写法有很多,例如我们可以增大计数器的的作用范围
        int j;
        for (j = 0; j < 10; j++){
    
    

        }
        // 死循环
        for (int i = 0; ; i++) {
    
    

        }

for each循环

Java有一种功能很强的循环结构,可以用来依次处理数组(或者其他元素集合)中的每
个元素,而不必考虑指定下标值。
这种增强的for循环的语句格式为:for (variable collection)statement

要使用for each循环,必须是一个数组或者实现了Iterable,如 ArrayList
下面的代码就使用for each遍历了数组和List

        // 输出5,4,3,2,1
        for (int i : a) {
    
    
            System.out.println(i);
        }
        
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
        // 输出 1,2,3,4,5
        for (Integer integer : list) {
    
    
            System.out.println(integer);
        }

中断控制语句

提前终止循环的语句有break,continue,带标签的break

break

break语句可以跳出循环语句,相当于提前终止循环,使用很简单,在循环体里面执行到break就会跳出该循环体

        // 下面当i > 3 的时候就会终止循环,程序只会输出0,1,2,3
        for (int i = 0; i < 5; i++) {
    
    
            if (i > 3) break;
            System.out.println(i);
        }

continue

continue语句会跳过本次循环,不会终止循环。相当于continue后面的代码不会执行,直接开始执行下一次循环

        // 下面代码会输出 0,1,2,4
        for (int i = 0; i < 5; i++) {
    
    
            if (i == 3) continue;
            System.out.println(i);
        }

带标签的break(相当于goto)

java中也有类似于goto功能,就是使用带标签的break跳出到任意位置。要使用首先需要定义标签, 自己写一个标签名称,后面紧跟一个冒号,标签需要放到希望跳出的循环前面,下面代码就是一个简单应用

        rollback:
        for (int i = 0; i < 10; i++) {
    
    
            for (int j = 0; j < 10; j++) {
    
    
                for (int k = 0; k < 10; k++) {
    
    
                    // break的时候带上自己要回退到哪里的标签,回退之后就会跳出标签点挨着的循环
                    if (i == 2)break rollback;
                }
            }
        }

该方式也可以使用在任意代码块,不止是循环,但是不建议使用,因为可能会导致程序结构混乱

猜你喜欢

转载自blog.csdn.net/m0_51545690/article/details/129179046
今日推荐