按照结构划分语句有三种形式:
1、顺序结构:按前后顺序执行的语句体。
2、分支结构:选择执行一部分语句体。
3、循环结构:循环执行一块语句体。
for循环语句
语法:
for(<初始化循环因子>;<布尔型循环条件>;<循环因子步进>){
当循环因子满足布尔型循环条件时执行的语句
当前一次循环执行完成后循环因子步进执行,
然后回到循环体首进行下一次循环
}
break用于结束其所在当前循环语句块程序的运行,但不会影响其所在语句块外部代码的执行。break可以用在if语句中,但是if语句必须在循环或switch分支语句中。
return只结束其所在方法的运行。
continue用于结束当前循环进入下次循环。
public class LoopTest { public static void main(String[] args) { for(int i=0;i<3;i++){ if(i==1){ break; } System.out.println("in code"); } System.out.println("out code"); } }
运行结果:in code
out code
public class LoopTest { public static void main(String[] args) { for (int i = 0; i < 3; i++) { if (i == 1) { return; } System.out.println("in code"); } System.out.println("out code"); } }
运行结果:in code
public class LoopTest { public static void main(String[] args) { for (int i = 0; i < 3; i++) { if (i == 1) { continue; } System.out.println("in code"+i); } System.out.println("out code"); } }
运行结果:in code0
in code2
out code
死循环:
public class Afor1 { public static void main(String[] args) { for(int i=0;i<100;i++){ System.out.println(i); } // System.out.println(i); 这行代码放在这个位置 会报错,因为 局部变量的作用范围在 for循环里 /* * for 死循环 */ for(int i=0;i<0;i--){ System.out.println("xxxxx"); } } }
简洁版:
public class Afor2 { public static void main(String args[]){ int i = 0; //把i 局部变量的作用范围进行提升 for(;i<100;i++){ System.out.println("qqqqqq"+i); } System.out.println("wwwwww"+i); /* * 死循环 简洁 */ for(;;){ System.out.println("++++"); } } }
while循环语句:
语法:
while(<布尔型循环条件>){
当布尔型循环条件的值为真(true)时,执行的语句,
直到布尔型循环条件的值为假(false)时,退出循环;
}
特点:先判断,在执行。
do-while循环语句:
语法:
do{
执行语句,然后判断布尔类型循环条件的值,
如果为真(true),则继续循环,否则退出循环;
}while(<布尔型循环条件>);
特点:先执行,再判断,至少会执行一次。
循环嵌套:
循环与循环之间可以存在嵌套关系,以使得数据以二维(行与列)的形式组织在一起。如果外层循环的次数为n,内层循环的次数为m,则嵌套循环将执行n × m次。
public class LoopTest { public static void main(String[] args) { for(int a=0;a<2;a++){ for(int i=0;i<3;i++){ if(i==1){ break; } System.out.println("in code 11"); } System.out.println("in code 1"); } System.out.println("out code"); } }
运行结果:in code 11
in code 1
in code 11
in code 1
out code