生活中,咱們常常須要先作判斷,而後才決定是否要作某件事情。例如,若是考試成績大於 90 分,則獎勵一個 IPHONE 5S 。對於這種「須要先判斷條件,條件知足後才執行的狀況」,就可使用 if 條件語句實現。編程
語法:spa
執行過程:3d
如:blog
注意哦:若是 if 條件成立時的執行語句只有一條,是能夠省略大括號!但若是執行語句有多條,那麼大括號就是不可或缺。it
if...else 語句的操做比 if 語句多了一步: 當條件成立時,則執行 if 部分的代碼塊; 條件不成立時,則進入 else 部分。例如,若是考試成績大於 90 分,則獎勵一個 IPHONE 5S ,不然罰作 500 個俯臥撐。變量
語法:循環
執行過程:語法
如:程序
多重 if 語句,在條件 1 不知足的狀況下,纔會進行條件 2 的判斷;當前面的條件均不成立時,纔會執行 else 塊內的代碼。例如,若是考試成績大於 90 分,則獎勵一個 IPHONE 5S ,若是成績介於 70 分至 90 分之間,則獎勵一個紅米,不然罰作 500 個俯臥撐。im
語法:
執行過程:
如:
該段代碼的含義是:若是 score 值大於90,則獎勵一個 Iphone 5s ,當 score 值小於等於 90 時,先判斷 score 是否大於 70 ,若是 score 是介於 70--90 之間,則獎勵一個紅米,若是成績小於等於 70 ,則罰作 500 個俯臥撐
當須要判斷的條件是連續的區間時,使用多重 if 語句是很是方便!
嵌套 if 語句,只有當外層 if 的條件成立時,纔會判斷內層 if 的條件。例如,活動計劃的安排,若是今天是工做日,則去上班,若是今天是週末,則外出遊玩;同時,若是週末天氣晴朗,則去室外遊樂場遊玩,不然去室內遊樂場遊玩。
語法:
執行過程:
例如:
運行結果爲: 去室外遊樂場玩
當須要對選項進行等值判斷時,使用 switch 語句更加簡潔明瞭。例如:根據考試的名次,給予前 4 名不一樣的獎品。第一名,獎勵筆記本一臺;第二名,獎勵 IPAD 2 一個;第三名,獎勵移動電源一個;最後一名獎勵 U 盤一個。
語法:
執行過程:當 switch 後表達式的值和 case 語句後的值相同時,從該位置開始向下執行,直到遇到 break 語句或者 switch 語句塊結束;若是沒有匹配的 case 語句則執行 default 塊的代碼。
如:
不得不說的幾點小祕密:
一、 switch 後面小括號中表達式的值必須是整型或字符型
二、 case 後面的值能夠是常量數值,如 一、2;也能夠是一個常量表達式,如 2+2 ;但不能是變量或帶有變量的表達式,如 a * 2
三、 case 匹配後,執行匹配塊裏的程序代碼,若是沒有碰見 break 會繼續執行下一個的 case 塊的內容,直到遇到 break 語句或者 switch 語句塊結束 如
運行結果:
四、 能夠把功能相同的 case 語句合併起來,如
五、 default 塊能夠出如今任意位置,也能夠省略
生活中,有些時候爲了完成任務,須要重複的進行某些動做。如參加 10000 米長跑,須要繞 400 米的賽道反覆的跑 25 圈。在 Java 中實現功能時,也常常須要重複執行某些代碼,例如,咱們爲了表示「濃烈的愛」,但願輸出 1000 行「我愛慕課網!」。顯然,此時重複敲 1000 遍輸出語句是不靠譜的!那麼,有沒有好的辦法來解決呢? 有,循環語句!
Java 經常使用的 3 種循環: while 、 do...while 、 for
語法:
執行過程:
1 、 判斷 while 後面的條件是否成立( true / false )
2 、 當條件成立時,執行循環內的操做代碼 ,而後重複執行< 1 >、< 2 >, 直到循環條件不成立爲止
特色:先判斷,後執行
如:
do...while 循環與 while 循環語法有些相似,但執行過程差異比較大。
語法:
執行過程:
一、 先執行一遍循環操做,而後判斷循環條件是否成立
二、 若是條件成立,繼續執行< 1 > 、< 2 >,直到循環條件不成立爲止
特色: 先執行,後判斷
因而可知,do...while 語句保證循環至少被執行一次!
例如,依然輸出 1000 遍「我愛慕課網」,使用 do...while 的實現代碼爲:
Java 的循環結構中除了 while 和 do...while 外,還有 for 循環,三種循環能夠相互替換。
語法:
執行過程:
一、 執行循環變量初始化部分,設置循環的初始狀態,此部分在整個循環中只執行一次
二、 進行循環條件的判斷,若是條件爲 true ,則執行循環體內代碼;若是爲 false ,則直接退出循環
三、 執行循環變量變化部分,改變循環變量的值,以便進行下一次條件判斷
四、 依次從新執行二、三、4,直到退出循環
特色:相比 while 和 do...while 語句結構更加簡潔易讀
例如,輸出 1000 遍「我愛慕課網」,使用 for 的實現代碼爲:
須要留心的幾個小細節:
一、 for 關鍵字後面括號中的三個表達式必須用 「;」 隔開,三個表達式均可以省略,但 「;」 不能省略。
a. 省略「循環變量初始化」,能夠在 for 語句以前由賦值語句進行變量初始化操做,如:
b. 省略「循環條件」,可能會形成循環將一直執行下去,也就是咱們常說的「死循環」現象,如:
在編程過程當中要避免「死循環」的出現,所以,對於上面的代碼能夠在循環體中使用 break 強制跳出循環(關於 break 的用法會在後面介紹)。
c. 省略「循環變量變化」,能夠在循環體中進行循環變量的變化,如:
二、 for 循環變量初始化和循環變量變化部分,能夠是使用 「,」 同時初始化或改變多個循環變量的值,如:
代碼中,初始化變量部分同時對兩個變量 i 和 j 賦初值,循環變量變化部分也同時對兩個變量進行變化,運行結果:
三、 循環條件部分可使用邏輯運算符組合的表達式,表示複雜判斷條件,但必定注意運算的優先級,如:
代碼中,必須同時知足變量 i 小於 10 ,而且 i 不等於 5 時纔會進行循環,輸出變量 i 的值。
生活中,咱們常常會由於某些緣由中斷既定的任務安排。如在參加 10000 米長跑時,才跑了 500 米就因爲體力不支,須要退出比賽。在 Java 中,咱們可使用 break 語句退出指定的循環,直接執行循環後面的代碼。
例如,使用循環輸出 1--10的數值,其中,若是數值大於 2 ,而且爲 3 的倍數則中止輸出。
實現代碼:
運行結果:
continue 的做用是跳過循環體中剩餘的語句執行下一次循環。
例如,打印 1--10 之間全部的偶數,使用 continue 語句實現代碼爲:
運行結果:
循環體中包含循環語句的結構稱爲多重循環。三種循環語句能夠自身嵌套,也能夠相互嵌套,最多見的就是二重循環。在二重循環中,外層循環每執行一次,內層循環要執行一圈。
以下所示:
例如:使用 * 打印長方形:
實現代碼爲:
執行流程:當 i = 1 時,外層循環條件成立,進入內層循環,開始打印第一行內容。此時, j 從 1 開始,循環 8 次,內層循環結束後換行,實現第一行 8 個 * 的輸出。接下來返回外層循環 i 變爲 2 ,準備打印下一行,依此類推,直到完成長方形的打印。