Java語言編程基礎-程序流程控制結(jié)構(gòu)_第1頁
Java語言編程基礎-程序流程控制結(jié)構(gòu)_第2頁
Java語言編程基礎-程序流程控制結(jié)構(gòu)_第3頁
Java語言編程基礎-程序流程控制結(jié)構(gòu)_第4頁
Java語言編程基礎-程序流程控制結(jié)構(gòu)_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

Java程序設計基礎導言本課程學習目標認識程序流程控制結(jié)構(gòu)的分類了解流程控制語句中的關鍵字使用理解選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)流程實現(xiàn)原理掌握流程控制結(jié)構(gòu)的相關語法及使用程序結(jié)構(gòu)的基本類型本課學習目標了解語句和塊;理解程序結(jié)構(gòu)的基本類型;掌握分支結(jié)構(gòu)的流程控制。基本概念計算機程序是由一系列的語句組成的;構(gòu)成程序的所有語句對應實際問題的具體處理過程解決問題的詳細步驟稱為算法;換句話說,解決問題過程中需要執(zhí)行的操作及執(zhí)行操作的順序就是算法結(jié)構(gòu)化程序設計,有以下三大類型:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)

語句1語句2語句3分支結(jié)構(gòu)

分支語句分支語句條件循環(huán)結(jié)構(gòu)

循環(huán)語句判斷條件順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡單的控制結(jié)構(gòu),即語句按照在程序中的書寫順序依次執(zhí)行;在順序結(jié)構(gòu)的程序中,由一條條代碼語句組成。語句語句是程序最基本最重要的組成部分,是組成程序的基本單位,具有如下特點及分類:1.語句以分號結(jié)束;2.聲明語句;3.表達式語句;4.分支語句;5.循環(huán)語句;6.異常語句;7.空語句;塊程序中比語句大一個級別的單位就是塊;是用一對大括號{}將零個或多個語句括起來,就構(gòu)成一個塊(也叫復合語句);程序的類的類體及方法的方法體都是塊。塊的應用publicclassUseBlock{publicstaticvoidmain(String[]args){ inta=5; a+=8; { intb=6; b=b+a; System.out.println(a+""+b); }}}分支結(jié)構(gòu)分支結(jié)構(gòu)又稱為選擇結(jié)構(gòu),它根據(jù)計算表達式所得的值來判斷程序應該選擇流程的哪一個分支執(zhí)行;分支語句包括:if語句if….else語句switch語句。if語句if表達式的格式如下:if(條件表達式){

語句代碼}如果表達式的值為true,則執(zhí)行代碼塊里面語句;如果表達式的值為false,則跳過代碼塊里面語句。if語句流程圖表示

開始接收年齡ageifage==20輸出該人年齡結(jié)束truefalseif語句應用publicstaticvoidmain(String[]args){ intage=20; if(age==20){ System.out.println("他的年齡:20"); } System.out.println("***TestOver***"); }if…else語句if…else表達式的格式如下:if(條件表達式){

語句代碼1}else{

語句代碼2}如果表達式的值為true,則執(zhí)行語句代碼1;如果表達式的值為false,則執(zhí)行語句代碼2。if…else語句流程圖

開始接收年齡ageifage>=18輸出:成年結(jié)束truefalse(else)輸出:未成年if…else語句應用publicstaticvoidmain(String[]args){ intage=10; if(age>=18){ System.out.println("你已經(jīng)成年了"); } else{ System.out.println("你還末成年"); }

System.out.println("***TestOver***"); }分支嵌套語句在條件分支語句當中套條件分支語句:if…elseif…elseif…else如:if(表達式1){語句1}elseif(表達式2){語句2}……elseif(表達式n){語句n}else{否則語句}分支嵌套語句流程圖

