大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Java教程
Java標(biāo)識(shí)符與關(guān)鍵字
Java變量
Java數(shù)據(jù)類(lèi)型
Java運(yùn)算符
Java控制語(yǔ)句
Java方法

Java選擇語(yǔ)句if

選擇語(yǔ)句又稱(chēng)為分支語(yǔ)句,它通過(guò)對(duì)給定的條件進(jìn)行判斷,從而決定執(zhí)行兩個(gè)或多個(gè)分支中的哪一支。因此,在編寫(xiě)選擇語(yǔ)句之前,應(yīng)該首先明確判斷條件是什么,并確定當(dāng)判斷結(jié)果為“真”或“假”時(shí)應(yīng)分別執(zhí)行什么樣的操作/算法。在Java語(yǔ)言中選擇語(yǔ)句主要提供了兩個(gè),一個(gè)是if語(yǔ)句,另一個(gè)則是switch語(yǔ)句,我們先來(lái)看if語(yǔ)句。

if語(yǔ)句的編寫(xiě)方式我歸納為以下四種,請(qǐng)看下圖:

if語(yǔ)句語(yǔ)法格式

圖6-1:if語(yǔ)句語(yǔ)法格式

if語(yǔ)句是非常簡(jiǎn)單容易理解的,if被翻譯為如果,else被翻譯為其它,我們針對(duì)以上第二種寫(xiě)法進(jìn)行說(shuō)明:如果布爾表達(dá)式的結(jié)果是“真”,則執(zhí)行它后面的分支,反之則執(zhí)行else對(duì)應(yīng)的分支。好比說(shuō)“如果外面下雨了(真),出門(mén)則拿一把雨傘,反之則不帶雨傘”。再比如“如果你吃飽了(真)就不需要再吃了,反之則需要繼續(xù)吃東西”。那么以上兩個(gè)業(yè)務(wù)用代碼應(yīng)該如何實(shí)現(xiàn)呢?請(qǐng)看下面程序:

boolean raining = false;
if(raining){
	System.out.println("外面下雨了,出門(mén)記得帶一把傘哦!");
}else{
	System.out.println("天氣不錯(cuò)哦!");
}
boolean eatFull = true;
if(eatFull){
	System.out.println("吃的好飽啊!");
}else{
	System.out.println("還沒(méi)有吃飽,再來(lái)份米飯!");
}

上圖中第一種寫(xiě)法對(duì)應(yīng)的原理圖:

Java技術(shù)架構(gòu)

圖6-2:6-1圖中第一種寫(xiě)法對(duì)應(yīng)的原理圖

上圖中第二種寫(xiě)法對(duì)應(yīng)的原理圖:

Java應(yīng)用

圖6-3:6-1圖中第二種寫(xiě)法對(duì)應(yīng)的原理圖

上圖中第三種寫(xiě)法對(duì)應(yīng)的原理圖:

Java編程

圖6-4:6-1圖中第三種寫(xiě)法對(duì)應(yīng)的原理圖

上圖中第四種寫(xiě)法對(duì)應(yīng)的原理圖:

Java技術(shù)架構(gòu)

圖6-5:6-1圖中第四種寫(xiě)法對(duì)應(yīng)的原理圖

通過(guò)以上原理的分析,我們可以得出if語(yǔ)句的任何一種形式在執(zhí)行的時(shí)候只要有一個(gè)分支執(zhí)行,則所對(duì)應(yīng)的整個(gè)if語(yǔ)句就全部結(jié)束了,換句話(huà)說(shuō),對(duì)于一個(gè)獨(dú)立的完整的if語(yǔ)句來(lái)說(shuō),最多只能有一個(gè)分支執(zhí)行。

另外,我們可以得出“圖6-1”中的四種寫(xiě)法,其中第二種和第四種都帶有else分支,所以這兩種寫(xiě)法我們可以確保肯定會(huì)有一個(gè)分支執(zhí)行,另外兩種寫(xiě)法則無(wú)法保證,也就是說(shuō)第一種和第三種這兩種寫(xiě)法可能一個(gè)分支都不會(huì)執(zhí)行,這兩種寫(xiě)法的分支是否執(zhí)行取決于條件是否為true。

還有,Java語(yǔ)言中有這樣一條規(guī)定:當(dāng)分支中只有一條java語(yǔ)句話(huà),大括號(hào)可以省略不寫(xiě),如以下程序:

boolean sex = true;
if(sex){
	System.out.println("男");
}else{
	System.out.println("女");
}
//也可以這樣寫(xiě)
if(sex)
	System.out.println("男");
