增强for循环

增强for循环

  • jdk5引入,主要用于数组或集合

  • 格式

 for(声明语句:表达式){
     //代码语句
 }
  • 声明语句:声明新的局部变量,该变量的类型必须和数组内元素的类型匹配。其作用域限定在循环语句块内,其值与此时数据元素的值相等。

  • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

 package struct;
 
 /**
  * @author IT_Jay
  * @date 2022/1/4 18:07
  */
 
 public class Demo16 {
     public static void main(String[] args) {
         int[] numbers = {10,20,30,40};  //定义数组
         //遍历数组
         for (int i = 0; i < numbers.length; i++) {
             System.out.println(numbers[i]);     //numbers[i]就是取numbers数组中下标为i的内容
        }
         System.out.println("======================================================================");
         //遍历数组,与上一种方法比较理解
         for (int x:numbers){
             System.out.println(x);
        }
    }
 }

 

 

 

break和continue

  • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break在switch语句中防止case穿透)

  • continue语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。

 package struct;
 
 /**
  * @author IT_Jay
  * @date 2022/1/4 18:29
  */
 
 public class Demo17 {
     public static void main(String[] args) {
         //break跳出循环
         int i = 0;
         while (i<100){
             i++;
             System.out.println(i);
             if (i==30)
             break;
        }
         System.out.println("break跳出循环,并不是结束程序!!");
 
         //continue是符合条件时跳出一次循环
         int j = 0;
         while (j<100){
             j++;
             if (j%10==0){
                 System.out.println();
                 continue;
            }
             System.out.print(j+"\t");
        }
    }
 }

 

 

 

关于goto关键字

  • goto是Java的一个保留字,但是并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字身上,我们仍能看到些goto的影子——带标签的break和continue

  • “标签”是指后面跟着一个冒号的标识符,例如label:

  • 对于Java来说唯一用到标签的地方是在循环语句之前。而在循环语句之前设置标签的理由是:我们希望再其中另一个循环,有于break和continue关键字通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方。

 package struct;
 
 /**
  * @author IT_Jay
  * @date 2022/1/4 18:43
  */
 
 public class LabelDemo {
     public static void main(String[] args) {
         //打印101到150之间的质数
         //了解 标签continue
         outer:for (int i = 101; i < 150; i++) {
             for (int j = 2; j <i/2; j++) {
                 if (i%j==0){
                     continue outer;
                }
            }
             System.out.print(i+"\t");
        }
    }
 }

 

 

 

posted @ 2022-01-04 19:15  作困兽之斗  阅读(50)  评论(0)    收藏  举报