尚硅谷-宋紅康-Java流程控制_第1頁
尚硅谷-宋紅康-Java流程控制_第2頁
尚硅谷-宋紅康-Java流程控制_第3頁
尚硅谷-宋紅康-Java流程控制_第4頁
尚硅谷-宋紅康-Java流程控制_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Java流程控制語句講師:宋紅康新浪微博:尚硅谷-宋紅康JavaSE知識圖解JAVA發展歷程JAVA環境搭建基礎程序設計數據類型流程控制運算符數組面向對象編程類和對象屬性方法設計模式接口三大特性應用程序開發JDBC集合異常處理類庫多線程IO反射網絡連接OracleJAVA新特性Eclipse使用泛型枚舉裝箱/拆箱可變參數Annotation程序流程控制順序結構程序從上到下逐行地執行,中間沒有任何判斷和跳轉。分支結構根據條件,選擇性地執行某段代碼。有if…else和switch兩種分支語句。循環結構根據循環條件,重復性的執行某段代碼。有while、do…while、for三種循環語句。注:JDK1.5提供了foreach循環,方便的遍歷集合、數組元素。程序流程控制順序結構Java中定義成員變量時采用合法的前向引用。如:publicclassTest{

intnum1=12;

intnum2=num1+2;}錯誤形式:publicclassTest{intnum2=num1+2;

intnum1=12;}if語句三種格式:1.if(true){

//執行代碼塊;

}2.if(條件表達式){

//執行代碼塊;

}

else{

//執行代碼塊;

}3.if(條件表達式){

//執行代碼塊;

}

elseif(條件表達式){

//執行代碼塊;

}

……

else{

//執行代碼塊;

}分支語句1:

if-else語句if-else語句應用舉例publicclassTestAge{publicstaticvoidmain(Stringargs[]){ TestAget=newTestAge(); t.age(75);}publicvoidage(intage){if(age<0){ System.out.println("不可能!");}elseif(age>250){ System.out.println("是個妖怪!");}else{ System.out.println(“人家芳齡"+age+"馬馬乎乎啦!");}}}從鍵盤輸入小明的期末成績。當成績為100分時,獎勵一輛BMW;當成績為(80,99]時,獎勵一個臺iphone5s;當成績為[60,80]時,獎勵一本參考書;其它時,什么獎勵也沒有。if語句例題1if語句例題2編寫程序:由鍵盤輸入三個整數分別存入變量num1、num2、num3,對它們進行排序(使用if-elseif-else),并且從小到大輸出。if語句練習11)對下列代碼,若有輸出,指出輸出結果。intx=4;inty=1;if(x>2){if(y>2)System.out.println(x+y);System.out.println("atguigu");}elseSystem.out.println("xis"+x);2)booleanb=true;

if(b==false)//如果寫成if(b=false)能編譯通過嗎?如果能,結果是?

System.out.println("a");

elseif(b)

System.out.println("b");

elseif(!b)

System.out.println("c");

else

System.out.println("d");if語句練習2大家都知道,男大當婚,女大當嫁。那么女方家長要嫁女兒,當然要提出一定的條件:高:180cm以上;富:財富1千萬以上;帥:是。如果這三個條件同時滿足,則:“我一定要嫁給他!!!”如果三個條件有為真的情況,則:“嫁吧,比上不足,比下有余。”如果三個條件都不滿足,則:“不嫁!”分支結構2:switch語句 switch(表達式){ case常量1:

語句1; break; case常量2:

語句2; break; …… case常量N:

語句N; break; default:

語句; break; }switch語句應用舉例 publicclassTest{ publicstaticvoidmain(Stringargs[]){ inti=1; switch(i){

case0: System.out.println("zero"); break;

case1: System.out.println("one");

break;

default: System.out.println("default"); break; } } }switch語句應用舉例

publicclassTest{ publicstaticvoidmain(Stringargs[]){

Stringseason=“summer”; switch(season){

case“spring”:

System.out.println(“春暖花開");

break;

case“summer”:

System.out.println(“夏日炎炎");

break; case“autumn”:

System.out.println(“秋高氣爽");

break; case“winter”:

System.out.println(“冬雪皚皚");

break;

default:

System.out.println(“季節輸入有誤");

break;

}}}switch語句有關規則switch(表達式)中表達式的返回值必須是下述幾種類型之一:byte,short,char,int,枚舉,String;case子句中的值必須是常量,且所有case子句中的值應是不同的;default子句是可任選的,當沒有匹配的case時,執行defaultbreak語句用來在執行完一個case分支后使程序跳出switch語句塊;如果沒有break,程序會順序執行到switch結尾例題1.使用switch把小寫類型的char型轉為大寫。只轉換a,b,c,d,e.其它的輸出“other”。2.對學生成績大于60分的,輸出“合格”。低于60分的,輸出“不合格”。switch語句練習1使用switch語句改寫下列if語句:

inta=3; intx=100; if(a==1) x+=5;

elseif(a==2) x+=10;

elseif(a==3) x+=16;

else

x+=34;switch和if語句的對比if和switch語句很像,具體什么場景下,應用哪個語句呢?如果判斷的具體數值不多,而且符合byte、

short、int、

char這四種類型。雖然兩個語句都可以使用,建議使用swtich語句。因為效率稍高。其他情況:對區間判斷,對結果為boolean類型判斷,使用if,if的使用范圍更廣。switch語句練習2編寫程序:從鍵盤上讀入一個學生成績,存放在變量score中,根據score的值輸出其對應的成績等級:score>=90等級:A70=<score<90等級:B60=<score<70等級:Cscore<60等級:D循環結構循環語句功能在循環條件滿足的情況下,反復執行特定代碼循環語句的四個組成部分初始化部分(init_statement)循環條件部分(test_exp)循環體部分(body_statement)迭代部分(alter_statement)循環語句分類for循環while循環do/while循環for循環語句語法格式

for(初始化表達式①;布爾值測試表達式②;更改表達式④){ 語句或語句塊③; }1234應用舉例

publicclassForLoop{ publicstaticvoidmain(Stringargs[]){ intresult=0; for(inti=1;i<=100;i++){ result+=i; } System.out.println("result="+result); } }for語句例題編寫程序FooBizBaz.java,從1循環到150并在每行打印一個值,另外在每個3的倍數行上打印出“foo”,在每個5的倍數行上打印“biz”,在每個7的倍數行上打印輸出“baz”。123foo45biz6foo7baz…15foobiz….105foobizbaz…for語句練習打印1~100之間7的倍數的個數。體會設置計數器的思想while循環語句語法格式

[初始化語句] while(布爾值測試表達式){ 語句或語句塊; [更改語句;] }應用舉例

publicclassWhileLoop{ publicstaticvoidmain(Stringargs[]){ intresult=0; inti=1; while(i<=100){ result+=i; i++; }

System.out.println("result="+result); } }

do-while循環語句語法格式

[初始化語句] do{ 語句或語句塊; [更改語句;]

}while(布爾值測試表達式);應用舉例

publicclassWhileLoop{ publicstaticvoidmain(Stringargs[]){ intresult=0,i=1; do{ result+=i; i++; }while(i<=100); System.out.println("result="+result); } }嵌套循環將一個循環放在另一個循環體內,就形成了嵌套循環。其中,for,while,do…while均可以作為外層循環和內層循環。實質上,嵌套循環就是把內層循環當成外層循環的循環體。當只有內層循環的循環條件為false時,才會完全跳出內層循環,才可結束外層的當次循環,開始下一次的循環。設外層循環次數為m次,內層為n次,則內層循環體實際上需要執行m*n=mn次。例題:1)九九乘法表

2)1—100之間的所有質數循環語句練習編寫程序一:求1到100之間所有偶數的和。用for和while語句分別完成。編寫程序二:從鍵盤讀入個數不確定的整數,并判斷讀入的正數和負數的個數,輸入為0時結束程序。補充:最簡單無限循環格式:while(true),for(;;),無限循環存在的原因是并不知道循環多少次,需要根據某些條件,來控制循環。classPositiveNegative{ publicstaticvoidmain(String[]args){ //while(true) Scannerscanner=newScanner(System.in); inta=0;//統計正數的個數

intb=0;//統計負數的個數

for(;;){ System.out.println("請輸入一個整數:"); intz=scanner.nextInt(); if(z>0) a++; elseif(z<0) b++; else break;}

System.out.println("正數的個數為:"+a); System.out.println("負數的個數為:"+b);}}特殊流程控制語句1break語句break語句用于終止某個語句塊的執行

{…… break; …… }break語句出現在多層嵌套的語句塊中時,可以通過標簽指明要終止的是哪一層語句塊

label1: {…… label2: {…… label3: {…… breaklabel2; …… } } }

特殊流程控制語句1break語句用法舉例

publicclassTestBreak{ publicstaticvoidmain(Stringargs[]){ for(inti=0;i<10;i++){ if(i==3) break; System.out.println("i="+i); }

溫馨提示

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

評論

0/150

提交評論