開始If分數(shù)>=80結(jié)束是If80>分數(shù)>=70輸出:優(yōu)If70>分數(shù)>=60輸出:不及格輸出:中輸出:良否是是否否分支嵌套語句應用publicstaticvoidmain(String[]args){ StringstrNum=args[0]; intscore=Integer.parseInt(strNum);

if(score>=80){ System.out.println("你的成績是:優(yōu)"); } elseif(score>=70){ System.out.println("你的成績是:良"); } elseif(score>=60){ System.out.println("你的成績是:中"); } else{ System.out.println("你的成績是:不及格"); }

System.out.println("\n***TestOver***"); }if…else語句要點1.條件表達式可以是:關系表達式、布爾表達式、邏輯表達式結(jié)果值必須是布爾值;2.如果分支中有多條語句必須用{}括起來;3.每條語句后面必須有分號。switch語句多條件選擇語句,與if…else語句類似,但判斷表達式的值不同,格式:switch(類型值){case判斷值1:語句塊1;break;case判斷值2:語句塊1;break;case判斷值3:語句塊1;break;...case判斷值n:語句塊1;break;default:否則語句塊}switch語句類型值必須為32位以下的基本數(shù)據(jù)類型,可以是:byte、short、int、char每一選擇語句的結(jié)束,一般須以break;結(jié)尾。switch語句應用publicstaticvoidmain(String[]args){ charc='C'; switch(c){ case'A':System.out.println("優(yōu)秀");break; case'B':System.out.println("良好");break; case'C':System.out.println("中等");break; case'D':System.out.println("合格");break; case'E':System.out.println("不合格");break; default:System.out.println("輸入錯誤"); } }循環(huán)結(jié)構(gòu)-反復執(zhí)行的語句程序舉例:在控制臺打印1~1000之間的自然數(shù)。在上面的程序中,打印的動作被反復執(zhí)行;逐句寫輸出語句:冗長,繁瑣,在很多時候是不可行的。解決這種問題,要使用循環(huán)語句。循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)既不同于順序結(jié)構(gòu),又不同于if…else語句;循環(huán)分有三大種類;whiledo…whilefor循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)一般包含有以下四個部分;循環(huán)的初始化循環(huán)條件循環(huán)體循環(huán)變量用while語句進行循環(huán)while語句的格式:while(<循環(huán)條件>){//當循環(huán)條件為true時,執(zhí)行這個塊里的語句

…………}//如果循環(huán)條件為false,執(zhí)行這里的語句用while語句進行循環(huán)利用while語句改寫開始的程序:1。申明循環(huán)變量并賦初值;2。判斷循環(huán)條件;3。條件為true則執(zhí)行循環(huán)體,修改循環(huán)變量值4。當條件不為true時,退出循環(huán)。輸出1000以內(nèi)的自然數(shù)publicstaticvoidmain(String[]args){

//循環(huán)變量初始值 inti=1; while(i<=1000){

//輸出自然數(shù)i及每個自然數(shù)后面加一個tab鍵 System.out.print(i+"\t");

//每輸出十個數(shù)換另一行輸出 if((i%10)==0){ System.out.println(); }

//循環(huán)變量遞增 i++; }}while循環(huán)應用在控制臺上用循環(huán)輸出(1-1000)之間的偶數(shù)。實現(xiàn)代碼publicstaticvoidmain(String[]args){ //循環(huán)變量初始值

