国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

黑馬程序員-------Java基礎(chǔ)學(xué)習(xí)(一)Java中基本的幾種程序流程控制

2019-11-15 00:04:51
字體:
供稿:網(wǎng)友
黑馬程序員-------java基礎(chǔ)學(xué)習(xí)(一)Java中基本的幾種程序流程控制

 ------- android培訓(xùn)、java培訓(xùn)、期待與您交流! ----------

一、if/else構(gòu)成的判斷結(jié)構(gòu)

if(條件表達式){    表達式1;}else{     表達式2;}

其含義為,如果if后邊的條件表達式為true,則執(zhí)行表達式1,否則執(zhí)行表達式2;

相當(dāng)于之前學(xué)到的三元運算符組成的判斷結(jié)構(gòu):

(條件表達式)?表達式1:表達式2

其含義為:當(dāng)括號內(nèi)的條件表達式邏輯值為true時,執(zhí)行表達式1,本次運算結(jié)束;

當(dāng)括號內(nèi)的條件表達式邏輯值為false時,執(zhí)行表達式2,本次運算結(jié)束。

注:三元運算符的好處是可以簡化if/else代碼,但也存在弊端,它僅僅是一個運算符,所以運算后必須要有一個具體的結(jié)果。

if(條件表達式1){    表達式1;}else if(條件表達式2){     表達式2;}else if(條件表達式3){   表達式3;}……else{   表達式N}

這種結(jié)構(gòu),只要運算到某一條件表達式時,該條件表達式滿足,則結(jié)束整體的運算。

二、選擇結(jié)構(gòu)

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

 Switch(表達式)//表達式的數(shù)據(jù)類型只能為byte、short、int或char類型{ /* default:   執(zhí)行語句;   break;當(dāng)default在選擇結(jié)果的最前端時,只有一下case跟的取值結(jié)果全部匹配,才會執(zhí)行default后邊的執(zhí)行語句,此時一定要書寫break,如果此處沒有break,則繼續(xù)向下執(zhí)行,但并不與case跟的取值進行匹配運算,直接執(zhí)行后面的每條執(zhí)行語句,直至遇到break或 } 才會停止。*/  case 取值1:     執(zhí)行語句1;     break;case 取值2:     執(zhí)行語句2;     break; ……default:   執(zhí)行語句;//只有當(dāng)以上答案全不對時,執(zhí)行default后邊跟的默認執(zhí)行語句   break;//此時break可有可無}

注:swtich不能判斷結(jié)果為布爾型的條件。

當(dāng)對具體的數(shù)據(jù)(byte、short、int或char類型)進行判斷,且數(shù)值不多時,可以用swtich結(jié)構(gòu);

若當(dāng)值為區(qū)間或者布爾型時,可以用if結(jié)構(gòu),if結(jié)構(gòu)的適用范圍更廣。

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

(一)while 和do/while 的循環(huán)結(jié)構(gòu)

1)

while(條件表達式) {        循環(huán)體(執(zhí)行語句);//如果循環(huán)體中沒有控制條件則一直執(zhí)行循環(huán)體中的內(nèi)容。}

2)

do {      循環(huán)體; }   while(條件表達式)//無論條件是否滿足,至少執(zhí)行一次do后邊的循環(huán)體。

區(qū)別:

A:while 先判斷條件,只有當(dāng)條件滿足時,才會執(zhí)行循環(huán)體的內(nèi)容。

B: do/while 先執(zhí)行一邊循環(huán)體的內(nèi)容,若條件滿足,則再繼續(xù)執(zhí)行循環(huán)。

(二) for循環(huán)

for(初始化表達式;循環(huán)條件表達式;循環(huán)后的操作表達式)         {                   執(zhí)行語句;         }

圖為for循環(huán)的過程示意圖

for循環(huán)結(jié)構(gòu)和while循環(huán)結(jié)構(gòu)的區(qū)別:

1) 若該變量僅限于作為循環(huán)內(nèi)的循環(huán)增量存在,用于控制循環(huán)次數(shù),則用for循環(huán)結(jié)構(gòu),語句簡單,可以優(yōu)化內(nèi)存。

