控制语句(if / switch)
if (有单选择结构, 双选择结构, 多选择结构)
int age = (int)(Math.random() * 100); System.out.println("age is " + age + ", you're "); if (age < 15){ System.out.print("children, enjoy playing!"); }else if (age < 25){ System.out.print("teenager, enjoy studying!"); }else if (age <45){ System.out.print("adult, enjoy making money!"); }else if (age <85){ System.out.print("senior people, enjoy life!"); }
switch (多选择结构)
switch一般只用于多值的判断,而if else一般用于区间的判断,当然也可以用于多值的判断。
到达"break"程序结束,所以下面例子1,2,3都print同一句话。
swith一般判断条件的值为int, java 1.7以后也可以用string, if else可以完全替代switch。
int month = (int)(Math.random() * 12 + 1); System.out.println("Month: " + month); switch (month){ case 1: case 2: case 3: System.out.println("It is Spring now!"); break; case 4: case 5: case 6: System.out.println("It is Summer now!"); break; case 7: case 8: case 9: System.out.println("It is Autumn now!"); break; case 10: case 11: case 12: System.out.println("It is Winter now!"); break; }
循环语句 while, for , do while
while:
//while练习, 循环累加到100 int i = 0; int sum = 0; while(i <=100){ sum += i; i++; }
System.out.println(sum);
一定要写 i++, 否则每一次循环i的值没有改变,判断条件永远满足,程序会一直循环下去,最终陷入死循环。
for: (和while相比,for的初始值,判断条件,步进迭代全部写在了一起)
//for练习, 循环累加到100 int sum = 0; for (int i = 1; i<=100; i++){ sum += i; } System.out.println(sum); } /** *程序执行步骤 *1. 执行初始化语句: i= 1; *2. 判断:i <= 100; *3. 执行循环体: sum+=1; *4. 步进迭代: i ++ *5. 回到第二步继续判断 */
写个死循环非常简单,让判断条件一直成立就可以
for(;;){ System.out.println("循环到永远") } //也可以 while(true){ System.out.println("循环到永远") }
嵌套循环
本质就是在一个循环里面,再套一个循环. 一般就是套两层.
//嵌套循环练习, 打印99乘法表 for (int i = 1; i<=9; i++){ for (int j = 1; j<=i; j++){ System.out.print(j + "*" + i + "= " +(i*j) +"\t" ); //先把一行打印出来
} System.out.println(); //换行
} 输出结果 1*1= 1 1*2= 2 2*2= 4 1*3= 3 2*3= 6 3*3= 9 1*4= 4 2*4= 8 3*4= 12 4*4= 16 1*5= 5 2*5= 10 3*5= 15 4*5= 20 5*5= 25 1*6= 6 2*6= 12 3*6= 18 4*6= 24 5*6= 30 6*6= 36 1*7= 7 2*7= 14 3*7= 21 4*7= 28 5*7= 35 6*7= 42 7*7= 49 1*8= 8 2*8= 16 3*8= 24 4*8= 32 5*8= 40 6*8= 48 7*8= 56 8*8= 64 1*9= 9 2*9= 18 3*9= 27 4*9= 36 5*9= 45 6*9= 54 7*9= 63 8*9= 72 9*9= 81
//嵌套循环练习, 打印99乘法表