1、程序流程

1.1 结构化程序有三种流程结构:

  • 顺序结构:当没有任何流程控制语句时,程序默认的执行顺序,从上而下,一行一行执行;

  • 选择结构(分支结构):如果条件M为真,执行A,否则执行B

  • 循环结构:若条件M为真,则执行循环体代码,执行完一次后,在判断条件是否为真,为真则继续重复之前的过程,直到条件M为假,退出循环。

选择流程控制语句 : if…else语句

  1. //多分支的if语句
  2. if(判断条件1) {
  3. 当条件1成立时,代码执行
  4. }else if(条件判断2){
  5. 条件2成立时,执行本代码
  6. }...
  7. else{
  8. 以上条件都不成立时,执行此代码
  9. }
  10. //代码实例
  11. int score = 72;
  12. if(score<60 ){
  13. System.out.println("学渣泪在流");
  14. }else if(score>= 60 && score<70){
  15. System.out.println("学弱打酱油");
  16. }else if(score<80){
  17. System.out.println("学民好害羞");
  18. }else if(score<90){
  19. System.out.println("学神要加油");
  20. }else{
  21. System.out.println("学霸实在牛");
  22. }
  23. //if语句嵌套
  24. int week=5;
  25. int weather=25;
  26. if(week==6 || week==7){
  27. if(weather>30){
  28. System.out.println("游泳")
  29. }else{
  30. System.out.println("爬山")
  31. }
  32. }else{
  33. if(weather>18 && weather<25){
  34. System.out.println("谈业务")
  35. }else{
  36. System.out.println("查资料")
  37. }
  38. }

switch….case语句

switch(变量){
case 数值1:
代码; 当变量的值和数值1相等时,执行
case 数值2:
代码; 当变量的值和数值2相等时,执行
……
default:
代码; 当变量的值和以上所有case后的数值都不相等时,执行
break;
}

  1. int day1 = 1;
  2. switch(day1){
  3. case 1:
  4. System.out.println("星期一");
  5. break;
  6. case 2:
  7. System.out.println("星期二");
  8. break;
  9. case 3:
  10. System.out.println("星期三");
  11. case 4:
  12. System.out.println("星期四");
  13. case 5:
  14. System.out.println("星期五");
  15. break;
  16. default:
  17. System.out.println("周末");
  18. break;
  19. }
  20. //break 跳出switch...case语句,提前终止switch
  21. /* 1、case 后可以有break,也可以没有,没有break时,会造成case语句贯穿
  22. 执行case语句时,如果遇到break,switch语句就结束了;如果没有遇到break,
  23. 程序继续向下执行,直到遇到break为止;
  24. 2、case后一定是一个数值,并且数值的类型一定和switch后变量类型一致,
  25. case后的数值不能重复
  26. 3、switch语句后,只支持:byte、short、int、char、String(1.7版本后)类型
  27. */
  28. // if 和 switch的区别:if可以判断相等关系,区间范围; switch只能判断相等关系

循环流程控制语句: 1、while循环;2、do…while循环;3、for循环;

1、while循环

while(判断条件){
循环体;先进行条件判断,条件成立,执行循环体;继续进行条件判断,只要条件成立
就继续重复之前的操作,直到条件不成立为止;
}
代码示例: int i =1;
while(i<=10){
System.out.println(i);
i++;
}

2、do…while循环

do{
循环体;
}while(判断条件);

代码示例: do{
System.out.println( i );
i++;
}while(i>10);
// while和do… while的区别: while是先判断在执行; do…while是先执行在判断,至少执行一次;

3、for循环

  1. for(初始值; 判断条件; 变化规则 ){<br /> 循环体; //1、初始化;2、条件判断,成立;执行循环体;迭代变化; .....重复2<br />}<br />//值确定了循环次数时,使用for循环; 不确定循环次数时,使用while循环<br />代码示例:
  1. for(int i=1;i<=10;i++){
  2. if(i==5){
  3. //break;
  4. continue;
  5. }
  6. System.out.println(i);
  7. }
  8. //计算100以内所有偶数相加的和
  9. int result = 0;
  10. for(int i=1;i<100;i++){
  11. if(i%2 == 0){
  12. result += i;
  13. }
  14. }
  15. System.out.println("100以内偶数和:"+result);
  16. //break 跳出for循环,结束for循环
  17. //continue 跳出当前次的循环,继续执行下一次循环
  18. int result2 = 0;
  19. for(int i=1;i<100;i++){
  20. if(i%2 != 0){
  21. continue;
  22. }
  23. result2 += i;
  24. }
  25. System.out.println(result2);

循环进阶—-嵌套循环: 可以由上述3种基本循环任意嵌套、组合,只要单独每 个循环语法正确即可

外层循环多用来控制次数,且内外层的循环变量不要重复;外层循环变量变化一次,内层循环变化一遍

  1. while(循环条件){ do{
  2. //循环操作 //循环操作1
  3. while(循环条件2){ do{
  4. //循环操作2 //循环操作2
  5. } }while(循环条件2);
  6. } }while(循环条件1);
  7. for(循环条件1){ while(循环条件1){
  8. //循环操作1 //循环操作1
  9. for(循环条件2){ for(循环条件2){
  10. //循环操作2 //循环操作2
  11. } }
  12. } }

退出循环关键字: break 和 continue

区别: continue跳出当次循环,开始新的循环; break结束整个循环,执行循环语句块之后的代码;
相同点: 二者都用于循环,没有循环时,不要使用这两个关键字(switch中的break除外);
注意: 二者操作的都是当前循环, 嵌套循环时对其他循环无影响;