分支结构--第一种选择结构:if、if ...else、if ...else if ... else
public class TestDemo{ public static void main(String args[]){ double score = 91.0; if(score < 60.0){ System.out.println("成绩不太行!"); }else if(score >= 60 && score <= 90){ System.out.println("中等成绩!"); }else if(score > 90 && score <=100){ System.out.println("优秀成绩!"); }else{ System.out.println("这河里吗?"); } } }
优秀成绩!
分支结构----第二种选择结构:对于多数值判断,可以通过Switch完成,基本语法如下:
switch(整数 | 字符 | 枚举 | String){ case 内容 : { 内容满足时执行 ; [break ;] } case 内容 : { 内容满足时执行 ; [break ;] } case 内容 : { 内容满足时执行 ; [break ;] }... [default : { 内容都不满足时执行 ; [break ;] }] }
注:if语句可以判断布尔类型,而Switch只能判断内容
public class TestDemo{ public static void main(String args[]){ int ch = 1; switch (ch){ case 2:{ System.out.println("内容是2"); break; } case 1:{ System.out.println("内容是1"); break; } case 3:{ System.out.println("内容是3"); break; } default: { System.out.println("没有匹配内容"); break; } } } }
内容是1
switch使用字符串判断
public class TestDemo{ public static void main(String args[]){ String str = "HELLO"; switch (str){ case "HELLO":{ System.out.println("内容是HELLO"); break; } case "hello":{ System.out.println("内容是hello"); break; } case "mldn":{ System.out.println("内容是mldn"); break; } default: { System.out.println("没有匹配内容"); break; } } } }
内容是HELLO
循环结构----while循环:while和do...while结构
while:先判断后执行,可能一次都不执行
do...while:先执行后判断,至少执行一次
例.while循环求1到100的和
public class TestDemo{ public static void main(String args[]){ int sum = 0; int current = 1; while(current <= 100){ sum += current; current++; } System.out.println(sum); } }
5050
例.do...while循环求1到100的和
public class TestDemo{ public static void main(String args[]){ int sum = 0; int current = 1; do{ sum += current; current++; }while(current <= 100); System.out.println(sum); } }
5050
循环结构----for循环:明确知道循环次数,其语法如下:
for(循环初始条件;循环判断;循环条件变更){ 循环语句 ; }
例.利用for循环实现1-100的累加
public class TestDemo{ public static void main(String args[]){ int sum = 0; for (int current = 1; current <= 100; current++){ sum += current; } System.out.println(sum); } }
5050
while循环和for循环适用条件:
while:不确定循环次数,但是确定循环结束条件的情况下使用;
for:确定循环次数的情况下使用
例.输出乘法口诀表
public class TestDemo{ public static void main(String args[]){ for(int x = 1; x <= 9; x++){ for(int y = 1; y <= x; y++){ System.out.print(x + "*" + y + "=" + (x*y) + "\t"); } System.out.println(); } } }
1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
循环结构----循环控制
continue:退出本次循环
break:退出整个循环
1.观察continue
public class TestDemo{ public static void main(String args[]){ for(int x = 1; x <= 10; x++){ if (x==5){ continue; } System.out.print("x= " + x + " "); } } }
x= 1 x= 2 x= 3 x= 4 x= 6 x= 7 x= 8 x= 9 x= 10
2.观察break
public class TestDemo{ public static void main(String args[]){ for(int x = 1; x <= 10; x++){ if (x==5){ break; } System.out.print("x= " + x + " "); } } }
x= 1 x= 2 x= 3 x= 4