Java程序設計中引入了選擇語句。選擇語句總共有兩種常見的形式:if語句,和switch語句。
1. if語句
(1)if單選擇結構
if(比較表達式或者是boolean類型的值)
{
語句體;
}
執行流程:
先計算比較表達式的值,看其返回值是true還是false。 如果是true,就執行語句體;
如果是false,就不執行語句體;
(2) if-else雙選擇結構
if語句的格式2
if(比較表達式) {
語句體1;
}else {
語句體2;
}
執行流程:
首先計算比較表達式的值,看其返回值是true還是false。
如果是true,就執行語句體1;
如果是false,就執行語句體2;
示例:
im**por**t java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("請輸入第一個數字");
int x=ac.nextInt();
int y=0;
if (x>=3)
y = 2*x + 1;
else
y=3*x;
System.out.println("y="+y);
}
}
(3) if-else if-else多選擇結構
if(比較表達式1) {
語句體1;
}else if(比較表達式2) {
語句體2;
}else if(比較表達式3) {
語句體3;
}
...
else {
語句體n+1;
}
執行流程:
首先計算比較表達式1看其返回值是true還是false,
如果是true,就執行語句體1,if語句結束。
如果是false,接着計算比較表達式2看其返回值是true還是false,
如果是true,就執行語句體2,if語句結束。
…
注意:當只要有一個條件滿足時,if語句結束。else是可以省略,但是不建議省略。
示例:
import java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("請輸入第一個數字");
int x=ac.nextInt();
int y=0;
if (x>=3)
y = 2*x + 1;
else if (-1<=x&x<3)
y = 2*x;
else if (x<-1)
y = 2*x-1;
System.out.println("y="+y);
}
}
2. switch語句
switch(表達式){
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
case 值3:
語句體3;
break;
....
default:
語句體n+1;
break;
}
執行流程:
先計算表達式的值
然後和case後面的匹配,如果匹配成功就執行對應的語句,遇到break就會結束,否則執行default控制的語句
注意:
Switch表達式的取值:byte,short,int,char;JDK5以後可以使用枚舉,JDK7以後可以是String。
Case後面只能是常量,不能是變量,而且,多個case後面的值不能出現相同的。
示例:
import java.util.Scanner;
public class heng {
public static void main(String[] args) {
Scanner ac= new Scanner(System.in);
System.out.println("請輸入第一個數字");
int a=ac.nextInt();
System.out.println("請輸入第二個個數字");
int b=ac.nextInt();
switch(a){
default:
b++;
break;
case 3:
b++;
break;
case 4:
b++;
break;
}
System.out.println("y="+b);
}
}
輸入
3
4
結果爲5