P50 049if-else双选择结构

if(布尔表达式){
     语句块1}
  else{
     语句块2}

当布尔表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。流程图如图3-3所示。

java switch语句能否有判断条件 java switch 判断区间_布尔表达式

/** * 测试ifelse双选择结构 * @author Van.G * */public class TestIfelse {      public static void main(String[]args) {        int h=(int)(6*Math.random()+1);        System.out.println(h);        if(h<=3) {          System.out.println("小");        }else {          System.out.println("大");        }        System.out.println("#######");        //随机产生一个[0.0, 4.0)区间的半径,并根据半径求圆的面积和周长          double r = 4 * Math.random();         //Math.pow(r, 2)求半径r的平方          double area = Math.PI * Math.pow(r, 2);          double circle = 2 * Math.PI * r;          System.out.println("半径为:" + r);          System.out.println("面积为:" + area);          System.out.println("周长为:" + circle);          //如果面积>=周长,则输出"面积大于等于周长",否则,输出周长大于面积          if(area >= circle) {              System.out.println("面积大于等于周长");          } else {              System.out.println("周长大于面积");          }      }}

java switch语句能否有判断条件 java switch 判断区间_Math_02

51_050ifelse ifelse多选择结构

if(布尔表达式1){}
       语句块1;}else if(布尔表达式2){
       语句块2;}。。。else  if(布尔表达式n){
       语句块n;}  else{
       语句块n+1;
}

当布尔表达式1为真时,执行语句块1;否则,判断布尔表达式2,当布尔表达式2为真时,执行语句块2;否则,继续判断布尔表达式3······;如果1~n个布尔表达式均判定为假时,则执行语句块n+1,也就是else部分。流程图如图3-7所示。

java switch语句能否有判断条件 java switch 判断区间_布尔表达式_03

/** * TestIFleseifelse * @author Van.G * */public class TestIfElseIFelse {      public static void main(String[]args) {        int age = (int) (100 * Math.random());          System.out.print("年龄是" + age + ", 属于");          if (age < 15) {              System.out.println("儿童, 喜欢玩!");          } else if (age < 25) {              System.out.println("青年, 要学习!");          } else if (age < 45) {              System.out.println("中年, 要工作!");          } else if (age < 65) {              System.out.println("中老年, 要补钙!");          } else if (age < 85) {              System.out.println("老年, 多运动!");          } else {              System.out.println("老寿星, 古来稀!");          }      }}

java switch语句能否有判断条件 java switch 判断区间_程序流程图的switch怎么表示_04

课堂练习

仿照【示例3-5】,实现如下功能:

      随机生成一个100以内的成绩,当成绩在85及以上的时候输出”等级A”,70以上到84之间输出”等级B”,60到69之间输出”等级C”,60以下输出”等级D”。

P52  051_switch语句的使用

/** * TestIFleseifelse * @author Van.G * */public class TestIfElseIFelse {      public static void main(String[]args) {        int score = (int) (100 * Math.random());          System.out.print("成绩是是" + score );          if (score < 60) {              System.out.println("等级D");          } else if (score < 70) {              System.out.println("等级C");          } else if (score < 80) {              System.out.println("等级B");          } else if (score < 90) {              System.out.println("等级A");          }      }}

P52 051——switch的语句的使用

语法结构:

switch(表达式){
                case 值1;                  语句序列1;
                 【break】;
                case 值2:
                  语句序列2;
                   【break】;
                 ...............
                [default:默认语句;]
}

 switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(如果存在default语句的情况)。

      根据表达式值的不同可以执行许多不同的操作。switch语句中case标签在JDK1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在JDK1.7之后允许使用字符串(String)。

      大家要注意,当布尔表达式是等值判断的情况,可以使用if-else if-else多选择结构或者switch结构,如果布尔表达式区间判断的情况,则只能使用if-else if-else多选择结构。

      switch多选择结构的流程图如图3-10所示。

java switch语句能否有判断条件 java switch 判断区间_程序流程图的switch怎么表示_05

表示区间的时候可以用ifelse表示值得时候用switch,用于多值得判断,【】表示可选的。break表示结束了break语句

switch也是可以使用字符串的

/** * 测试switch语句 * @author Van.G * */public class TestSwitch {      public static void main(String[]args) {        int month=(int)(1+12*Math.random());        System.out.println("月份:"+month);        switch(month) {        case 1:          System.out.println("一月份:过新年");          break;        case 2:          System.out.println("二月份:开春了!!");          break;        default:          System.out.println("我是其他的月份!!!");          break;        }        System.out.println("############");        char c = 'a';          int rand = (int) (26 * Math.random());          char c2 = (char) (c + rand);          System.out.print(c2 + ": ");          switch (c2) {          case 'a':          case 'e':          case 'i':          case 'o':          case 'u':              System.out.println("元音");              break;          case 'y':          case 'w':              System.out.println("半元音");              break;          default:              System.out.println("辅音");          }      }}

java switch语句能否有判断条件 java switch 判断区间_System_06

多值判断适合用switch,但是switch完全可以用if-else来代替的