黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java教程
Java標識符與關鍵字
Java變量
Java數據類型
Java運算符
Java控制語句
Java方法
Java面向對象
Java對象的創建和使用
Java封裝
Java中static和this
Java繼承
Java方法覆蓋和多態
Java super
Java基礎練習題

Java選擇語句if

選擇語句又稱為分支語句,它通過對給定的條件進行判斷,從而決定執行兩個或多個分支中的哪一支。因此,在編寫選擇語句之前,應該首先明確判斷條件是什么,并確定當判斷結果為“真”或“假”時應分別執行什么樣的操作/算法。在Java語言中選擇語句主要提供了兩個,一個是if語句,另一個則是switch語句,我們先來看if語句。

if語句的編寫方式我歸納為以下四種,請看下圖:

if語句語法格式

圖6-1:if語句語法格式

if語句是非常簡單容易理解的,if被翻譯為如果,else被翻譯為其它,我們針對以上第二種寫法進行說明:如果布爾表達式的結果是“真”,則執行它后面的分支,反之則執行else對應的分支。好比說“如果外面下雨了(真),出門則拿一把雨傘,反之則不帶雨傘”。再比如“如果你吃飽了(真)就不需要再吃了,反之則需要繼續吃東西”。那么以上兩個業務用代碼應該如何實現呢?請看下面程序:

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

上圖中第一種寫法對應的原理圖:

Java技術架構

圖6-2:6-1圖中第一種寫法對應的原理圖

上圖中第二種寫法對應的原理圖:

Java應用

圖6-3:6-1圖中第二種寫法對應的原理圖

上圖中第三種寫法對應的原理圖:

Java編程

圖6-4:6-1圖中第三種寫法對應的原理圖

上圖中第四種寫法對應的原理圖:

Java技術架構

圖6-5:6-1圖中第四種寫法對應的原理圖

通過以上原理的分析,我們可以得出if語句的任何一種形式在執行的時候只要有一個分支執行,則所對應的整個if語句就全部結束了,換句話說,對于一個獨立的完整的if語句來說,最多只能有一個分支執行。

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

還有,Java語言中有這樣一條規定:當分支中只有一條java語句話,大括號可以省略不寫,如以下程序:

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

雖然大括號可以省略,但是大家編寫程序的時候一定要小心,分析以下程序錯在哪里?

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

顯然if是沒有任何問題的,輸出“男”也是沒問題的,輸出“hello world!”也是正常的,只不過負責輸出“hello world!”的那一行代碼不在if語句的分支當中,那么下面的else則缺少了if語句而編譯報錯。換句話說,else以上的代碼都沒有問題,錯誤出現在else缺少了if。

雖然java規定當分支中只有一條java語句的話大括號可以省略,但是為了程序具有很強的可讀性,所以建議在實際開發中還是不要省略大括號會比較好。

那么,接下來我們給大家列舉幾個if語句的案例,幫助大家更好的理解和運用if語句。

示例代碼1:業務背景:根據用戶輸入不同的數字來判斷用戶不同性別,當輸入1時性別為男,當輸入0時性別為女,輸入其它則不合法。

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

示例代碼2:業務背景:鍵盤接收一個學生的成績,范圍在[0-100],根據成績判斷等級,[90-100]等級為“優秀”,[80-90)等級為“良好”,[70-80)等級為“中等”,[60-70)等級為“及格”,[0-60)等級為“大笨蛋”,輸入其它數字表示成績不合法。

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

對于初學者來說以上程序是可以的,但是對于老程序員來說,以上的代碼就太冗余了,我們將其進行優化,看以下代碼:

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

通過以上程序我們可以了解到一個功能的實現代碼有多種編寫形式,大家在學習的時候千萬別機械性的一行一行對抄代碼,實際上這種學習方法是非常痛苦,并且低效的,軟件開發主要培養的是編程思想/編程思路,使用編程的思路解決現實生活中的問題。當然,對于初學者來說我們不可能剛開始就寫出簡單而高效的程序,這需要不斷的模仿,不斷的積累,尤其我們可以多參考高手寫的程序(例如:JDK源代碼),當你的代碼達到一定量的時候,你就可以出山了。

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

java.util.Scanner scann = new java.util.Scanner(System.in);
System.out.print("請輸入天氣指數,1表示下雨天,0表示晴天:");
int weather = scann.nextInt();
if(weather == 1){
	System.out.print("請再輸入您的性別,1表示男,0表示女:");
	int sex = scann.nextInt();
	if(sex == 0){
		System.out.println("女士,外面下雨了,您需要帶一把小花傘");
	}else if(sex == 1){
		System.out.println("哥們,外面下雨了,您需要帶一把大黑傘");
	}else{
		System.out.println("對不起,您輸入性別參數出錯了!");
	}
}else if(weather == 0){
	System.out.println("走起,一起出去玩耍嘍!");
}else{
	System.out.println("對不起,您輸入天氣參數出錯了!");
}

運行結果如下圖所示:

if語句嵌套演示

if語句嵌套演示

圖6-6:if語句嵌套演示

通過以上的程序我們得知,if語句是可以進行嵌套使用的,也就是說if語句的某個分支當中還可以繼續編寫其它if語句。實際上所有的控制語句都是可以進行嵌套使用的。語句嵌套這個知識點本來是不需要拿來進行特殊強調的,專門強調之后反而會讓初學者特殊對待,我希望大家不要特殊對待嵌套。雖然被嵌套的是一個控制語句,但這個控制語句也是一段普通的java程序,你說呢!如下圖:

控制語句嵌套

圖6-7:控制語句嵌套

總之,選擇語句之if語句,在實際開發中使用頻率非常高,大家一定要掌握if語句的編寫方式以及運行原理,也可以自己想一些現實生活中的小例子加以練習。 

全部教程
主站蜘蛛池模板: 国产成人精品在线观看 | 中文国产成人精品久久久 | 国产精品一二三区 | 美国俄罗斯毛片一区二区 | 日本高清在线播放一区二区三区 | 免费a大片 | 一区二区中文字幕 | 欧美黄视频在线观看 | 色偷偷偷 | 中文字幕亚洲精品 | 黄色片一级视频 | 国产麻豆入在线观看 | 影音先锋2021色资源网站 | 最近中文免费字幕8 | 一区二区在线观看视频 | 中文在线资源链接天堂 | 日韩中文字幕久久久经典网 | 国产精品成人不卡在线观看 | 亚洲爆爽 | 夜夜爽夜夜爱 | 日韩高清免费观看 | 黄色毛片视频 | 国产成人理在线观看视频 | 久久er热在这里只有精品85 | 我要看一级大片 | 26uuu在线观看 | 91久操| 你懂得在线播放 | 久久国产视频精品 | 亚洲欧美人成人综合在线50p | 东京加勒比中文字幕波多野结衣 | 日韩欧美第一页 | 久草新视频 | 日本一区二区免费看 | 丰满毛片| 中文字幕 日韩在线 | 久久丝袜精品中文字幕 | 国产 欧美 日产中文 | 黄色免费网址在线观看 | 日韩久久网 | 国产欧美一区二区三区精品 |