循环的三种结构
for循环:
for(初始化表达式;布尔表达式;步进表达式){
循环体;
}
例:
public class Demo1For{
public static void main(String[] args){
for(int i = 1;i <= 5;i++){
System.out.println("对不起,我错了" + i);
}
System.out.println("程序结束");
}
}
while循环:
初始化表达式;
while(条件判断){
循环体;
步进表达式;
}
例:
public class Demo2While{
public static void main(String[] args){
int i = 1;
while(i <= 5){
System.out.println("对不起,我错了" + i);
i++;
}
System.out.println("循环结束");
}
}
do-while循环:
初始化语句;
do{
循环体;
步进语句;
}while(条件判断);
例:
public class Demo3DoWhile{
public static void main(String[] args){
int i = 1;
do{
System.out.println("我错了" + i);
i++;
}while(i <= 5);
}
}
注意事项:
1.如果条件判断从来没有满足过,那么for和while循环将会执行0次,但是do-while循环至少会执行一次。(do-while 先执行一次 与 条件判断的真假无关)
2.for循环的变量只有在循环内部才能使用,但是while和do-while的初始化语句变量可以在循环之后继续使用。
break和continue的区别
break作用:在循环中起到打断作用,一旦执行,后续循环会被打断,立刻结束。
例:
public class DemoBreak{
public static void main(String[] args){
for(int i = 0; i <= 10; i++){
//需要在第四次打断,不需要后续
if(i == 4){ //如果这是第四次
break; //立即打断,跳出循环
}
System.out.println("hello" + i);
}
}
}
continue作用:在循环中一旦执行,立刻跳过这次循环剩余内容,开始下一循环(跳过指定的一次循环,但后续循环还会继续)。
例:
public class DemoContinue{
public static void main(String[] args){
for(int i = 1; i <= 10; i++){
//需要在第四次跳过
if(i == 4){ //如果这是第四次
continue; //跳过本次循环,开始下一次循环
}
System.out.println("hello" + i);
}
}
}
嵌套循环练习
嵌套循环:是指一个循环的循环体是另一个循环,不如for循环里还有一个for循环,就是嵌套循环,循环次数 = 外循环次数 * 内循环次数。
例:打印九九乘法表
需要输出的结果:
public class MultiplicationTip{
public static void main(String[] args){
for (int i = 1; i <= 9 ; i++){ //外循环,i控制循环的行数
for(int j = 1; j <= i; j++){ //内循环,j控制循环的列数
//内循环一遍之后,外循环一次
System.out.printf("%-2dx%2d = %-4d",j,i,j*i);
//%d用来表示输出时,替换整型输出和浮点型输出的占位符。
//%d中间的-2表示左对齐占2字符,2则是右对齐。
}
System.out.println();
}
}
}
输出结果: