for循环
- for循环的格式:
for(初始化表达语句;判断条件语句;控制条件语句){
循环体语句
} - 注意事项:
- 判断语句中的结果不是false就是true;
- 循环语句如果是一条语句大括号可以省略,多条语句则不能省略。
- 执行流程:
- 1、先进行初始化表达语句(初始化语句只执行一次)
- 2、执行判断条件语句,true进入循环体,false结束循环
- 3、执行循环体
- 4、执行控制语句
- 5、再进入第2步
- 例题1:
public class HomeWork {
static boolean foo(char c){
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i=0;
for(foo('A');foo('B')&&(i<2);foo('C')){
i++;
foo('D');
}
}
}
执行结果为 ABDCBDCB
解析:进入for循环,先执行初始化表达语句foo(‘A’),所以先打印A,再执行判断条件语句,打印B,此时i为0,进入循环,i变为1,打印D,再打印C。循环第二遍,执行条件判断语句,打印B,1<2,进入循环体,i变为2,打印D,再打印C。循环第三遍,执行条件判断语句,打印B,i为2无法进入循环,循环结束。
while循环
- while 循环的格式:
while(条件判断语句){
循环语句;
} - 执行过程:
- 1、执行条件判断语句,false循环结束,true进入循环
- 2、执行循环语句
- 返回第1步
- 例题2:统计水仙花数的个数
public class HomeWork {
public static void main(String[] args) {
int i=100;
int count=0;//记录水仙花数的个数
while (i<1000){
int bai = i / 100;
int shi = i / 10 % 10;
int ge = i % 10;
if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge){
System.out.println(i);
count++;
}
i++;
}
System.out.println("水仙花的个数:"+count);
}
}
do while循环
- do while循环的格式:
初始化条件语句
do{
循环体语句;
控制条件语句;
}
while(判断条件语句);//注意此分号不能省略 - 执行步骤:
- 1、执行初始化语句;
- 2、执行do中的语句;
- 3、执行判断条件语句,结果为true继续循环,结果为false退出循环。
- 使用do while循环需要注意的事项:
- 使用do while循环会先执行一次循环体中的语句,再进行while中的条件判断;
- while条件判断语句后面的分号不能忘。
- 例题3:打印输出10个Hello World!
public class HomeWork {
public static void main(String[] args) {
int i=0;
do{
System.out.println("Hello World!");
i++;
}while (i<10);
}
}
控制跳转语句
- 通俗的讲,当满足某个条件,且使用的是break语句,则将退出循环,如果使用的是continue则将跳过该循环,执行下一步。
- 例题4:
for(int x=1; x<=10; x++) {
if(x%3==0) {
//在此处填写代码
}
System.out.println(“Java基础班”);
}
我想在控制台输出2次:“Java基础班“
想输出2次,那么在当i==1和i==2时不满足if中的条件会执行输出语句,所以在循环到第三次i==3的时候跳出循环即可
填写的代码为 break;
我想在控制台输出7次:“Java基础班“
在i==3,i==6,i==9时恰好满足x%3==0,所以跳过这三次循环即可
填写的代码为 continue;
我想在控制台输出13次:“Java基础班“
填写的代码为 System.out.println(“Java基础班”);