2) for循環(huán)結(jié)構(gòu)中所定義的變量,作用于只限于該循環(huán)結(jié)構(gòu)內(nèi),循環(huán)執(zhí)行完畢后,該變量在內(nèi)存中被自動釋放,而while循環(huán)結(jié)構(gòu)中的變量通常是在循環(huán)結(jié)構(gòu)外定義的,循環(huán)結(jié)束后仍然存在

延伸:無限循環(huán)的最簡單表達方式

for(;;)

{

}

while(true)

{

}

注意:循環(huán)中一定要明確哪些語句需要參與循環(huán),哪些不需要

循環(huán)中的累加思想:通過變量記錄住循環(huán)操作后的結(jié)果

1) 記錄每次變化的結(jié)果

2) 通過循環(huán)進行累加的動作

(三)拓展:在JDK1.5版本中增加了高級for循環(huán)的新特性

格式:

for(變量類型 變量 : 要被遍歷的集合或數(shù)組)        {                   循環(huán)體;         }

高級for循環(huán)的底層原理是Iterator迭代器,這種方式對集合進行遍歷,只能夠獲取元素而不能對元素所在集合進行操作。

與普通for循環(huán)的區(qū)別:高級for循環(huán)有一個局限性,就是一定要有被遍歷的目標,例如:

如果循環(huán)進行打印某條語句,可以通過普通for循環(huán)控制次數(shù),但卻不能使用高級for循環(huán)進行操作

for(int x=0;x<100;x++){         System.out.

這種情況就不能夠使用高級for循環(huán),因為for循環(huán)只是在控制循環(huán)次數(shù),沒有要被遍歷的目標集合或數(shù)組;

建議在遍歷數(shù)組時還是使用傳統(tǒng)的for循環(huán), 因為傳統(tǒng)的for循環(huán)在遍歷時還可以根據(jù)獲取數(shù)組角標對數(shù)組進行操作。

四、在循環(huán)結(jié)構(gòu)中,我們通常會用到break(跳出)和continue(繼續(xù))的操作,下面來總結(jié)一下二者的使用方法:

break語句的作用

(1) 只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。(2) 當(dāng)break出現(xiàn)在循環(huán)體中的switch語句體內(nèi)時,其作用只是跳出該switch語句體。(3) 當(dāng)break出現(xiàn)在循環(huán)體中,但并不在switch語句體內(nèi)時,則在執(zhí)行break后,跳出本層循環(huán)體。

(4) 在循環(huán)結(jié)構(gòu)中,應(yīng)用break語句使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)。

continue語句作用

(1) continue語句的一般形式為:continue;

(2) 其作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)的條件判定。(3) 注意:執(zhí)行continue語句并沒有使整個循環(huán)終止。在while和do-while循環(huán)中,continue語句使得流程直接跳到循環(huán)控制條件的測試部分,然后決定循環(huán)是否繼續(xù)進行。

(4) 在for 循環(huán)中,遇到continue后,跳過循環(huán)體中余下的語句,而去對for語句中的“循環(huán)后的操作表達式”求值,然后進行“循環(huán)條件表達式”的條件測試,最后根據(jù)“循環(huán)條件表達式”的值來決定for循環(huán)是否執(zhí)行。在循環(huán)體內(nèi),不論continue是作為何種語句中的語句成分,都將按上述功能執(zhí)行,這點與break有所不同。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤台县| 广宁县| 奎屯市| 科技| 常宁市| 萨嘎县| 沾益县| 木兰县| 杭锦后旗| 府谷县| 图片| 襄汾县| 石狮市| 抚远县| 浏阳市| 米林县| 大足县| 南城县| 屯门区| 汉源县| 黔西县| 沅江市| 安泽县| 江油市| 太保市| 忻城县| 尖扎县| 余姚市| 宜黄县| 大洼县| 招远市| 江门市| 都兰县| 石泉县| 柳州市| 义马市| 元阳县| 宁阳县| 昔阳县| 丹江口市| 开江县|