




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一文詳解Java中流程控制語句目錄概述判斷語句ifif...elseif..elseif...elseif語句和三元運算符的互換選擇語句switchcase的穿透性循環(huán)語句forwhiledo...whilefor和while的小區(qū)別跳出語句breakcontinue死循環(huán)嵌套循環(huán)
概述
在一個程序執(zhí)行的過程中,各條語句的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。也就是說,程序的流程對運行結(jié)果有直接的影響。所以,我們必須清楚每條語句的執(zhí)行流程。而且,很多時候我們要通過控制語句的執(zhí)行順序來實現(xiàn)我們要完成的功能。
判斷語句
if
格式:
if(關(guān)系表達(dá)式){語句體;}
執(zhí)行流程:
首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false如果是true就執(zhí)行語句體如果是false就不執(zhí)行語句體
if...else
格式:
if(關(guān)系表達(dá)式){語句體1;}else{語句體2;}
執(zhí)行流程:
首先判斷關(guān)系表達(dá)式看其結(jié)果是true還是false如果是true就執(zhí)行語句體1如果是false就執(zhí)行語句體2
publicstaticvoidmain(String[]args){
//判斷給定的數(shù)據(jù)是奇數(shù)還是偶數(shù)
//定義變量
inta=1;
if(a%2==0){
System.out.println("a是偶數(shù)");
}else{
System.out.println("a是奇數(shù)");
System.out.println("結(jié)束");
}
if..elseif...else
格式:
if(判斷條件1){執(zhí)行語句1;}elseif(判斷條件2){執(zhí)行語句2;}...}elseif(判斷條件n){執(zhí)行語句n;}else{執(zhí)行語句n+1;}
執(zhí)行流程:
首先判斷關(guān)系表達(dá)式1看其結(jié)果是true還是false如果是true就執(zhí)行語句體1如果是false就繼續(xù)判斷關(guān)系表達(dá)式2看其結(jié)果是true還是false如果是true就執(zhí)行語句體2如果是false就繼續(xù)判斷關(guān)系表達(dá)式看其結(jié)果是true還是false如果沒有任何關(guān)系表達(dá)式為true,就執(zhí)行語句體n+1。
案例:
publicstaticvoidmain(String[]args){
//x和y的關(guān)系滿足如下:
//x=3y=2x+1;
//‐1=x3y=2x;
//x=‐1y=2x–1;
//根據(jù)給定的x的值,計算出y的值并輸出。
//定義變量
intx=5;
inty;
if(x=3){
y=2*x+1;
}elseif(x=‐1x3){
y=2*x;
}else{
y=2*x‐1;
System.out.println("y的值是:"+y);
}
if語句和三元運算符的互換
在某些簡單的應(yīng)用中,if語句是可以和三元運算符互換使用的。
publicstaticvoidmain(String[]args){
inta=10;
intb=20;
//定義變量,保存a和b的較大值
intc;
if(ab){
c=a;
}else{
c=b;
//可以上述功能改寫為三元運算符形式
c=aba:b;
}
選擇語句
switch
格式:
switch(表達(dá)式){case常量值1:語句體1;break;case常量值2:語句體2;break;...default:語句體n+1;break;}
執(zhí)行流程:
首先計算出表達(dá)式的值其次,和case依次比較,一旦有對應(yīng)的值,就會執(zhí)行相應(yīng)的語句,在執(zhí)行的過程中,遇到break就會結(jié)束。最后,如果所有的case都和表達(dá)式的值不匹配,就會執(zhí)行default語句體部分,然后程序結(jié)束掉。
publicstaticvoidmain(String[]args){
//定義變量,判斷是星期幾
intweekday=6;
//switch語句實現(xiàn)選擇
switch(weekday){
case1:
System.out.println("星期一");
break;
case2:
System.out.println("星期二");
break;
case3:
System.out.println("星期三");
break;
case4:
System.out.println("星期四");
break;
case5:
System.out.println("星期五");
break;
case6:
System.out.println("星期六");
break;
case7:
System.out.println("星期日");
break;
default:
System.out.println("你輸入的數(shù)字有誤");
break;
}
switch語句中,表達(dá)式的數(shù)據(jù)類型,可以是byte,short,int,char,enum(枚舉),JDK7后可以接收字符串。
case的穿透性
在switch語句中,如果case的后面不寫break,將出現(xiàn)穿透現(xiàn)象,也就是不會在判斷下一個case的值,直接向后運行,直到遇到break,或者整體switch結(jié)束。
publicstaticvoidmain(String[]args){
inti=5;
switch(i){
case0:
System.out.println("執(zhí)行case0");
break;
case5:
System.out.println("執(zhí)行case5");
case10:
System.out.println("執(zhí)行case10");
default:
System.out.println("執(zhí)行default");
}
上述程序中,執(zhí)行case5后,由于沒有break語句,程序會一直向后走,不會在判斷case,也不會理會break,直接運行完整體switch。由于case存在穿透性,因此初學(xué)者在編寫switch語句時,必須要寫上break。
循環(huán)語句
循環(huán)語句可以在滿足循環(huán)條件的情況下,反復(fù)執(zhí)行某一段代碼,這段被重復(fù)執(zhí)行的代碼被稱為循環(huán)體語句,當(dāng)反復(fù)執(zhí)行這個循環(huán)體時,需要在合適的時候把循環(huán)判斷條件修改為false,從而結(jié)束循環(huán),否則循環(huán)將一直執(zhí)行下去,形成死循環(huán)。
for
格式:
for(初始化表達(dá)式①;布爾表達(dá)式②;步進(jìn)表達(dá)式④){循環(huán)體③}
執(zhí)行流程:執(zhí)行順序:①②③④②③④②③④②不滿足為止。①負(fù)責(zé)完成循環(huán)變量初始化②負(fù)責(zé)判斷是否滿足循環(huán)條件,不滿足則跳出循環(huán)③具體執(zhí)行的語句④循環(huán)后,循環(huán)條件所涉及變量的變化情況
while
格式:
初始化表達(dá)式①while(布爾表達(dá)式②){循環(huán)體③步進(jìn)表達(dá)式④}
執(zhí)行流程:執(zhí)行順序:①②③④②③④②③④②不滿足為止。①負(fù)責(zé)完成循環(huán)變量初始化。②負(fù)責(zé)判斷是否滿足循環(huán)條件,不滿足則跳出循環(huán)。③具體執(zhí)行的語句。④循環(huán)后,循環(huán)變量的變化情況。while循環(huán)輸出10次HelloWorld:
publicstaticvoidmain(String[]args){
//while循環(huán)實現(xiàn)打印10次HelloWorld
//定義初始化變量
inti=1;
//循環(huán)條件=10
while(i=10){
System.out.println("HelloWorld");
//步進(jìn)
i++;
}
do...while
格式:
初始化表達(dá)式①do{循環(huán)體③步進(jìn)表達(dá)式④}while(布爾表達(dá)式②);
執(zhí)行流程:執(zhí)行順序:①③④②③④②③④②不滿足為止。①負(fù)責(zé)完成循環(huán)變量初始化。②負(fù)責(zé)判斷是否滿足循環(huán)條件,不滿足則跳出循環(huán)。③具體執(zhí)行的語句④循環(huán)后,循環(huán)變量的變化情況輸出10次HelloWorld:
publicstaticvoidmain(String[]args){
intx=1;
do{
System.out.println("HelloWorld");
x++;
}while(x=10);
}
do...while循環(huán)的特點:無條件執(zhí)行一次循環(huán)體,即使我們將循環(huán)條件直接寫成false,也依然會循環(huán)一次。這樣的循環(huán)具有一定的風(fēng)險性,因此初學(xué)者不建議使用do...while循環(huán)。
publicstaticvoidmain(String[]args){
System.out.println("無條件執(zhí)行一次");
}while(false);
}
for和while的小區(qū)別
控制條件語句所控制的那個變量,在for循環(huán)結(jié)束后,就不能再被訪問到了,而while循環(huán)結(jié)束還可以繼續(xù)使用,如果你想繼續(xù)使用,就用while,否則推薦使用for。原因是for循環(huán)結(jié)束,該變量就從內(nèi)存中消失,能夠提高內(nèi)存的使用效率。在已知循環(huán)次數(shù)的時候使用推薦使用for,循環(huán)次數(shù)未知的時推薦使用while。
跳出語句
break
使用場景:終止switch或者循環(huán)
在選擇結(jié)構(gòu)switch語句中在循環(huán)語句中離開使用場景的存在是沒有意義的
publicstaticvoidmain(String[]args){
for(inti=1;ii++){
//需求:打印完兩次HelloWorld之后結(jié)束循環(huán)
if(i==3){
break;
System.out.println("HelloWorld"+i);
}
continue
使用場景:結(jié)束本次循環(huán),繼續(xù)下一次的循環(huán)
publicstaticvoidmain(String[]args){
for(inti=1;i=10;i++){
//需求:不打印第三次HelloWorld
if(i==3){
continue;
System.out.println("HelloWorld"+i);
}
死循環(huán)
死循環(huán):也就是循環(huán)中的條件永遠(yuǎn)為true,死循環(huán)的是永不結(jié)束的循環(huán)。例如:while(true){}。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆宣城市重點中學(xué)數(shù)學(xué)七下期末考試試題含解析
- 編程語言的應(yīng)用領(lǐng)域分析試題及答案
- 2025屆四川省眉山市名校七下數(shù)學(xué)期末考試模擬試題含解析
- 四川省樂山七中學(xué)2025年八下數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 整合與創(chuàng)新2025年公司戰(zhàn)略與風(fēng)險管理的雙重路徑試題及答案
- 法學(xué)概論考試中的邏輯思維與試題及答案
- 浙江省嘉興市海寧市第一2025屆數(shù)學(xué)八下期末經(jīng)典模擬試題含解析
- 2025至2030年中國床罩三件套行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國冷風(fēng)機(jī)冷疑器行業(yè)投資前景及策略咨詢研究報告
- 軟件設(shè)計師考試模擬試題集試題及答案
- 安徽省1號卷A10聯(lián)盟2025屆高三5月最后一卷語文試題及答案
- 2025屆金融行業(yè)校招面試真題及答案
- 《重金屬廢水處理工藝中的鐵碳微電解塔設(shè)計案例》2100字
- 《心力衰竭護(hù)理》課件
- 西昌古詩文品讀智慧樹知到期末考試答案2024年
- GB/T 3836.31-2021爆炸性環(huán)境第31部分:由防粉塵點燃外殼“t”保護(hù)的設(shè)備
- GB_T 3795-2014 錳鐵(高清版)
- API-685-中文_
- 《地圖上的中國》課件
- 卡農(nóng)鋼琴譜(高清指法版)
- 個體工商戶登記(備案)申請書
評論
0/150
提交評論