inti=1; while(i<=1000){

//判斷是否為偶數(shù),為偶數(shù)時則輸出此偶數(shù)

if(i%2==0){ //輸出偶數(shù)i及每個偶數(shù)后面加一個tab鍵

System.out.print(i+"\t");

//每輸出十個偶數(shù)換另一行輸出

if((i%20)==0){ System.out.println(); } }

//循環(huán)變量遞增

i++; }}用do…while語句執(zhí)行循環(huán)格式:do{//循環(huán)體語句}while(<循環(huán)條件>)用do…while語句執(zhí)行循環(huán)while語句是先判斷條件,再執(zhí)行循環(huán)體;do…while語句是先執(zhí)行循環(huán)體,再判斷條件。這說明,do…while循環(huán)體中的語句至少要被執(zhí)行一次(而while循環(huán)體語句可能不被執(zhí)行);除此之外,其他與while語句相同。輸出1000以內(nèi)能被10整除的數(shù)publicstaticvoidmain(String[]args){ //循環(huán)變量初始值

inti=1; do{ //判斷是否能被10整除,能整除時則輸出此數(shù)

if(i%10==0){ //輸出能被10整除的數(shù)i及每個數(shù)后面加一個tab鍵

System.out.print(i+"\t");

//每輸出十個數(shù)換另一行輸出

if((i%100)==0){ System.out.println(); } }

//循環(huán)變量遞增

i++; }while(i<=1000);}do…while與while的區(qū)別以下兩段代碼執(zhí)行結(jié)果會有什么差別?publicstaticvoidmain(String[]args){ inti=15; do{ System.out.println("******do…while*******"); i++; }while(i<10); System.out.println("*******over*******");}publicstaticvoidmain(String[]args){ inti=15; while(i<10){ System.out.println("******while*******"); i++; } System.out.println("*******over*******");}do…while循環(huán)應用在控制臺上用循環(huán)do…while從大到小輸出100以內(nèi)的自然數(shù)代碼實現(xiàn)publicstaticvoidmain(String[]args){ //循環(huán)變量初始值為100 inti=100; do{

//輸出偶數(shù)i及每個數(shù)后面加一個tab鍵

System.out.print(i+"\t");

//每輸出十個數(shù)換另一行輸出

if((i%10)==1){ System.out.println(); }

//循環(huán)變量遞減

i--; }while(0<i&&i<=100);}for語句循環(huán)for語句是循環(huán)語句中功能最強、使用最廣泛的語句,它的用法也比較靈活。用for語句實現(xiàn)循環(huán)for語句格式:for(<表達式1>;<表達式2>;<表達式3>){//當<表達式2>為真(true)時執(zhí)行這里

…………}表達式1只在循環(huán)開始時執(zhí)行一次,一般用來申明和給循環(huán)變量賦初值;表達式2的值為boolean型,是循環(huán)條件;表達式3在循環(huán)體中語句執(zhí)行完后再執(zhí)行,一般用來修改循環(huán)變量表達式之間用分號(;)隔開。for語句流程圖最簡單的for循環(huán),輸出10以內(nèi)的自然數(shù)publicstaticvoidmain(String[]args){ for(inti=1;i<=10;i++){ System.out.println(i); }

System.out.println("for語句結(jié)束");}執(zhí)行循環(huán)體求表達式2的值求解表達式1求解表達式3for語句之后的語句用for語句實現(xiàn)循環(huán)publicstaticvoidmain(String[]args){ intsum=0; for(inti=1;i<=10;i++){

//等價于sum=sum+i; sum+=i; } System.out.println("sum="+sum);}for循環(huán)應用用for語句實現(xiàn)10以內(nèi)所有偶數(shù)相加,并輸出最終結(jié)果。代碼實現(xiàn)publicstaticvoidmain(String[]args){ intsum=0; for(inti=1;i<=10;i++){

//判斷是否為偶數(shù),若為偶數(shù)則相加

if(i%2==0){ //等價于sum=sum+i; sum+=i; } } System.out.println("sum="+sum);}嵌套循環(huán)在循環(huán)中套循環(huán),也稱為多重循環(huán);外面的循環(huán)稱為外層循環(huán)循環(huán)體以內(nèi)的循環(huán)稱為內(nèi)層循環(huán)最簡單的嵌套循環(huán)用雙層循環(huán)輸出一個直角三角形publicstaticvoidmain(String[]args){

//第一層循環(huán)控制行數(shù)

for(inti=1;i<=10;i++){

//第二層循環(huán)控制列數(shù)

for(intj=1;j<=i;j++){ System.out.print("*"); }

System.out.println(); }}嵌套循環(huán)應用用雙層循環(huán)輸出一個倒直角三角形實現(xiàn)代碼publicstaticvoidmain(String[]args){

//第一層循環(huán)控制行數(shù)

for(inti=10;i>=1;i--){

//第二層循環(huán)控制列數(shù)

for(intj=i;j>=1;j--){ System.out.print("*"); }

System.out.println(); }}轉(zhuǎn)跳語句Java語言支持以下三種轉(zhuǎn)跳語句break語句,跳出循環(huán)continue語句,結(jié)束本次循環(huán),執(zhí)行下一個循環(huán)。return語句,跳出方法break語句應用publicstaticvoidmain(String[]args){ inti=1; while(i<=1000){ System.out.print(i+"\t"); if(i==10){ break;//執(zhí)行該語句時,跳出循環(huán) }

i++; }

System.out.println("*****循環(huán)結(jié)束****");}continue語句應用publicstaticvoidmain(String[]args){ inti=0; while(i<1000){ i++; if(i==10){ continue;//執(zhí)行該語句時,跳出第10次循環(huán)

} System.out.print(i+"\t"); }

System.out.println("\n*****循環(huán)結(jié)束****");}return語句應用publicstaticvoidmain(String[]args){ System.out.println("*******1*******"); showData(); System.out.println("*******2*******");

}publicstaticvoidshowData(){ System.out.println("****showData1*****");

if(true){ return;//執(zhí)行此語句跳出方法

}

System.out.println("****showData2*****");}小結(jié)1.程序結(jié)構(gòu)的基本類型;2.分支結(jié)構(gòu)的流程控制;if語句、if…

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論