程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java編程那些事兒33——if語句語法(3)

Java編程那些事兒33——if語句語法(3)

編輯:關於JAVA

5.3.1.3 if-else if-else語句

在現實中,有些時候的條件不是一個,而是一組相關的條件,例如將阿拉伯數字轉換為中文大寫,根據分數轉換為對應的等級等,都是多條件的結構,在程序中為了避免寫多個if語句的結構,提供了一類專門的多分支語句,這就是if-else if-else語句。

if-else if-else語句的語法格式為:

if(條件1)
  功能代碼1;
else if(條件2)
  功能代碼2;
else if(條件3)
  功能代碼3;
……
else
功能代碼;

語法說明:

1、else if是else和if兩個關鍵字,中間使用空格進行間隔。

2、條件1到條件n都是boolean類型

3、else if語句可以有任意多句

4、最後的else語句為可選

5、如果功能代碼部分不是語句塊,也就是不用大括號,就只能寫一句。

執行流程:當條件1成立時,則執行功能代碼1;當條件1不成立且條件2成立時,則執行功能代碼2;如果條件1、條件2都不成立且條件3成立,則執行功能代碼3,依次類推,如果所有條件都不成立,則執行else語句的功能代碼。其執行流程的流程圖如上所示。

下面是一個實現根據月份的值,輸出該月份包含的日期數,2月份全部輸出28,不考慮閏年的示例代碼:

int month = 3;
int days = 0;  //日期數
if(month == 1){
  days = 31;
}else if(month == 2){
  days = 28;
} else if(month == 3){
  days = 31;
} else if(month == 4){
  days = 30;
} else if(month == 5){
  days = 31;
} else if(month == 6){
  days = 30;
} else if(month == 7){
  days = 31;
} else if(month == 8){
  days = 31;
} else if(month == 9){
  days = 30;
} else if(month == 10){
  days = 31;
} else if(month == 11){
  days = 30;
} else if(month == 12){
  days = 31;
}
System.out.println(days);

再來看一個示例代碼,該代碼的功能是實現將百分制的成績轉換為A、B、C、D和E,代碼如下:

int score = 87;
if(score >= 90){
  System.out.println(‘A’);
} else if(score >= 80){
  System.out.println(‘B’);
} else if(score >= 70){
  System.out.println(‘C’);
} else if(score >= 60){
  System.out.println(‘D’);
} else{
  System.out.println(‘E’);
}

從該代碼中可知,每個else if語句在書寫時是有順序的,在實際書寫時,必須按照邏輯上的順序進行書寫,否則將出現邏輯錯誤。

if-else if-else語句是Java語言中提供的一個多分支條件語句,但是在判斷某些問題時,會書寫的比較麻煩,所以在語法中提供了另外一個語句——switch語句來更好的實現多分支語句的判別。

文章來源:http://blog.csdn.net/Mailbomb/archive/2008/06/13/2544051.aspx

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved