您好,登錄后才能下訂單哦!
我們從零開始學習大數據技術,從java基礎,到Linux技術涉獵,再深入到大數據技術的Hadoop、Spark、Storm技術,最后到大數據企業平臺的搭建,層層遞進,由點到面!希望技術大牛能過來指導學習。
上一節學習了三元運算符/鍵盤錄入,本節學習流程控制語句。
開始之前,我們先看一下上節的練習題。
一、練習題
(1)鍵盤錄入三個數據,獲取三個數據中最大值,程序如下:
程序執行結果如下:
(2)鍵盤錄入兩個數據,比較兩個數據是否相等,程序代碼如下:
程序執行結果如下:
二、流程控制語句
通過我們前面的學習,我們應該可以感覺到在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的,也就是說程序的流程對運行結果有直接的影響。
所以,我們必須要清楚每條語句的執行過程。而且,很多時候我們要通過控制語句的執行順序來實現我們要完成的功能。
下面我們來講講流程控制語句的分類(主要有三種):
順序結構
選擇結構
循環結構
流程控制語句概念:可以控制程序的執行流程
1、順序結構
規則:從上往下,依次執行
舉例:
程序執行結果:
選擇結構有兩種語句,分別為如下:
if 語句
switch語句
if語句
if語句(三種格式)
格式1:適合做單個判斷
格式2:適合做兩個判斷
格式3:適合做多個判斷
if(比較表達式){
語句體;
}
執行流程規則:
先計算比較表達式的值,看其返回值是true,還是false.
如果是true,就執行語句體;
如果是false,就不執行語句體。
程序代碼舉例:
程序執行結果:
可見,在if語句中,x等于10為true,大括號里的語句體可以正常執行;
x等于20為false,大括號里的語句體不執行,但不影響后面的語句“over”執行.
if語句的注意事項:
比較表達式無論簡單還是復雜,結果必須是boolean類型
if語句的語句體如果是一條語句,大括號可以省略;
如果是多條語句,就不能省略,建議永遠都不要省略。
一般來說,有左大括號就沒有分號,有分號就沒有左大括號
如下程序代碼,if語句里面的表達式都是布爾類型的
②if語句格式2
if(比較表達式){
語句體1;
}else {
語句體2;
}
執行流程:
首先計算比較表達式的值,看其返回值式true還是false.
如果式true,就執行語句體1;
如果式false,就執行語句體2;
注意:else后面是沒有比較表達式的,只有if后面才會加表達式
程序代碼案例,如下:
程序執行結果:
練習題:
下面我們針對if else語句做兩個練習題:
1、獲取兩個數據中較大的值
2、判斷一個數據是奇數還是偶數,并輸出
程序代碼如下,我將兩道題都通過下述代碼實現:
執行結果:
可見,if語句和三元運算符可以完成相同的效果,但也是有需要注意以下的區別:
區別:
三元運算符實現的,都可以采用if語句實現,反之不成立。
什么時候if語句實現不能用三元運算符改進呢?
當if語句控制的操作是一個輸出語句的時候就不能。
因為三元運算符是一個運算符,必須要有一個結果返回,不能是一個輸出語句。
案例:
程序執行結果:
如果將判斷奇偶的例子,使用三元運算做改進,可以參照以下程序代碼:
程序執行結果:
可見,驗證了我們前面提到的三元運算符實現的,都可以采用if語句實現,反之不成立的結論。
③if語句的格式3
if(比較表達式1){
語句體1;
}else if(比較表達式2){
語句體2;
}else if(比較表達式3){
語句體3;
}
...
else{
語句體n+1;
}
執行流程:
首先計算表達式1看其返回值是true還是false,
如果是true,就執行語句體1,if語句結束。
如果是false,接著計算比較表達式2看其返回值是true還是false
如果是true,就執行語句體2,if語句結束
如果是false,接著計算比較表達式3,看其返回值是true還是false.
...
如果是false,則執行語句體n+1.
舉例:鍵盤錄入一個成績,判斷并輸出成績的等級。
90 - 100 優秀
80 - 90 好
70 - 80 良
60 - 70 及格
0 - 60 不及格
程序代碼如下:
程序執行結果:
注意:
在寫一個程序的基本測試的時候,一定要考慮以下幾個問題:
正確數據
錯誤數據
邊界數據
所以針對上面的數據,我們可以做個改進,先判斷先錯誤數據,這樣會更好,如下:
擴展練習題(自行完成):
1、獲取兩個數據中較大的值
2、判斷一個數據是奇數還是偶數,并輸出
本節我們就先告一段落,下一節我們將學習Switch語句
往期文章:
從零開始學大數據-Java基礎開篇(1)
從零開始學大數據-Java基礎語法(2)
從零開始學大數據-Java運算符(3)
從零開始學大數據-Java基礎-三元運算符/鍵盤錄入(4)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。