Java判断语句If 和Switch

If条件判断

1、if语句用于判断不同的条件,根据判断的结果执行不同的代码。

2、if语句判断的条件可以是关系运算、逻辑运算,if语句根据逻辑值true、false来决定执行不同的代码。

3、if语句在开发中使用极为广泛。

If语法

1
2
3
4
5
6
7
8
 if(条件1) {
代码块1
} else if(条件2){
代码块2
}
} else {
代码块3
}

If实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Demoif {
public static void main(String[] str) {
System.out.print("请您输入您的考试成绩:");
Scanner input = new Scanner(System.in);
double chengJi = input.nextDouble();
if (chengJi>=60 & chengJi<90){
System.out.println("您的考试成绩合格!");
}else if (chengJi>=90){
System.out.println("您的考试成绩优异!");
}else{
System.out.println("您的成绩不及格,请您重新考试!");
}
}
}

在使用if语句时,注意尽量把容易满足的条件写在前面。

Switch条件判断

Switch关键字

1、switch:表示条件表达式,括号里的值是一个规定数据类型的值。

2、case:表示条件分支,case后面跟一个常量,每个case后面的值必须不一样。case的个数可以为0个。

3、default:表示默认分支,default可以省略,通常放在最后。

4、break:表示“停止”,跳出当前switch语句。

Switch语法

1
2
3
4
5
6
7
8
9
10
11
switch (表达式){
case 常量1
// 代码块1;
break;
case 常量2
    // 代码块2;
    break;
  default
    // 代码块n;
    break;
}

Switch实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class DemoSwitch {
public static void main(String args[]) {
System.out.print("请您输入您的名次:");
Scanner input = new Scanner(System.in);
int mingCi = input.nextInt();
switch(mingCi){
case 1:
System.out.println("恭喜您,获得了一等奖。");
break;
case 2:
System.out.println("恭喜您,获得了二等奖。");
break;
case 3:
System.out.println("恭喜您,获得了三等奖。");
break;
default:
System.out.println("对不起,您没有进入前三名。");
}
}
}

Switch语句中的表达式结果类型只支持是int,String,enum型的。

If和Switch的区别

相同点:

  • if和switch都是分支语句,都是对超过一种情况的事件进行处理。

不同点:

  • switch更适合处理分支情况较多,判断条件类型单一,只有一个入口的事件
    if更适合处理分支情况较少,判断条件类型不是单一的事件
  • switch在分支执行完成后,如果没有break跳出的话,会继续向下面的分支执行
    if只要一个分支被执行了,后面的分支就不再执行了
  • switch为等值判断,不允许比如 >= <= 等判断
    if为等值和区间都可以,if的使用范围更大