Java流程控制3

Java流程控制3

For循环

  • 虽然所有的循环结构都可以用 while 或者 do...while 表示,但是 Java 提供了另外一种语句 —— for 循环,使一些循环结构变得简单。
  • for 循环语句是支持迭代的一种通用结构,是最有有效、最灵活的循环结构。
  • for 循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化; 布尔值表达式; 更新){
    //代码语句
}

快捷键

//快捷键100.for
for (int i = 0; i < 100; i++) {
            
        }

代码示例:

int a = 1;//初始化条件

        while (a<=100){
            System.out.println(a);
            a += 2;//迭代
        }
        System.out.println("While 循环结束\n");
        //快捷键100.for
        for (int i = 0; i < 100; i++) {
            System.out.println("100.for");
        }
        for (int i = 1; i<=100; i++){
            System.out.println(i);
        }
        System.out.println("for 循环结束");
        for ( ; ; ){
            //死循环
        }
关于 for 说明一下几点:
/*最先执行初始化步骤,可以初始话一种类型,可初始化一个或多个循环变量,也可以是空语句。
然后检索布尔表达式的值。如果为 true,循环被执行。如果为 false,循环终止,开始执行下面的语句。
执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
再次检查布尔表达式的值,执行以上的操作
*/

Demo02:0~100之间的奇数和与偶数和

代码:

int oddsum = 0;
        int evensum = 0;

        for (int i = 0; i <= 100; i++) {
            if (i%2!=0){//奇数
                oddsum+=i;
            }else {//偶数
                evensum+=i;
            }
        }
        System.out.println("奇数的和"+oddsum);
        System.out.println("偶数的和"+evensum);

Demo03:1~1000之间能被 5 整除的数,并且每行输出 3 个

for (int i = 0; i < 100; i++) {
            if (i%5==0){
                System.out.print(i+"\t");
            }
            if (i%(5*3)==0){
                System.out.println();
                //or System.out.print("\n");
            }
            //println 输出完换行
            //print   输出完不换行

Demo04:九九乘法表

for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+(j*i)+"\t");
            }
            System.out.print("\n");
        }
        //将大项目化小

增强 for 循环

  • Java5 引入了一种主要用于数组或集合的增强型 for 循环
  • Java 增强 for 循环语法如下:
for(申明语句 : 表达式){
    //代码语句
}
int[] numbers = {10,20,30,40,50};//定义一个数组
        for (int i = 0; i < 5; i++) {
            System.out.println(numbers[i]);
        }
        System.out.println("------------------------");
        //遍历数组的元素
        for (int x:numbers){
            System.out.println(x);
        }

break & continue

  • break 在任何循环语句的主体,均可用 break 控制循环。break 用于强行退出循环不执行循环中剩余语句。(break 语句也在 switch 语句中使用)。
int i = 0;
        while (i<100){
            System.out.println(i);
            i++;
            if (i==30){
                break;//在30的时候跳出循环
            }
        }
  • continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

    int i = 0;
            while (i<100){
                i++;
                if (i%10==0){
                    System.out.println();
                    continue;
                }
                System.out.print(i+"\t");
            }
    
  • 关于 goto 关键字

    • goto 关键字很早就在程序设计语言中出现。尽管 goto 仍是 Java 保留字,但并未在语言中正式使用。Java 没有 goto。然而,在 break 和 continue 这两个关键字的身上,我们仍能看出一些 goto 的影子——带标签的 break 和 continue。
    • ”标签“是指后面跟一个冒号的标识符,例如:label
    • 对 Java 来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套一个循环,由于 break 和 continue 关键字通常只中断当前循环,但随同标签使用,它会中断到存在标签的地方。

    label标签使用,例如下:

public static void main(String[] args) {
        //打印101~150之间的质数
        //不建议使用!
        int count = 0;
        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 @ 2021-04-14 00:02  seveN1foR  阅读(31)  评论(0编辑  收藏  举报