Java_控制流程
ifswitchwhilewhiledo whileforcontinuebreak结束外部循环结束当前循环使用boolean变量结束外部循环使用标签结束外部循环if
if(表达式1){
表达式2;
}
public class Demo {public static void main(String[] args) {int day = 6;if (day>=1 && day<=5)System.out.println("工作日"); else if (day==6 || day==7)System.out.println("周末");elseSystem.out.println("Error!");}}
易错点:
public class Demo {public static void main(String[] args) {boolean b = false;if (b);System.out.println("yes");}}
在第4行,if后面有一个分号; 而分号也是一个完整的表达式如果b为true,会执行这个分号,然后打印yes;如果b为false,不会执行这个分号,然后打印yes;即无论如何都会打印yes
switch
switch 语句相当于 if else的另一种表达方式
注: 每个表达式结束,都应该有一个break;
public class Demo {public static void main(String[] args) {int day = 6;switch(day){case 1:case 2:case 3:case 4:case 5:System.out.println("工作日");break;case 6:case 7:System.out.println("周末");break;default:System.out.println("Error!");}}}
while
while
条件为true时 重复执行只要while中的表达式成立,就会不断地循环执行public class Demo {public static void main(String[] args) {int i = 0;while(i<5){//使用while打印0到4 System.out.println(i);i++;}}}
do while
条件为true时 重复执行,至少会执行一次与while的区别是,无论是否成立,先执行一次,再进行判断public class Demo {public static void main(String[] args) {int i = 0;do{//使用do while打印0到4 System.out.println(i);i++; } while(i<5);}}
for
for循环,和while一样,只是表达方式不一样
public class Demo {public static void main(String[] args) {for (int j = 0; j < 5; j++) {//使用for打印0到4 System.out.println(+j);}}}
continue
后面的代码不执行,直接进入下一次循环
public class Demo {//打印单数 public static void main(String[] args) {for (int j = 0; j < 10; j++) {if(j%2==0) continue; //如果是双数,后面的代码不执行,直接进行下一次循环 System.out.println(j); //输出1 3 5 7 9}}}
break
结束循环
public class Demo {//打印单数 public static void main(String[] args) {for (int j = 1; j < 10; j++) {if(0==j%2) break; //如果是双数,直接结束循环 System.out.println(j); // 输出1}}}
结束外部循环
结束当前循环
break; 只能结束当前循环
使用boolean变量结束外部循环
借助boolean变量结束外部循环
需要在内部循环中修改这个变量值
每次内部循环结束后,都要在外部循环中判断,这个变量的值
public class Demo {public static void main(String[] args) {boolean breakout = false; //是否终止外部循环的标记for (int i = 0; i < 10; i++) {//外部循环for (int j = 0; j < 10; j++) {//内部循环System.out.println(i + ":" + j);if (0 == j % 2) {breakout = true; //终止外部循环的标记设置为truebreak;}}if (breakout) //判断是否终止外部循环break;}}}
使用标签结束外部循环
在外部循环的前一行,加上标签
在break的时候使用该标签
即能达到结束外部循环的效果
public class Demo {public static void main(String[] args) {//打印单数 outloop: //outloop这个标示是可以自定义的比如outloop1,ol2,out5for (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {System.out.println(i+":"+j);if(0==j%2) break outloop; //如果是双数,结束外部循环}}}}