3.1 Java分支结构

JAVA提供两种最常见的分支控制结构:if和switch语句

一、if条件语句

if语句有三种形式。

第一种形式:
if(logic expression)
{
    statement···
}
第二种形式
if(logic expression)
{
    statement···
}
else(logic expression)
{
    statement···
}
第三种形式
if(logic expression)
{
    statement···
}
else if(logic expression)
{
    statement···
}
···//可以省略多个else if语句
else(logic expression)
{
    statement···
}

例子:

 1 import java.util.*;
 2 class  ifTest
 3 {
 4     public static void main(String[] args) 
 5     {
 6         int age;
 7         System.out.print("请输入年龄:");
 8         Scanner sc=new Scanner(System.in);
 9         age=sc.nextInt();
10         if(age<13)
11         {
12             System.out.println("儿童");
13         }
14         else if(age<20)
15         {
16             System.out.println("少年");
17         }
18         else if(age<40)
19         {
20             System.out.println("青年");
21         }
22         else if(age<60)
23         {
24             System.out.println("中年");
25         }
26         else
27         {
28             System.out.println("老年");
29         }
30     }
31 }

 二、switch语句

  switch语句由一个控制表达式和多个标签组成,和if语句不同的是,switch语句后面的控制表达式的数据类型只能是byte、short、char、int四种整数类型,枚举类型和java.lang.String类型(从Java 7才允许)不能是boolean类型。

switch语法格式

 1 switch (expression)
 2 {
 3     case condition1:
 4     {
 5         代码块1
 6         break;
 7     }  
 8     case condition2:
 9     {
10         代码块2
11         break;
12     } 
13 ...
14         case conditionN:
15     {
16         代码块N
17         break;
18     } 
19     default:
20     {
21         代码块
22     }
23 }      
View Code

 实例:

 1 import java.util.*;
 2 class  SwitchTest
 3 {
 4     public static void main(String[] args) 
 5     {
 6         System.out.print("请输入分数等级:");
 7         //声明变量score
 8         Scanner sc = new Scanner(System.in);
 9         char score=sc.next().charAt(0);
10         switch(score)
11         {
12         case 'A':
13             System.out.println("优秀");
14             break;
15         case 'B':
16             System.out.println("良");
17             break;
18         case 'C':
19             System.out.println("中");
20             break;
21         default:
22             System.out.println("不及格");
23         }
24     }
25 }
View Code

 Java11编译器做了一些改进,如果开发者忘记了case块后面的break语句,Java11编译器会生成警告:“[fallthrough]可能无法实现case”

Java 7开始增强了switch语句的功能,允许switch语句的控制表达式java.lang.String类型的变量或表达式——只能是java.lang.String类型,不能是StringBuffer或StringBuilder这两个字符串类型。

 1 class  StringSwitchTest
 2 {
 3     public static void main(String[] args) 
 4     {
 5         //声明变量season
 6         var season="夏天";
 7         switch (season)
 8         {
 9         case "春天":
10             System.out.println("春暖花开");
11             break;
12         case "夏天":
13         System.out.println("夏日炎炎");
14         break;
15         case "秋天":
16         System.out.println("秋风送爽");
17         break;
18         case "冬天":
19         System.out.println("冬雪皑皑");
20         break;
21         default:
22             System.out.println("季节输入错误");
23         }
24     }
25 }
View Code

猜你喜欢

转载自www.cnblogs.com/weststar/p/12297527.html
3.1