一、判断语句:if和switch
if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; }…
else { 语句体n+1; }
switch(表达式) { case 值1: 语句体1; break; case 值2: 语句体2; break; …
default: 语句体n+1; break; }
执行流程
– 首先计算出表达式的值
– 其次, 和case依次比较, 一旦有对应的值, 就会执行相应
的语句, 在执行的过程中, 遇到break就会结束。
– 最后, 如果所有的case都和表达式的值不匹配, 就会执行
default语句体部分, 然后程序结束掉。
switch表示这是switch语句
• 表达式的取值: byte,short,int,char
• JDK5以后可以是枚举
• JDK7以后可以是String
– case后面跟的是要和表达式进行比较的值
– 语句体部分可以是一条或多条语句
– break表示中断, 结束的意思, 可以结束switch语句
– default语句表示所有情况都不匹配的时候, 就执行该处的
内容, 和if语句的else相似。
二、循环语句:for, while, do…while
do…while循环语句格式:
– 基本格式 do { 循环体语句; }while((判断条件语句);
– 扩展格式 初始化语句; do { 循环体语句; 控制条件语句; } while((判断条件语句);
while循环语句格式:
– 基本格式 while(判断条件语句) { 循环体语句; }
– 扩展格式 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; }
for循环语句格式: – for(初始化语句;判断条件语句;控制条件语句) { 循环体语句; }
三、跳转控制语句
• break 退出当前循环 • continue 退出本次循环
----------------------------------------------------------------------------------------------------------------------
以下是一些使用案例
1.for打印1到9
public class OperatorDemo { public static void main(String[] args) { for (int i = 0; i < 10; ++i){ System.out.println(i); } } }
2.for打印hello 10 次
package FlowControl.fordemo; public class Demo1_10Ci { public static void main(String[] args) { for (int x = 0;x < 10;x++) { System.out.println("hello world!"); } } }
3.switch 根据输入(n)打印输出(星期n)
public class SwitchDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int weekday = sc.nextInt(); // weekday = 0; switch (weekday) { case 100: System.out.println("星期:1"); break; case 200: System.out.println("星期:2"); break; default: System.out.println("输入错误"); break; } } }
执行返回:
A:首先计算表达式的值
B:拿着这个计算出来的值,依次和case后面的值进行比较
4.
package FlowControl.whiledemo; /* * for循环和while循环有没有区别呢? * for循环结束后,初始化的变量就不能被使用了。而while循环结束后,初始化的变量还可以继续使用。 * * 推荐使用循环的顺序: * for -- while -- do...while * 虽然三种循环可以做相同的事情,但是它们还是有区别的: * A:do...while循环至少执行一次循环体 * B:for和while循环必须判断条件成立才可以执行循环体 */ public class WhielDemo2 { public static void main(String[] args) { for(int x = 1; x<=3;x++) { System.out.println("hello world"); } // System.out.println("x:"+x); int y = 1; while (y<=3) { System.out.println("爱生活"); y++; } System.out.println("Y:"+y); } }
5.break和continue
package FlowControl.break_continue;
/*
* break:结束整个循环(中断的意思)
* 应用场景:switch语句和循环中
*
* continue:结束本次循环,继续下一次的循环(继续的意思)
* 应用场景:循环中(不能用于switch)
*/
public class BreakAndContinue {
public static void main(String[] args) {
for (int i = 1;i<=5;i++) {
if(i==3) {
System.out.println(i);
break;
// continue;
}
System.out.println("hello world");
}
}
}
break输出如下:
continue的输出如下: