從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

創(chuàng)新互聯(lián)建站公司2013年成立,先為翁牛特等服務(wù)建站,翁牛特等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為翁牛特企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

我們從零開始學(xué)習(xí)大數(shù)據(jù)技術(shù),從java基礎(chǔ),到Linux技術(shù)涉獵,再深入到大數(shù)據(jù)技術(shù)的Hadoop、Spark、Storm技術(shù),最后到大數(shù)據(jù)企業(yè)平臺的搭建,層層遞進(jìn),由點(diǎn)到面!希望技術(shù)大牛能過來指導(dǎo)學(xué)習(xí)。

上一節(jié)學(xué)習(xí)了三元運(yùn)算符/鍵盤錄入,本節(jié)學(xué)習(xí)流程控制語句。

開始之前,我們先看一下上節(jié)的練習(xí)題。

一、練習(xí)題

(1)鍵盤錄入三個數(shù)據(jù),獲取三個數(shù)據(jù)中最大值,程序如下:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果如下:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

(2)鍵盤錄入兩個數(shù)據(jù),比較兩個數(shù)據(jù)是否相等,程序代碼如下:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果如下:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

二、流程控制語句

通過我們前面的學(xué)習(xí),我們應(yīng)該可以感覺到在一個程序執(zhí)行的過程中,各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的,也就是說程序的流程對運(yùn)行結(jié)果有直接的影響。

所以,我們必須要清楚每條語句的執(zhí)行過程。而且,很多時候我們要通過控制語句的執(zhí)行順序來實(shí)現(xiàn)我們要完成的功能。

下面我們來講講流程控制語句的分類(主要有三種):

  • 順序結(jié)構(gòu)

  • 選擇結(jié)構(gòu)

  • 循環(huán)結(jié)構(gòu)

流程控制語句概念:可以控制程序的執(zhí)行流程

1、順序結(jié)構(gòu)

規(guī)則:從上往下,依次執(zhí)行

舉例:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

2、選擇結(jié)構(gòu)(也被稱為分支結(jié)構(gòu))

選擇結(jié)構(gòu)有兩種語句,分別為如下:

  • if 語句

  • switch語句

   

if語句

if語句(三種格式)

  1. 格式1:適合做單個判斷

  2. 格式2:適合做兩個判斷

  3. 格式3:適合做多個判斷

if語句格式1

if(比較表達(dá)式){

語句體;

}

執(zhí)行流程規(guī)則:

  • 先計算比較表達(dá)式的值,看其返回值是true,還是false.

  • 如果是true,就執(zhí)行語句體;

  • 如果是false,就不執(zhí)行語句體。

程序代碼舉例:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

  • 可見,在if語句中,x等于10為true,大括號里的語句體可以正常執(zhí)行;

  • x等于20為false,大括號里的語句體不執(zhí)行,但不影響后面的語句“over”執(zhí)行.

if語句的注意事項:

  1. 比較表達(dá)式無論簡單還是復(fù)雜,結(jié)果必須是boolean類型

  2. if語句的語句體如果是一條語句,大括號可以省略;

  3. 如果是多條語句,就不能省略,建議永遠(yuǎn)都不要省略。

  4. 一般來說,有左大括號就沒有分號,有分號就沒有左大括號

如下程序代碼,if語句里面的表達(dá)式都是布爾類型的

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

if語句格式2


if(比較表達(dá)式){

語句體1;

}else {

語句體2;

}

執(zhí)行流程:

  • 首先計算比較表達(dá)式的值,看其返回值式true還是false.

  • 如果式true,就執(zhí)行語句體1;

  • 如果式false,就執(zhí)行語句體2;

注意:else后面是沒有比較表達(dá)式的,只有if后面才會加表達(dá)式

程序代碼案例,如下:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

練習(xí)題:


下面我們針對if else語句做兩個練習(xí)題:

1、獲取兩個數(shù)據(jù)中較大的值

2、判斷一個數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸出

程序代碼如下,我將兩道題都通過下述代碼實(shí)現(xiàn):

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

執(zhí)行結(jié)果:


從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

  • 可見,if語句和三元運(yùn)算符可以完成相同的效果,但也是有需要注意以下的區(qū)別:

區(qū)別:

三元運(yùn)算符實(shí)現(xiàn)的,都可以采用if語句實(shí)現(xiàn),反之不成立。

什么時候if語句實(shí)現(xiàn)不能用三元運(yùn)算符改進(jìn)呢?

  • 當(dāng)if語句控制的操作是一個輸出語句的時候就不能。

  • 因?yàn)槿\(yùn)算符是一個運(yùn)算符,必須要有一個結(jié)果返回,不能是一個輸出語句。

案例:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)


程序執(zhí)行結(jié)果:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)


如果將判斷奇偶的例子,使用三元運(yùn)算做改進(jìn),可以參照以下程序代碼:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

程序執(zhí)行結(jié)果:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

  • 可見,驗(yàn)證了我們前面提到的三元運(yùn)算符實(shí)現(xiàn)的,都可以采用if語句實(shí)現(xiàn),反之不成立的結(jié)論。

if語句的格式3


if(比較表達(dá)式1){

語句體1;

}else if(比較表達(dá)式2){

語句體2;

}else if(比較表達(dá)式3){

語句體3;

}

...

else{

語句體n+1;

}

執(zhí)行流程:

  • 首先計算表達(dá)式1看其返回值是true還是false,

  • 如果是true,就執(zhí)行語句體1,if語句結(jié)束。

  • 如果是false,接著計算比較表達(dá)式2看其返回值是true還是false

  • 如果是true,就執(zhí)行語句體2,if語句結(jié)束

  • 如果是false,接著計算比較表達(dá)式3,看其返回值是true還是false.

  • ...

  • 如果是false,則執(zhí)行語句體n+1.

舉例:鍵盤錄入一個成績,判斷并輸出成績的等級。

  • 90 - 100 優(yōu)秀

  • 80 - 90 好

  • 70 - 80 良

  • 60 - 70 及格

  • 0 - 60 不及格

程序代碼如下:

程序執(zhí)行結(jié)果:

注意:

在寫一個程序的基本測試的時候,一定要考慮以下幾個問題:

  • 正確數(shù)據(jù)

  • 錯誤數(shù)據(jù)

  • 邊界數(shù)據(jù)

所以針對上面的數(shù)據(jù),我們可以做個改進(jìn),先判斷先錯誤數(shù)據(jù),這樣會更好,如下:

擴(kuò)展練習(xí)題(自行完成):

1、獲取兩個數(shù)據(jù)中較大的值

2、判斷一個數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸出

本節(jié)我們就先告一段落,下一節(jié)我們將學(xué)習(xí)Switch語句

往期文章:

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)開篇(1)

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)語法(2)

從零開始學(xué)大數(shù)據(jù)-Java運(yùn)算符(3)

從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-三元運(yùn)算符/鍵盤錄入(4)


從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)

名稱欄目:從零開始學(xué)大數(shù)據(jù)-Java基礎(chǔ)-流程控制語句(5)
轉(zhuǎn)載來源:http://bm7419.com/article32/jcipsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、云服務(wù)器自適應(yīng)網(wǎng)站、虛擬主機(jī)、網(wǎng)站設(shè)計、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司