Java 條件判斷
在 Java 中有兩種類型的條件判斷語句,它們分別是:
if 語句
switch 語句
if 語句:
if 語句由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語句組成盈厘。
語法
if 語句的語法是:
if(Boolean_expression)
{
//Statements will execute if the Boolean expression is true
}
如果布爾表達(dá)式的值為 true,那么代碼里面的塊 if 語句將被執(zhí)行官边。如果不是 true沸手,在 if 語句大括號(hào)后結(jié)束后的第一套代碼將被執(zhí)行外遇。
示例
public class Test {
public static void main(String args[]){
int x = 10;
if(x < 20 ){
System.out.print("This is if statement");
}
}
}
這將產(chǎn)生以下結(jié)果:
This is if statement
if...else 語句
任何 if 語句后面可以跟一個(gè)可選的 else 語句,當(dāng)布爾表達(dá)式為 false契吉,語句被執(zhí)行跳仿。
語法
if...else 的語法是:
if(Boolean_expression){
//Executes when the Boolean expression is true
}else{
//Executes when the Boolean expression is false
}
示例
public class Test {
public static void main(String args[]){
int x = 30;
if( x < 20 ){
System.out.print("This is if statement");
}else{
System.out.print("This is else statement");
}
}
}
這將產(chǎn)生以下結(jié)果:
This is else statement
if...else if...else 語句
if 后面可以跟一個(gè)可選的 else if...else 語句,在測試不同條件下單一的 if 語句和 else if 語句是非常有用的捐晶。
當(dāng)使用 if , else if , else 語句時(shí)有幾點(diǎn)要牢記菲语。
一個(gè) if 語句可以有0個(gè)或一個(gè) else 語句 且它必須在 else if 語句的之后。
一個(gè) if 語句 可以有0個(gè)或多個(gè) else if 語句且它們必須在 else 語句之前惑灵。
一旦 else if 語句成功, 余下 else if 語句或 else 語句都不會(huì)被測試執(zhí)行山上。
語法
邏輯封閉與否
if...else 的語法是:
if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
//Executes when the Boolean expression 3 is true
}else {
//Executes when the none of the above condition is true.
}
示例
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("This is else statement");
}
}
}
這將產(chǎn)生以下結(jié)果:
Value of X is 30
嵌套 if...else 語句與邏輯與(&&)
它始終是合法的嵌套 if-else 語句,這意味著你可以在另一個(gè) if 或 else if 語句中使用一個(gè) if 或 else if 語句英支。
語法
嵌套 if...else 的語法如下:
if(Boolean_expression 1){
//Executes when the Boolean expression 1 is true
if(Boolean_expression 2){
//Executes when the Boolean expression 2 is true
}
}
因?yàn)槲覀冇星短椎?if 語句佩憾,所以可以用類似的方式嵌套 else if...else。
示例
public class Test {
public static void main(String args[]){
int x = 30;
int y = 10;
if( x == 30 ){
if( y == 10 ){
System.out.print("X = 30 and Y = 10");
}
}
}
}
這將產(chǎn)生以下結(jié)果:
X = 30 and Y = 10
switch 語句
switch 語句允許一個(gè)變量來對一系列值得相等性進(jìn)行測試干花。每個(gè)值被稱為一 case妄帘,并且被啟動(dòng)的變量會(huì)為每一個(gè) case 檢查。
語法
增強(qiáng)的 for 循環(huán)的語法是:
switch(expression){
case value :
//Statements
break; //optional
case value :
//Statements
break; //optional
//You can have any number of case statements.
default : //Optional
//Statements
}
以下規(guī)則適用于 switch 語句:
在 switch 語句中使用的變量池凄,short抡驼,int 或 char。
在一個(gè) switch 語句中可以有任何數(shù)量的 case 語句肿仑。每個(gè) case 后跟著即將被比較的值和一個(gè)冒號(hào)致盟。
對于 case 的值必須是相同的數(shù)據(jù)類型作為開關(guān)變量,它必須是一個(gè)常量或文字柏副。
當(dāng)被啟動(dòng)了的變量與 case 是相等的勾邦,那 case 后的語句將執(zhí)行,一直到 break 為止割择。
當(dāng)達(dá)到一個(gè) break 語句眷篇,switch 終止,并且控制流跳轉(zhuǎn)到跟著 switch 語句的下一行荔泳。
不是每一個(gè) case 需要包含一個(gè) break蕉饼。如果沒有出現(xiàn) break,控制流將貫穿到后面的 case 直到 break 為止玛歌。
switch 語句可以有一個(gè)可選默認(rèn) case 昧港,它必須出現(xiàn)在 switch 的結(jié)束處。在執(zhí)行一項(xiàng)任務(wù)時(shí)沒有任何 case 是真支子,那默認(rèn) case 可被使用创肥。在默認(rèn) case 中不需要 break。
示例
public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
編譯并運(yùn)行上面使用各種命令行參數(shù)的程序。這將產(chǎn)生以下結(jié)果:
$ java Test
Well done
Your grade is a C
$