咱們不少時候須要去判斷一個東西是否可行,而後咱們纔去執行,這樣一個過程在程序中用if語句來表示。express
語法數組
if (布爾表達式){服務器
//若是布爾表達式爲true將執行的語句ide
}性能
那如今有個需求,公司要收購一個軟件,成功了,給人支付100萬元;失敗了,本身找人開發。blog
這樣的需求用一個if就搞不定了,咱們須要有兩個判斷,須要一個雙選擇結構,因此就有了if-else結構。開發
語法字符串
if(布爾表達式){it
//若是布爾表達式的值爲trueio
}else{
//若是布爾表達式的值爲false
}
咱們發現剛纔的代碼不符合實際狀況,真實狀況還可能存在ABCD,存在區間多級判斷。好比90-100就是A,80-90就是B....等等,在生活中咱們不少時候的選擇也不單單隻有兩個,因此咱們須要一個多選擇結構來處理這類問題。
語法
if(布爾表達式1){
//若是布爾表達式1的值爲true執行代碼
}else if(布爾表達式2){
//若是布爾表達式2的值爲true執行代碼
}else if(布爾表達式3){
//若是布爾表達式3的值爲true執行代碼
}else {
//若是以上布爾表達式都不爲true執行代碼
}
if語句至多有1個else語句,else語句在全部的else if 語句以後。
if語句能夠有若干個else if語句,它們必須在else語句以前,一旦有一個else if 語句檢測爲true,其餘的else if 以及else語句都將跳過執行。
使用嵌套的if....else語句是合法的,也就是說你能夠在另外一個if或者else if 語句中使用if或者else if 語句,你能夠像if語句同樣嵌套else if....else。
語法
if(布爾表達式1){
//// 若是布爾表達式1的值爲true執行代碼
if(布爾表達式2){
////若是布爾表達式2的值爲true執行代碼
}
}
多選擇結構還有一個實現方式就是switch case語句。
switch case 語句判斷一個變量與一系列值中某個值是否相等,每一個值稱爲一個分支。
匹配一個具體的值
switch語句中的變量類型能夠是:
byte、short、int或者char
從Java SE 7 開始
switch支持字符串String類型了
同時case標籤必須爲字符串常量或字面量
語法
switch(expression){
case value :
//語句
break;//可選
case value :
//語句
break;//可選
//你能夠有任意數量的case語句
default://可選
//語句
}
while循環
do....while循環
for循環
Java 5中引入一種主要用於數組的加強型for循環
while是最基本的循環,它的結構是:
while(布爾表達式){
//循環內容
}
只要布爾表達式爲true,循環會一直執行下去。
咱們大多數狀況是會讓循環中止下來的,咱們須要一個讓表達式失效的方式來結束循環。
少部分狀況須要循環一直執行,好比服務器的請求響應監聽等。
循環條件一直爲true就會形成無限循環(死循環),咱們正常的業務編輯中應該儘可能避免死循環,會影響程序性能或者形成程序卡死崩潰。
@輸出1~100
@無效代碼(死循環)
@1+2+...+100=?
對於while語句而言,若是不知足條件,則不能進入循環,但有時候咱們須要即便不知足條件,也至少執行一次。
do....while循環和while循環類似,不一樣的是,do...while循環至少會執行一次。
do{
//代碼語句
} while(布爾表達式);
while和do...while的區別
while先判斷後執行,do...while是先執行後判斷!
Do....while老是保證循環體會被至少執行一次,這是他們的主要差異。