流程控制

概述

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果
有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现
我们要完成的功能。

顺序结构

  1. public static void main(String[] args) {
  2. //顺序执行,根据编写的顺序,从上到下运行
  3. System.out . println(1);
  4. System. out. println(2);
  5. System . out. println(3);
  6. }

判断语句

●if语句第- 种格式: if

  1. if(关系表达式) {
  2. 语句体;
  3. }

●执行流程

首先判断关系表达式看其结果是true还是false
如果是true就执行语句体
如果是false就不执行语句体

●if语句第二种格式: …else

  1. if(关系表达式) {
  2. 语句体1;
  3. } else {
  4. 语句体2;
  5. }

●执行流程

首先判断关系表达式看其结果是true还是false
如果是true就执行语句体1
如果是false就执行语句体2

●if语句第三种格式: if..else if ..else

  1. if (判断条件1) {
  2. 执行语句1;
  3. } else if (判断条件2) {
  4. 执行语句2;
  5. }else if (判断条件n) {
  6. 执行语句n;
  7. } else {
  8. 执行语句n+1;
  9. }

●执行流程

首先判断关系表达式1看其结果是true还是false
如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false
如果是true就执行语句体2
如果是false就继续判断关系表达式..看其结果是true还是false

语句练习

●指定考试成绩,判断成绩的等级。
90-100 优秀
80-89 好
70-79 良
60-69 及格
60以下不及格

  1. public static vold main(string[] args) {
  2. int score = 100;
  3. if(score<eII score>100){
  4. System. out . print1n(”你的成绩是错误的");
  5. }else if(score>-90 && score<-100){
  6. System. out . print1n(”你的成绩属于优秀");
  7. }else if(score>-80 && score<90){
  8. System. out . println(“你的成绩属于好");
  9. }else if(score>-70 && score<80){
  10. System. out . print1n("你的成绩属于良");
  11. }else if(score>-60 && score<70){
  12. System. out . print1n("你的成绩属于及格");
  13. }else {
  14. System. out . println(“你的成绩属于不及格");
  15. }
  16. }

三元运算符和标准的if-else语句分别实现:取两个数字当中的最大值
 public static void main(String[] args) {
        int a = 105;
        int b=20;
        //首先使用三元运算符
        //intmax=a>b?a:b;
        //使用今天的if语句
        int max;
        if(a>b){
            max = a;
        } else {
            max = b;
        }
        System. out. println("最大值:"+ max);
    }

选择语句

选择语句—switch

switch(表达式) {
 case常量值1:
    语句体1;
    break;
 case常量值2:
    语句体2;
    break;
    ......
 default;
    语句体n+1;
    break;
}

●执行流程

首先计算出表达式的值
其次,和case依次比较,- - 旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分, 然后程序结束掉。

  public static void main(String[] args) {
            int num = 1;
            switch (num) {
                case 1:
                    System.out . println("星期一");
                    break;
                case 2:
                    System.out.println("星期二");
                    break;
                case 3:
                    System .out . println("星期三");
                    break;
                case 4:
                    System. out . println("星期四");
                    break;
                case 5:
                    System. out.println("星期五");
                    break;
                case 6:
                    System. out. println("星期六");
                    break;
                case 7:
                    System.out . println("星期日");
                    break;

                default:
                    System.out . println("数据不合理");
                    break; //最后一个break语句可以省略,但是强烈推荐不要

            }
        }

switch语句使用的注意事项:

**1.多个case后面的数值不可以重复。**

**2.switch后 面小括号当中只能是下列数据类型:**<br />    **基本数据类型: byte/ short/char/int**<br />    **引用数据类型: String字符串、 enum枚举**

**3.switch语 句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。**<br />    **“匹配哪一一个case就从哪-一个位置向下执行,直到遇到了break或者整体结束为止。”**