1、循环控制语句
在Java中,循环的概念是,在满足特定的条件情况下,不停的重复执行指定的代码块
1.1、while循环
1.1.1、while循环的结构
while(布尔表达式){
循环代码块
}
1.1.2、while循环语句的特点
while循环,只要指定条件为真,则循环执行代码块,直到表达式的值为假则退出循环。
1.1.3、示例
int x = 0;
while(x < 10){
System.out.println(x);
x++;
}
运行结果:
1.1.4、面试题:用while语句求100以内所有奇数的和
int m = 1;
int sum = 0;
while(m <= 100){
sum = sum + m;
m = m + 2;
}
System.out.println(sum);
运行结果:
1.2、do-while循环
1.2.1、do-while循环语句的结构
do{
循环代码块
}while(布尔表达式);
1.2.2、do-while循环语句的特点
do-while循环首先会执行一次代码块,然后检查条件,如果条件为真,则重复循环代码块。
1.2.3、示例
int x = 0;
do{
System.out.println(x);
x++;
}while(x<10);
运行结果:
2.2.3、面试题:用do-while语句求1+2+3+…+100的和
int x = 1;
int s = 0;
do{
s = s + x;
x++;
}while(x<=100);
System.out.println(s);
}
运行结果:
2.3、while和do-while循环的比较
- while先测试条件,再决定是否进入循环;
- do-while总是先进入循环,再监测条件,再决定是否继续循环,do-while语句循环体至少执行一次
2.3.1、面试题:以下代码块的输出结果是什么?
int i = 88;
while(i<88){
System.out.println(i);
}
do{
System.out.println(i);
}while(i<88);
2.4、for循环
2.4.1、for循环语句结构
for(循环变量赋初值; 循环条件; 循环变量增值){
循环代码块
}
2.4.2、for循环语句的特点
如果已经提前确定循环运行的次数,可以使用for循环例如:
for(i=1;i<=100;i++)
sum=sum+i;
相当于:
i=1;
while(i<=100)
{ sum=sum+i;
i++;
}
2.4.3、示例
int sum = 0;
for(int i=0; i<=10; i++){
sum = sum + i;
}
System.out.println(sum);
2.4.4、面试题:用循环语句求1+2+...+999的和
int sum = 0;
for(int i=0; i<1000; i++){
sum = sum + i;
}
System.out.println(sum);
}
3、循环嵌套
3.1、什么是循环嵌套
一个循环体内又包含另一个完整的循环结构,称为循环嵌套
3.2、面试题:输出一个乘法表
for(int i=1;i<=9;i++){
for(int j=i;j<=9;j++){
System.out.print(j+"*"+i+"="+j*i + "\t");
}
System.out.println();
}
运行结果:
4、循环中止语句
4.1、break
break语句用来从循环体内跳出循环,即提前结束循环。
4.1.1、示例
for(int i=0; i<10; i++){
if(i == 5){
break;
}
System.out.println(i);
}
运行结果:
4.2、continue
结束本次循环,即跳过循环体中下面尚未执行的语句,接着进下一次是否执行循环的判断
4.2.1、示例
for(int i=0; i<10; i++){
if(i == 5){
continue;
}
System.out.println(i);
}
运行结果:
4.2.1:面试题:把100-200之间的不能被3整除的数输出
for(int i=100; i<=200; i++){
if(i%3 != 0){
System.out.println(i);
continue;
}
}
4.3、continue和break语句的区别
continue语句只是结束本次循环,而不是中止整个循环的执行。而break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。