else
	System.out.println("女");

雖然大括號(hào)可以省略,但是大家編寫(xiě)程序的時(shí)候一定要小心,分析以下程序錯(cuò)在哪里?

if(sex)
	System.out.println("男");
	System.out.println("hello world!");
else
	System.out.println("女");

顯然if是沒(méi)有任何問(wèn)題的,輸出“男”也是沒(méi)問(wèn)題的,輸出“hello world!”也是正常的,只不過(guò)負(fù)責(zé)輸出“hello world!”的那一行代碼不在if語(yǔ)句的分支當(dāng)中,那么下面的else則缺少了if語(yǔ)句而編譯報(bào)錯(cuò)。換句話(huà)說(shuō),else以上的代碼都沒(méi)有問(wèn)題,錯(cuò)誤出現(xiàn)在else缺少了if。

雖然java規(guī)定當(dāng)分支中只有一條java語(yǔ)句的話(huà)大括號(hào)可以省略,但是為了程序具有很強(qiáng)的可讀性,所以建議在實(shí)際開(kāi)發(fā)中還是不要省略大括號(hào)會(huì)比較好。

那么,接下來(lái)我們給大家列舉幾個(gè)if語(yǔ)句的案例,幫助大家更好的理解和運(yùn)用if語(yǔ)句。

示例代碼1:業(yè)務(wù)背景:根據(jù)用戶(hù)輸入不同的數(shù)字來(lái)判斷用戶(hù)不同性別,當(dāng)輸入1時(shí)性別為男,當(dāng)輸入0時(shí)性別為女,輸入其它則不合法。

java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("請(qǐng)輸入數(shù)字:");
int i = scan.nextInt();
if(i == 1){
	System.out.println("性別:男");
}else if(i == 0){
	System.out.println("性別:女");
}else{
	System.out.println("對(duì)不起,您輸入不合法!");
}

示例代碼2:業(yè)務(wù)背景:鍵盤(pán)接收一個(gè)學(xué)生的成績(jī),范圍在[0-100],根據(jù)成績(jī)判斷等級(jí),[90-100]等級(jí)為“優(yōu)秀”,[80-90)等級(jí)為“良好”,[70-80)等級(jí)為“中等”,[60-70)等級(jí)為“及格”,[0-60)等級(jí)為“大笨蛋”,輸入其它數(shù)字表示成績(jī)不合法。

java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("輸入考試成績(jī):");
int score = scan.nextInt();
if(score < 0 || score > 100){
	System.out.println("對(duì)不起,您輸入的成績(jī)不合法!");
}else if(score >= 90 && score <= 100){
	System.out.println("成績(jī)等級(jí):優(yōu)秀");
}else if(score < 90 && score >= 80){
	System.out.println("成績(jī)等級(jí):良好");
}else if(score < 80 && score >= 70){
	System.out.println("成績(jī)等級(jí):中等");
}else if(score < 70 && score >= 60){
	System.out.println("成績(jī)等級(jí):及格");
}else if(score < 60 && score >= 0){
	System.out.println("成績(jī)等級(jí):大笨蛋");
}

對(duì)于初學(xué)者來(lái)說(shuō)以上程序是可以的,但是對(duì)于老程序員來(lái)說(shuō),以上的代碼就太冗余了,我們將其進(jìn)行優(yōu)化,看以下代碼:

java.util.Scanner scan = new java.util.Scanner(System.in);
System.out.print("輸入考試成績(jī):");
int score = scan.nextInt();
String grade = "大笨蛋";
if(score < 0 || score > 100){
	grade = "對(duì)不起,您輸入的成績(jī)不合法!";
}else if(score >= 90){
	grade = "優(yōu)秀";
}else if(score >= 80){
	grade = "良好";
}else if(score >= 70){
	grade = "中等";
}else if(score >= 60){
	grade = "及格";
}
System.out.println("成績(jī)等級(jí):" + grade);

通過(guò)以上程序我們可以了解到一個(gè)功能的實(shí)現(xiàn)代碼有多種編寫(xiě)形式,大家在學(xué)習(xí)的時(shí)候千萬(wàn)別機(jī)械性的一行一行對(duì)抄代碼,實(shí)際上這種學(xué)習(xí)方法是非常痛苦,并且低效的,軟件開(kāi)發(fā)主要培養(yǎng)的是編程思想/編程思路,使用編程的思路解決現(xiàn)實(shí)生活中的問(wèn)題。當(dāng)然,對(duì)于初學(xué)者來(lái)說(shuō)我們不可能剛開(kāi)始就寫(xiě)出簡(jiǎn)單而高效的程序,這需要不斷的模仿,不斷的積累,尤其我們可以多參考高手寫(xiě)的程序(例如:JDK源代碼),當(dāng)你的代碼達(dá)到一定量的時(shí)候,你就可以出山了。

