標籤:.com 入口 塊代碼 釋放 調用 方法 ret tin 沒有
順序結構
程式的順序結構: 如果代碼裡沒有流程式控制制,程式是按照書寫的格式從上而下一行一行執行的, 一條語句執行完之後繼續執行下一條語句,中間沒有判斷和跳轉,直到程式的結束。
if語句
if語句使用boolean運算式或boolean值作為選擇條件,有三種結構形式: if翻譯成中文,表示如果......,就幹.......,
第一種結構形式:
if(boolean運算式){ 條件執行體}
if後面跟的{}表示一個整體—代碼塊,我們在這稱為條件執行體,也就是說條件為true,就執行這一塊代碼塊。
if語句的使用注意:
1):在if(boolean運算式)後面,{}前面,是沒有分號的.
2):如果if語句只控制一句話,那麼可以不使用{}.企業規範:都要求,無論if控制幾句話,統統使用花括弧.
3):操作boolean類型的變數的時候,下列代碼不專業.
第二種結構形式:
if(boolean運算式){ 條件執行體A}else{ 條件執行體B}
if-else語句和三元運算子:
從語義上二者的含義相同. 從本質上說,if-else是語句結構,三元運算子是一種運算子號. 三元 運算子必須有一個結果,運算式必須有結果,必須有返回. 而if-else,不能返回什麼結果,只能控制語句的結構.
注意: 1):不能在if(boolean運算式),使用分號. 2):不能直接使用else語句.
第三種結構形式:
if(boolean運算式A){ 條件執行體}else if (boolean 運算式B){ 條件執行體B}else{ 條件執行體C}
使用注意:
1):不能在if(boolean運算式),使用分號.
2):不能在else if(boolean運算式),使用分號.
3):不能直接使用else if語句,必須先使用if語句.
4):此時的else語句,表示上述所有條件都為false 的時候才會執行的代碼.
switch語句
switch語句結構的格式如下:
switch(整型運算式){ case A值: 運算式結果等於條件1時,執行此語句; break; case B值: 運算式結果等於條件2時,執行此語句; break; ... case C值: 運算式結果等於條件N時,執行此語句; break; default: 以上值都不滿足時,執行此語句; break;//一般不寫}注意:case之後的運算式結果必須是常量。
switch的使用細節和使用注意:
switch語句適用於對多個整型值進行匹配判斷,從而實現條件的分支控制。 和if語句不同的是:if語句後面是根據boolean運算式判斷的,所以運算式的結構可以任意寫,而switch只是相當於做“運算式 == 數值”的boolean運算式判斷。
,推出:其實if語句更強大,switch僅僅只是對整數類型的判斷而已,使用更簡單. 這裡的數值的類型是除long之外的整數型別,也就是說switch支援的類型是byte,short,char,int。
本質:switch僅僅只能支援int類型.(byte,short,char,會自動提升為int類型)
switch語句選擇的基礎資料型別 (Elementary Data Type)只有四種:byte、short、char、int,沒有long。
支援的參考型別是以上四個基礎資料型別 (Elementary Data Type)的封裝類(後講),依次是Byte、Short、Character、Integer以及從Java5開始支援的枚舉和Java7開始支援的String類。
case只是用來為switch選擇一個執行代碼的入口,如果一旦進入某個入口之後,後面的case實際上已經失去了判斷的意義,也就是說代碼在進入switch執行的時會把入口case之後的case統統忽略,會一直往下執行,直到遇到break或return。(穿透) 所以大家可以發現,每一個case後面沒有{}這個符號來表示一個代碼塊。
default表示,所有的case的值都不正確,一般放在switch的最後,也不需要使用break語句,
if和switch的選擇:
if和switch都屬於選擇語句,也就是說功能是相似的.
if: 判斷條件是boolean類型的.
switch: 判斷條件是 整數運算式 == int類型的值.
發現,switch只能適合對整數的值做判斷,如果是一其他類型的判斷,只能使用if語句. 選擇:如果是對整數運算式判斷等於多少,首選使用switch. 其他情況,使用if語句.
迴圈結構
迴圈語句:
1):while語句
2):do while語句
3):for語句
三種,可以完成相同的功能. 僅僅只是文法上有差異.
while迴圈:
格式: while(boolean運算式) { 迴圈體s }
while迴圈特點:先判斷運算式,若為true就執行迴圈體,否則,跳過迴圈體。
do while迴圈:
do{ 迴圈體語句}while(boolean運算式);
do while迴圈特點:先執行一次迴圈體,再判斷運算式,若為true就執行迴圈體,否則,跳過迴圈體。 也就是說do while是先執行後判斷,即使判斷條件為false,該迴圈至少會執行一次。
for迴圈:
for(初始化語句;boolean運算式;迴圈後動作陳述式){ 迴圈體語句}
初始化語句:表示對迴圈進行初始化,只在迴圈開始時執行一次,定義一個變數,並賦值。
boolean運算式:運算式為false時,迴圈終止,為true,才執行迴圈體。 迴圈後動作陳述式:迴圈每次迭代之後會調用該語句,一般的該語句都是遞增或遞減操作。
死迴圈和迴圈語句對比
迴圈語句都一樣,僅僅只是文法結構上不一樣而已.
提示: 三大迴圈,是可以互換的,一般情況下,要是指定次數的迴圈,選用for迴圈要方便點。
一般的,習慣上選擇i、j、k作為迴圈變數。
從效能上分析:for迴圈效能更高. 因為:變數定義在for迴圈裡面,for迴圈執行完畢,就會釋放該變數的儲存空間.
嵌套迴圈
若外迴圈的迴圈次數是m次,內迴圈的迴圈次數是n次,那麼內層迴圈的迴圈次數需要 m * n次。嵌套迴圈注意: 1.使用迴圈嵌套時,內層迴圈和外層迴圈的迴圈控制變數不能相同。 2.迴圈嵌套結構的書寫,最好採用“右縮排”格式,以體現迴圈層次的關係。 3.盡量避免太多和太深的迴圈嵌套結構
嵌套迴圈效能最佳化
嵌套迴圈案例
輸出矩形圖案***************
輸出三角形圖案***************
輸出九九乘法表
控制迴圈結構語句
break:終止當前所在的迴圈. stopbreak之後的語句執行不了,所以不能編寫.
continue語句: 繼續的意思. skip.跳過當前的迴圈,進入下一次迴圈操作.continue之後的語句執行不了,所以不能編寫.
return:表示結束迴圈所在的方法,方法都結束了,迴圈結構自然也就結束了。注意:break、continue、return後面的語句永遠沒有機會執行,所以不能再跟任何語句,否則編譯失敗。-------------------------------------------------------break和return都能結束當前迴圈: 如果迴圈之後的操作還得執行: break;
控制外層迴圈:此時就得使用標籤了,標籤就是給某個迴圈起的別名,不過該別名得滿足標識符的規範。若要控制外層迴圈,就在break或continue後面跟上迴圈的別名就OK了 如: break <標籤名>; continue <標籤名>;
java基礎 流程式控制制和條件陳述式,迴圈語句