一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

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

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

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

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

if語句使用布爾表達(dá)式或布爾值作為分支條件來進(jìn)行分支控制,其中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…
 
}
 
//可以有零個(gè)或多個(gè)else if語句
 
else//最后的else語句也可以省略
 
{
 
statement
 
}

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

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

  程序清單: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
 
//只有當(dāng)age > 20時(shí),下面花括號(hào)括起來的語句塊才會(huì)執(zhí)行
 
//花括號(hào)括起來的語句是一個(gè)整體,要么一起執(zhí)行,要么一起不會(huì)執(zhí)行
 
{
 
System.out.println("年齡已經(jīng)大于20歲了");
 
System.out.println("20歲以上的人應(yīng)該學(xué)會(huì)承擔(dān)責(zé)任…");
 
}
 
}
 
}

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

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

  通常,我們建議不要省略if、else、else if后執(zhí)行塊的花括號(hào),即使條件執(zhí)行體只有一行代碼,因?yàn)楸A艋ɡㄌ?hào)會(huì)有更好的可讀性,而且保留花括號(hào)會(huì)減少發(fā)生錯(cuò)誤的可能,例如如下代碼,則不可正常執(zhí)行:

?
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,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊
 
System.out.println("b大于4");
 
else
 
//否則,執(zhí)行下面的執(zhí)行體
 
b--;
 
//對(duì)于下面代碼而言,它已經(jīng)不再是條件執(zhí)行體的一部分,因此總會(huì)執(zhí)行
 
System.out.println("b不大于4");

  上面代碼中以粗體字標(biāo)識(shí)的代碼行:System.out.println("b不大于4");,將總是會(huì)執(zhí)行,因?yàn)檫@行代碼并不屬于else后的條件執(zhí)行體,else后的條件執(zhí)行體就是b--;這行代碼。

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

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

?
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,執(zhí)行下面的執(zhí)行體,將只有c--;一行代碼為條件執(zhí)行體
 
c--;
 
//下面是一行普通代碼,不屬于條件執(zhí)行體
 
System.out.println("c大于4");
 
//此處的else將沒有if語句,因此編譯出錯(cuò)
 
else
 
//否則,執(zhí)行下面的執(zhí)行體,只有一行代碼作為代碼塊
 
System.out.println("c不大于4");

  在上面代碼中,因?yàn)閕f后的條件執(zhí)行體省略了花括號(hào),則系統(tǒng)只把c--;一行代碼作為條件執(zhí)行體,當(dāng)c-;語句結(jié)束后,if語句也就結(jié)束了。后面的System.out.println("c大于4");代碼已經(jīng)是一行普通代碼了,不再屬于條件執(zhí)行體,從而導(dǎo)致else語句沒有if語句,從而引起編譯錯(cuò)誤。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 高h扶她文肉 | 天堂a免费视频在线观看 | 欧美一卡2卡三卡4卡5卡免费观看 | 99久久精品国产免费 | 五月天精品在线 | 91精品大神国产在线播放 | 大乳孕妇一级毛片 | 调教女秘书 | 无码骚夜夜精品 | 俄罗斯妈妈k8影院在线观看 | 久久88综合 | 日本高清全集免费观看 | 99精品国产成人a∨免费看 | 欧美日韩国产精品综合 | 小辣椒精品福利视频导航 | 美女扒开腿让男人桶爽免费gif | 日本福利视频一区 | 欧美视频一区二区三区四区 | 亚洲精品国产成人 | 热久久最新视频 | 日本三级成人中文字幕乱码 | 欧美精品久久久久久久免费观看 | 亚洲第一福利网 | 国内永久第一免费福利视频 | 美女张开腿让我了一夜 | 变形金刚第一部 | 欧美大陆日韩一区二区三区 | 亚洲好视频 | 亚洲 欧美 另类 中文 在线 | 国产精品自产拍在线观看2019 | 色在线亚洲视频www 色欲麻豆国产福利精品 | 九九大香尹人视频免费 | 国产成人亚洲影视在线 | 亚洲一区二区三区久久精品 | 天美传媒在线视频 | 97热在线| 亚洲第一男人天堂 | 天天操夜夜操狠狠操 | 精选国产AV精选一区二区三区 | 91制片厂果冻传媒首页 | 日本sss在线高清观看 |