java中一共有三种循环控制语句,分别是for循环,while循环和do…while循环。
for循环
定义格式:for(初始条件; 条件判断; 循环控制){}
执行步骤:(1)初始条件
(2)判断条件是否成立,若成立,则执行循环体内部的内容,否则结束循环
(3)循环体执行结束后,循环变量变化,进行第(2)步
例子:
需求:在控制台输出所有的”水仙花数”
所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
public class ForDemo2 {
public static void main(String[] args){
int count=0; //统计水仙花数的个数
for(int i=100;i<1000;i++){
int ge=i%10;
int shi=i/10%10;
int bai=i/100;
if(i==ge*ge*ge+shi*shi*shi+bai*bai*bai){
System.out.println(i);
count++;
}
}
System.out.println(count);
}
}
while循环
语法格式:初始值,while(条件判断语句){循环体,循环条件控制}
与for循环类似,都是由初始条件,循环条件和条件判断组成,只不过初始条件和条件判断语句不再放在括号里面。
do…while循环
语句格式 do{
}while(条件判断)
特点:循环体内的语句至少执行一次
for,while ,do…while比较
(1)do…while语句循环体至少执行一次,而for和while循环都是先判断条件是否成立,再决定循环体是否执行。
(2)for循环因为循环变量在括号内(当然也可以变量放在循环的外面),循环结束后,变量可以及时的在内存中消失,提高了内存的利用率。
(3)如果已知循环次数,使用for循环。否则使用while循环。
例子:在控制台打印九九乘法表
11=1
12=2 22=4
13=3 23=6 33=9
。。。。
for (int i = 1; i<= 9; i++) {
for(int j=1; j<=i; j++){
System.out.println(j+"*"+i+"="+(j*i)+'\t');
}
}
控制循环跳转语句
1.break语句
break为跳出当前循环。若为多重循环,则跳出离它最近的那层循环。
例如:
public static void main(String[] args){
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
if(j==2){
break;
}
System.out.println(i+"."+j);
}
}
}
这里将输出1.1 2.1 3.1
如果想使用break跳出外层循环怎么办?可以给循环增加标号
例如:
public static void main(String[] args){
outer: //给外层循环定义的标号
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
if(j==2){
break outer;
}
System.out.println(i+"."+j);
}
}
}
这里将输出 1.1
continue语句
continue语句只在循环中使用。跳出本次循环,忽略本次循环剩下的语句,执行下一步操作
例如:
public static void main(String[] args){
for(int i=1;i<=3;i++){
for(int j=1;j<=3;j++){
if(j==2){
continue;
}
System.out.println(i+"."+j);
}
}
}
输出:1.1 1.3 2.1 2.3 3.1 3.3
3.return语句
return并不是专门结束循环的,而是结束一个方法。无论有多少层循环,使用return都可以结束。