一 while循环
while循环:
语法结构:
初始值;
while(循环条件){
//循环操作代码
迭代部分
}
执行规律:
1)首先执行1次初识值代码
2)判断循环条件,如果循环条件为true,就执行{}里面的循环操作代码和迭代部分的代码,迭代完之后,继续返回判断循环条件,根据循环条件的结果决定是否继续执行循环操作
如果循环条件为false,则结束整个while循环结构,继续往下执行while循环结构之后的代码
注意:
1)初始值代码只执行一次
2)循环条件不管写的多么简单或者多么复杂,结果都只能是布尔值,要么为true要么为false
3)迭代部分的作用是改变初始值,让循环条件在某一时刻不再满足,从而结束整个while循环结构
应用:从键盘输入一个数,判断它是一个几位数,并倒序输出每位数
这里用while不断循环直至输入值变为0为止。
public static void main(String[] args) {
Scanner w = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int number = w.nextInt();
int sum = 0;
int count = 0;
while (number!=0) {
int a = number/10;
int b = number%10;
number = a;
System.out.print(b+" ");
count += b;
sum++;
}
System.out.println("位数之和为:"+count);
System.out.println("它是一个" + sum + "位数");
}
二 do while循环
语法结构:
初始值l;
do{
循环操作
迭代部分
}while(循环条件);
执行规律:
1)首先执行1次初始值代码
2)进入{}里执行1次循环操作和迭代部分,执行完之后进行条件判断,如果条件为true,返回{}里执行循环操作和迭代部分,
如果条件为false,则结束整个do-while循环结构,继续往下执行do-while循环结构后面的代码
注意:
1)初始值只执行1次
2)循环条件不管写的多么简单还是复杂,都只能是布尔值,要么为true,要么为false
3)do-while循环是先执行一次循环操作,再判断循环条件,因此,如果第一次判断循环条件就不满足,循环操作也会执行一次(do-while循环里的循环操作至少会执行一次)
三 for循环
语法结构:
for(初始值;循环条件;迭代部分){
循环操作
}
执行规律:
1)首先执行1次初始值代码
2)判断循环条件是否成立,如果循环条件为true,则执行{}里的循环操作代码,执行循环操作后,进行迭代,迭代完再进行循环条件判断,根据循环条件的结果决定是否继续执行循环操作
如果循环条件为false,则结束整个for循环结构,继续往下执行for循环结构之后的代码
注意:
1)初始值只执行1次
2)循环条件只能是布尔值,要么为true,要么为false
3)如果第一次判断循环条件就不满足,那么循环操作一次都不会执行
四 循环嵌套
循环嵌套即外层循环执行一次,内层循环需要完全执行一遍。
最经典也是最为简单的应用即是输出99乘法表
这里外层循环用于控制行数,内层循环用于控制列数
public static void main(String[] args) {
// 使用双重for循环输出九九乘法表
//外层循环变量控制行数 九九乘法表一共有9行
for (int i = 1; i <= 9; i++) {
//内层循环变量控制每一行的列数 九九乘法表每一行的列数与行号相同,也就是j的取值范围从1到对应的行号
for (int j = 1; j <= i; j++) {
//每一个乘法式子中一个因数为i,另一个因数为j
System.out.print(j + "*" + i + "=" + (i * j) + "\t");
}
//换行
System.out.println();
}
}
还有一些应用在输出各种星号的嵌套循环(可见我另外一篇博客)
五 break语句
作用场景:switch选择结构和循环结构中
作用:
在switch选择结构中遇到break,则结束整个switch选择结构,执行switch选择结构后面的代码
在循环结构中遇到break,则结束整个循环结构后续所有操作,执行循环结构后面的代码
注意:
break一般结合if选择语句一起使用
应用:输出100以内的所有素数
这里break和if语句一起使用,当这个数可以整除大于1并且小于自身的数时,break推出最近的for循环,则 i 和 j 不等不会输出此数。
public static void main(String[] args) {
int i,j;
for(i=2;i<=100;i++){
for(j=2;j<i;j++){
if(i%j == 0 ){
break;
}
}
if(j == i){
System.out.println(i);
}
}
}
六 continue和return语句
continue:
作用场景:
只能作用在循环结构中
作用:
结束当前(本次)循环后续操作,继续执行下一次循环操作
注意:
continue一般结合if语句一起使用
return:
作用场景:
作用在方法中
作用:
结束方法并返回结果