示例代碼3:業(yè)務(wù)背景:系統(tǒng)首先接收天氣參數(shù),1表示下雨天,0表示晴天,如果天氣是晴天,輸出“走起,一起出去玩耍嘍!”,當(dāng)天氣是下雨天,則繼續(xù)接收性別參數(shù),1表示男,0表示女,當(dāng)性別為女,則拿一把小花傘出去玩,當(dāng)性別為男,則拿一把大黑傘出去玩。

java.util.Scanner scann = new java.util.Scanner(System.in);
System.out.print("請(qǐng)輸入天氣指數(shù),1表示下雨天,0表示晴天:");
int weather = scann.nextInt();
if(weather == 1){
	System.out.print("請(qǐng)?jiān)佥斎肽男詣e,1表示男,0表示女:");
	int sex = scann.nextInt();
	if(sex == 0){
		System.out.println("女士,外面下雨了,您需要帶一把小花傘");
	}else if(sex == 1){
		System.out.println("哥們,外面下雨了,您需要帶一把大黑傘");
	}else{
		System.out.println("對(duì)不起,您輸入性別參數(shù)出錯(cuò)了!");
	}
}else if(weather == 0){
	System.out.println("走起,一起出去玩耍嘍!");
}else{
	System.out.println("對(duì)不起,您輸入天氣參數(shù)出錯(cuò)了!");
}

運(yùn)行結(jié)果如下圖所示:

if語(yǔ)句嵌套演示

if語(yǔ)句嵌套演示

圖6-6:if語(yǔ)句嵌套演示

通過(guò)以上的程序我們得知,if語(yǔ)句是可以進(jìn)行嵌套使用的,也就是說(shuō)if語(yǔ)句的某個(gè)分支當(dāng)中還可以繼續(xù)編寫(xiě)其它if語(yǔ)句。實(shí)際上所有的控制語(yǔ)句都是可以進(jìn)行嵌套使用的。語(yǔ)句嵌套這個(gè)知識(shí)點(diǎn)本來(lái)是不需要拿來(lái)進(jìn)行特殊強(qiáng)調(diào)的,專(zhuān)門(mén)強(qiáng)調(diào)之后反而會(huì)讓初學(xué)者特殊對(duì)待,我希望大家不要特殊對(duì)待嵌套。雖然被嵌套的是一個(gè)控制語(yǔ)句,但這個(gè)控制語(yǔ)句也是一段普通的java程序,你說(shuō)呢!如下圖:

控制語(yǔ)句嵌套

圖6-7:控制語(yǔ)句嵌套

總之,選擇語(yǔ)句之if語(yǔ)句,在實(shí)際開(kāi)發(fā)中使用頻率非常高,大家一定要掌握if語(yǔ)句的編寫(xiě)方式以及運(yùn)行原理,也可以自己想一些現(xiàn)實(shí)生活中的小例子加以練習(xí)。 

主站蜘蛛池模板: 国内视频自拍在线视频 | 亚洲国产精品看片在线观看 | 国产成人香蕉 | 国产精品第1页在线播放 | 久久99精品久久久久久园产越南 | 免费a级网站 | 久久亚洲精品久久久久 | 亚洲爽爽 | 黄色在线视频观看 | 欧美在线视频网站 | 国产中文字幕亚洲 | 国产香蕉视频在线观看 | 欧美一区二区在线观看视频 | 91午夜精品亚洲一区二区三区 | 亚洲一区二区三区四区热压胶 | 在线播放成人毛片免费视 | 亚洲精品久久一区影院 | www.天天干.com| 黄黄的网站在线观看 | 国产成人网 | 日韩在线一区视频 | 在线亚洲欧美 | 一级午夜 | 国内精品视频在线播放一区 | 天天拍夜夜添久久精品中文 | 亚洲成人伦理 | 99热999| 国产一级毛片午夜 | 久久精品2 | 中文字幕在线视频在线看 | 国产精品精品国产一区二区 | 日韩欧美中 | 国产成人一区在线播放 | 小说区图片区综合久久亚洲 | 国产精品亚洲综合第一区 | 国产日产精品久久久久快鸭 | 一本色道久久爱88av俺来也 | 四虎影在线永久免费观看 | 久久99精品久久久久久噜噜丰满 | 国内精品七七久久影院 | 这里是九九伊人 |