国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java編程中的條件判斷之if語句的用法詳解

Java編程中的條件判斷之if語句的用法詳解

2020-01-16 16:04goldensun JAVA教程

這篇文章主要介紹了Java編程中的條件判斷之if語句的用法詳解,是Java入門學習中的基礎知識,需要的朋友可以參考下

if語句使用布爾表達式或布爾值作為分支條件來進行分支控制,其中if語句有如下三種形式:

  第一種形式:

?
1
2
3
4
5
6
7
if ( logic expression )
 
{
 
statements…
 
}

  第二種形式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (logic expression)
 
{
 
statements…
 
}
 
else
 
{
 
statements…
 
}

  第三種形式:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (logic expression)
 
{
 
statements…
 
}
 
else if(logic expression)
 
{
 
statements…
 
}
 
//可以有零個或多個else if語句
 
else//最后的else語句也可以省略
 
{
 
statement
 
}

  在上面if語言的三種形式中,放在if之后的括號里的只能是一個邏輯表達式,即這個表達式的返回值只能是true或false.第二種情形和第三種情形是相通的,如果第三種形式中else if塊不出現,則變成了第二種形式。

  上面的條件語句中,if(logic expression)、else if(logic expression)以及else后花括號括起來多行代碼被稱為代碼塊,一個代碼塊通常被當成一個整體來執行(除非運行過程中遇到return、break、continue等關鍵字,或者遇到了異常),因此這個代碼塊也被稱為條件執行體。例如如下程序:

  程序清單:codes/04/4-2/TestIf.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class TestIf
 
{
 
public static void main(String[] args)
 
{
 
int age = 30;
 
if (age > 20
 
//只有當age > 20時,下面花括號括起來的語句塊才會執行
 
//花括號括起來的語句是一個整體,要么一起執行,要么一起不會執行
 
{
 
System.out.println("年齡已經大于20歲了");
 
System.out.println("20歲以上的人應該學會承擔責任…");
 
}
 
}
 
}

  因此,如果if(logic expression)、else if(logic expression)和else后的語句塊只有一行語句時,則可以省略花括號,因為單行語句本身就是一個整體,無須花括號來把它們定義成一個整體。下面代碼完全可以正常執行(程序清單同上):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//定義變量a ,并為其賦值
 
int a = 5;
 
if (a > 4
 
//如果a>4,執行下面的執行體,只有一行代碼作為代碼塊
 
System.out.println("a大于4");
 
else
 
//否則,執行下面的執行體,只有一行代碼作為代碼塊
 
System.out.println("a不大于4");

  通常,我們建議不要省略if、else、else if后執行塊的花括號,即使條件執行體只有一行代碼,因為保留花括號會有更好的可讀性,而且保留花括號會減少發生錯誤的可能,例如如下代碼,則不可正常執行:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//定義變量b ,并為其賦值
 
int b = 5;
 
if (b > 4
 
//如果b>4,執行下面的執行體,只有一行代碼作為代碼塊
 
System.out.println("b大于4");
 
else
 
//否則,執行下面的執行體
 
b--;
 
//對于下面代碼而言,它已經不再是條件執行體的一部分,因此總會執行
 
System.out.println("b不大于4");

  上面代碼中以粗體字標識的代碼行:System.out.println("b不大于4");,將總是會執行,因為這行代碼并不屬于else后的條件執行體,else后的條件執行體就是b--;這行代碼。

  if、else、else if后條件執行體要么是一個花括號擴起來的語句塊,則這個語句塊整體作為條件執行體;要么是以分號為結束符的一行語句,甚至可能是一個空語句(空語句是一個分號)。

  如果if塊后有多條語句作為條件執行體,如果省略了這個條件執行體的花括號,則會引起編譯錯誤,看下面代碼(程序清單同上):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//定義變量c ,并為其賦值
 
int c = 5;
 
if (c > 4
 
//如果c>4,執行下面的執行體,將只有c--;一行代碼為條件執行體
 
c--;
 
//下面是一行普通代碼,不屬于條件執行體
 
System.out.println("c大于4");
 
//此處的else將沒有if語句,因此編譯出錯
 
else
 
//否則,執行下面的執行體,只有一行代碼作為代碼塊
 
System.out.println("c不大于4");

  在上面代碼中,因為if后的條件執行體省略了花括號,則系統只把c--;一行代碼作為條件執行體,當c-;語句結束后,if語句也就結束了。后面的System.out.println("c大于4");代碼已經是一行普通代碼了,不再屬于條件執行體,從而導致else語句沒有if語句,從而引起編譯錯誤。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区久久久久久 | 日本欧美在线观看 | 日韩中文字幕在线播放 | 精品久久一区二区三区 | 一区二区三区国产视频 | 午夜网 | 国产一区二区精品在线观看 | 欧美精品v国产精品v日韩精品 | 日韩电影中文字幕 | 日韩成人综合 | 国产三级一区二区三区 | 中文字幕在线精品 | 精精国产xxxx视频在线播放 | 欧美日韩精品久久久免费观看 | 国产成人精品一区二区三区视频 | 亚洲精品乱码久久久久久麻豆不卡 | 伊人久久国产 | 免费啪啪网站 | 亚洲第一成人久久网站 | 99视频网站 | 北条麻妃在线一区二区 | 精品无人区一区二区三区动漫 | 精品日韩 | 欧美成人精品一区二区男人看 | 激情欧美日韩一区二区 | 精品一区二区久久久久久久网站 | 亚洲成人高清 | 欧美www| 九色视频网站 | 91午夜理伦私人影院 | 精品国产乱码久久久久久影片 | 国产日韩精品视频 | 亚洲欧美另类久久久精品2019 | 91影院 | 黄色a视频| 在线日韩中文字幕 | 激情国产 | 免费在线观看黄 | 国精品一区二区三区 | 午夜电影福利 | 欧美日本在线观看 |