一。 if分支
1. 結構 if else if else
2.執行原則
if if if 結構 會一直去執行()里的判斷語句
if else if else if 結構 只要一條()的結果是true,不會執行接下來的判斷
一個 if 跟 一個else 一個if 可跟多個else if 如果if 或者 else if 里的條件都不滿足,便會執行else里的代碼,只要有else 出現就一定有分支里的代碼執行
二。 swich case default 分支(個人認為比較麻煩,我也不常用)
swich 的變量只能是 byte , short , char ,int 4個 java 7以上String 也可;
一般會在分支代碼后面加上break,不然會執行之后分支的代碼,default 跟else 功能類似
swich (變量){
case a;
{
do;
break;
}
case b;
{
do;
break;
}
default;
{
do;
break;
}
}
三。while do while
while (boolean){
true do;
}
與if不同,while 會循環比對()里的值,如果是true就會一直執行,直到()的為false才停下來,如果一直是true就會造成死循環;
do { do} while () 與while不同的是 do while 是先執行再判斷,while 是先判斷后執行
四。for
for(初始化語句;條件判斷;迭代語句){}
for循環開始是會執行初始化語句,僅會執行一次,之后會根據 判斷條件 執行迭代語句和循環體代碼;
for循環可初始化多個變量如 for(int a=1,b=2;條件;迭代){},但是迭代只能有1個變量,執行一個賦值數學運算;邏輯判斷可由多個邏輯判斷組成的一個
for(; ;){do} for循環的()可之寫兩;; 號,其他什么都不寫,但是是個死循環;
因此for循環應該最少寫判斷條件,相當於while ;for (; 條件判斷 ;){}
五。循環的跳出 終止
return 跳出一切代碼 只能用於有返回值的方法;
break 結束掉當前的循環 如果要結束多層循環 需要在想結束的那一層循環上加入 outer: 並且 break 要變為 break outer;
continue 跳出continue以后的代碼,准備執行當前循環的下一次循環; 如果要跳出多層循環 需要在想跳出的那一層循環上加入 outer: 並且continue要變成 continue outer;
六。foreach循環
語法: for ( 數據類型 變量名 : 數組或者集合(list.set) )
注意事項: foreach 循環中對數組或者集合元素賦值是沒有用的,實際原理,循環數組或者集合時,先把值復制給了變量,再賦值實際是給變量復制,數組或集合元素並無改變。
順道寫一下map的foreach 循環
Map<String, String> map=new HashMap<String, String>();
for (Entry<String, String> entry : map.entrySet()) {
}
Map的entrySet()方法實際上得到的是一個set集合