(2)while条件循环语句
语法:
条件初始换化; while(条件判断){ • 循环体语句; • 条件变化; }
//求1-100的和,求1-100的偶数和,求1-100的奇数和 int sum=0; int sum1=0; int sum2=0; int i=0; while(i<=100){ sum+=i; if(i%2!=0){//奇数 sum1+=i; }else{ sum2+=i; } i++; } System.out.println(sum); System.out.println("奇数和"+sum1); System.out.println("偶数和"+sum2);
注意:while循环语句中的条件变化要注意写上;
for循环:是属于次数循环;1.确定循环次数 2.确定变量的变化范围
在已知变化范围的循环语句中,使用for更方便。
(3)do...while循环
语法:
do..while : 条件的初始化; do{ 循环体语句; 条件变化; }while(条件判断);
执行流程:
1.条件的初始化
2.执行循环体语句
3.执行条件变化
4.执行条件判断--->决定下一次循环是否能够执行
false:循环结构的结束
true :执行下一次循环体
注意:
1.do....while与while的区别:do.....while无论是否满足条件判断,至少执行一次循环体语句
2.三种循环结构都能够互相转换
(4)循环嵌套
循环嵌套 :
for(条件初始化;条件判断;条件变化){ 循环体语句; for(条件初始化;条件判断;条件变化){ 循环体语句; } 循环体语句; }
规律 : 外层循环的变量变化一次,内层循环的条件变量变化一轮
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ for(int i=1;i<=6;i++){ for(int j=1;j<=7;j++){ System.out.print("* "); } System.out.println(); }
/* 输出下列数值列表 1 10 100 1000 2 20 200 2000 3 30 300 3000 4 40 400 4000 5 50 500 5000 */ for(int i=1;i<=5;i++){ for(int j=0;j<=3;j++){ int d=pow(10,j)*i; System.out.print(d+"\t"); } System.out.println(); } public static int pow(int a,int b){ int sum=1; for(int i=1;i<=b;i++){ sum*=a; } return sum;
十五、break与continue关键字 :
break : 作用 : 打破,终止,结束 应用场景 : switch,循环 continue : 作用 : 结束当前循环,直接进入到下一次循环 应用场景 : 循环
注意 : break常配合死循环一起使用 int i =1; while(true){ if(i==5){ break; } System.out.println(i++); } 死循环 : 循环无法停止 编译器识别的死循环 : 一般配合break一起使用,让循环存在停止的机会 for(;;){} while(true){} //编译器识别的死循环 for(;;){ System.out.println("for....."); } while(true){} 代码层面的死循环 : 一般逻辑的问题|代码上实现错误 //欺骗编译器 boolean flag = true; while(flag){ System.out.println("while....."); }
注意 : 编译器能够识别的死循环后的代码无法执行-->不可达语句