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

水深无声 2023-09-24 20:05 150阅读 0赞

文章目录

  • 循环
    • while循环
    • for循环
    • for each循环
  • 中断控制语句
    • break
    • continue
    • 带标签的break(相当于goto)

循环

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

while循环

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

  1. int i = 5;
  2. while (i > 0){
  3. i--;
  4. }

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

  1. int j = 5;
  2. do {
  3. j--;
  4. }while (j > 0);

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

for循环

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

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

for循环由3部分构成

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

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

  1. // for循环写法有很多,例如我们可以增大计数器的的作用范围
  2. int j;
  3. for (j = 0; j < 10; j++){
  4. }
  5. // 死循环
  6. for (int i = 0; ; i++) {
  7. }

for each循环

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

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

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

中断控制语句

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

break

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

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

continue

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

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

带标签的break(相当于goto)

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读