java笔记寒假05-循环

Posted on 2021-12-31 23:33  超喜欢小小  阅读(266)  评论(0)    收藏  举报

第五天

一、

1、for循环

 for(初始化;布尔表达式;更新){
    //代码语句
 }
 最有效、最灵活的循环结构
 for循环执行的次数是在执行前就确定的
 快捷键:
 eg: 100.for回车变成for (int i = 0; i < 100; i++) {
             
        }
  for( ; ;){
 
  } //死循环
         //0~100之间奇数的和
         int oddSum = 0;
         for (int i=1; i<=100;i=i+2){
             oddSum = oddSum + i;
        }
         System.out.println(oddSum);
 
         //0~100之间偶数的和
         int evenSum = 0;
         for (int b=2;b<=100;b=b+2){
             evenSum=evenSum+b;
        }
         System.out.println(evenSum);
 或者
     int oddSum = 0;
         int evenSum = 0;
         for (int i=0;i<=100;i++){
             if (i%2==0){
                 evenSum+=i;
            }else{
                 oddSum+=i;
            }
        }
         System.out.println(oddSum);
         System.out.println(evenSum);
 //for循环输出0~1000能被五整除的数,每行输出三个
         for (int i = 0; i < 1000; i++) {
             if (i % 5 == 0){
                 System.out.print(i+"\t");
            }
             if (i % 15 == 0){
                 System.out.println();//换行
                 //也可以是System.out.print("\n");
            }
             //print 输出完不会换行
             //println 输出完会换行
 //打印九九乘法表
         for (int i = 1;i<10;i++){
             for (int j = 1;j<=i;j++){
                 System.out.print(j+"*"+i+"="+i*j);
                 System.out.print("\t");
            }
             System.out.println();
        }
 1*1=1
 1*2=2 2*2=4
 1*3=3 2*3=6 3*3=9
 1*4=4 2*4=8 3*4=12 4*4=16
 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
 
         //正常版本
         int number[]={10,20,30};
 
         for (int i=0;i<3;i++){
             System.out.println(number[i]);//输出数组中的第i个数
        }
         //增强for循环   jdk5新引入
         for (int x:number){
             System.out.println(x);
        }

2、break、continue和goto

break用于强行退出循环,不执行循环中剩余的语句(也在switch语句中使用)(任何循环语句的主体部分,皆可用break;)

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

             int i = 0;
             while (i<100){
             i++;
             System.out.println(i);
             if (i==30){
                 break;
            }
            }
 //在i=30时,会跳出循环
 int i = 0;
         while (i<100){
             i++;
             if (i%10==0){
                 System.out.println();
                 continue;
            }
             System.out.print(i);
        }
 //输出结果
 123456789
 111213141516171819
 212223242526272829
 313233343536373839
 414243444546474849
 515253545556575859
 616263646566676869
 717273747576777879
 818283848586878889
 919293949596979899

goto关键字(了解)

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

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

java唯一用到标签的地方是循环语句前

 //打印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+" ");
        }
 
 //一个数如果不能以它本身的一半以内的数乘以另一个数得到,那么他就是质数
 //流程控制练习
         //打印三角形
         for (int i = 1; i <= 5; i++) {
             for (int j = 5;j >=i ; j--){
                 System.out.print(" ");
            }
           
              for (int j = 1; j <= i;j++){
System.out.print("*");
}
             for (int j =1;j<i;j++){
                 System.out.print("*");
            }
             System.out.println();
        }
      *
     ***
    *****
   *******
  *********