if(关系表达式) { 语句体; }
if(关系表达式) { 语句体1; }else { 语句体2; }
if(关系表达式1) { 语句体1; }else if(关系表达式2) { 语句体2; } ... }else if(关系表达式n) { 语句体n; }else { 语句体n+1; }
匹配到哪一个case,就从哪一个位置开始向下执行,直到遇到break或者整体执行结束。
switch(表达式) { case 常量1: 语句体1; break; case 常量2: 语句体2; break; ... default: 语句体n+1; break; }
【注意】
byte
、short
、int
、char
、enum
、String
(JDK1.7以后)
在switch语句中,如果case后面不写break,将出现穿透现象,也就是不再判断下一个case的值,直接向后运行,直到遇到break,或者整体switch执行结束。
public static void main(String[] args) { int i = 3; switch (i) { case 1: System.out.println("case 1"); break; case 2: System.out.println("case 2"); case 3: System.out.println("case 3"); case 4: System.out.println("case 4"); case 5: System.out.println("case 5"); break; case 6: System.out.println("case 6"); default: System.out.println("default"); } }
输出:
case 3
case 4
case 5
for(初始化表达式; 布尔表达式; 步进表达式) { 循环体; }
public static void main(String[] args) { int sum = 0; for (int i = 1; i < 100; i++) { if (i % 2 == 0) { sum += i; } } System.out.println("sum:" + sum); }
while(布尔表达式) { 循环体; 步进表达式; }
public static void main(String[] args) { int i = 1; int sum = 0; while (i <= 100) { sum += i; i++; } System.out.println("sum:" + sum); }
do{ 循环体; 步进表达式; }while(布尔表达式)
while和do-while循环的循环变量定义在外部,所以在循环外面依然可以使用;
【注意】循环可以嵌套使用,但应该小心使用循环变量。
break
continue
结束本次循环,进入下一次循环。
也就是循环中的条件永远为true,死循环是永不结束的循环。例如: while(true){}
。
所谓嵌套循环,是指一个循环的循环体是另一个循环。比如for循环里面还有一个for循环,就是嵌套循环。总 共的循环次数=外循环次数*内循环次数。
public static void main(String[] args) { // 外层循环打印行 for (int i = 1; i < 10; i++) { // 内层循环打印每一行的列 for (int j = 1; j <= i; j++) { System.out.print(j + "x" + i + "=" + j * i + "\t"); } System.out.println(); } }