选择结构语句
选择结构:也被称为分支结构。选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,
所以产生选择,按照不同的选择执行不同的代码。Java语言提供了两种选择结构语句:if语句和switch语句
一、if语句       if语句有三种语法格式。
(1)、if语句第一种语法格式(适合一种判断)
if(条件表达式){
    语句体;
}
执行流程:判断条件表达式的结果,当为true时,{}中的执行语句体才会执行,否则不执行语句体。
选择语句入门基础

注意:
条件表达式的结果必须是布尔类型;if如果控制的语句只有一条,可以不写中括号{},直接跟语句体,但如果跟多条语句,大括号不能省略,
建议两种情况下都写。
代码示例演示:
[Java] 纯文本查看 复制代码
1
2
3
4
5
6
1.//if语句第一种语法格式 
        int i=6
        if(i%2==0){ 
            System.out.println("if条件为true"); 
       
        System.out.println("over");
(2)、if语句第二种语法格式(适合两种判断)
if(条件表达式){
   语句体1;
}else{
   语句体2;
}
执行流程:同样先判断条件表达式的结果,如果为true,则执行语句体1,为false则执行语句体2.


选择语句入门基础


代码演示:

[Java] 纯文本查看 复制代码
1
2
3
4
5
6
7
8
//if语句第二种语法格式 
       int j=-2
        if(j>0){ 
           System.out.println(j+"为正数"); 
        }else
            System.out.println(j+"为负数"); 
        
        System.out.println("over");

 

(3)、if语句第三种语法格式(适合多种判断)
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}
...
else if(条件表达式n){
语句体n;
}else{
语句体n+1;
}
执行流程:首先判断条件表达式1的结果,如果为true,则执行语句体1,为false则继续判断条件表达式2的结果,如果为true,则执行语句体2,
为false则继续判断下一个条件表达式的结果,以此类推,如果所有的判断条件都为false,则意味着所有的条件均未得到满足,则执行语句体n+1。


选择语句入门基础


代码演示:

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
[/size][/font]
[font=微软雅黑][size=3]// if语句第三种语法格式  [/size][/font]
[font=微软雅黑][size=3]int scores = 88
if (scores >= 90) { 
     System.out.println("您的成绩被评定为A级"); 
} else if (scores >= 80) { 
     System.out.println("您的成绩被评定为B级"); 
} else if (scores >= 70) { 
      System.out.println("您的成绩被评定为C级"); 
} else if (scores >= 60) { 
      System.out.println("您的成绩被评定为D级"); 
 } else if (scores >= 0) { 
      System.out.println("您的成绩被评定为E级"); 
} else
      System.out.println("成绩输入有误!!!"); 
}


二、switch语句
switch语句的语法格式:
switch(表达式){
   case 目标值1:
       执行语句1;
       break;
   case 目标值2:
       执行语句2;
       break;
       ......
   case 目标值n:
        执行语句n;
       break;
   default:
       执行语句n+1;
       break;
}

执行流程:switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应的case后的语句,遇到break就会结束。
如果没找到任何匹配的值,就会执行default后的语句,然后程序结束。


选择语句入门基础
注意:
(1)、表达式接收的值类型:在switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其他类型的值,程序就会报错。
(JDK5.0引入enum枚举和JDK7.0接收String类型)。
(2)、case后面跟的是要和表达式进行比较的值,语句体部分可以是一条或多条语句,break表示中断,结束的意思,可以结束switch语句,
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。default可以省略,但一般不建议,
default可以放在switch语句的任何位置,一般放在最后位置,放在最后位置时紧跟它的break可以省略。
(3)、switch结束的情况:当程序执行过程中遇到了break;当程序执行到了末尾处。


代码演示:

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) { 
int month = 12
switch (month) { 
  case 1
  case 3
  case 5
  case 7
  case 8
  case 10
  case 12
     System.out.println(month + "月有31天!"); 
     break
  case 2
     System.out.println(month + "月有28天!");
     break
  case 4
  case 6
  case 9
  case 11
     System.out.println(month + "月有30天!"); 
     break
  default
     System.out.println("不存在该月!"); 
     break
     
}




注意:
if和switch语句很像,那么在具体场景下如何合理选择使用哪种语句呢?
(1)、能用switch语句实现的都可以用if语句替换,并且if语句的条件表达式没有任何限制,但是switch语句条件表达式的类型
只能是byte、short、int、char这四种类型,以及后加入的枚举和string,并且要注意break的使用。
(2)、 If语句一般用于分支语句比较少的结构,而switch用于分支较多的结构。
(3)、如果判断具体数值不多,而且符合byte、short、int、char这四种类型虽然两个语句都可以使用,但建议使用switch语句,因为效率稍高。
其他情况,对区间判断,对结果为boolean型的判断,使用if,if的使用范围更广。

相关文章:

  • 2021-09-17
  • 2021-12-08
  • 2022-12-23
  • 2021-08-06
  • 2021-04-10
  • 2021-10-12
猜你喜欢
  • 2022-03-03
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-31
  • 2021-06-03
相关资源
相似解决方案