第三章控制語句 2_第1頁
第三章控制語句 2_第2頁
第三章控制語句 2_第3頁
第三章控制語句 2_第4頁
第三章控制語句 2_第5頁
已閱讀5頁,還剩54頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Java流程控制語句回顧Java語言中對于定義標示符有哪些基本要求?(遵循哪些規范?)Java內置了幾種基本數據類型?它們分別是什么?簡述Java中的常用運算符。本講重點分支(選擇)語句循環語句跳轉(break,continue)語句流程控制概述流程控制分為三種基本結構:順序結構:按照命令,從上到下,從左到右執行語句分支(選擇)結構:根據條件,執行不同的語句,可以得到不同的結果。循環結構:指對于一些重復執行的語句,用戶指定條件或次數,由機器自動識別執行。分支語句分支語句根據一定的條件,有選擇地執行或跳過特定的語句Java分支語句分類1、if-else語句2、switch語句

1、若令狐沖的Java考試成績大于90分,師父就獎勵他一本武功秘笈分支語句——if-else語句(1)使用if條件結構可以解決if條件結構是根據條件判斷之后再做處理if(條件){//語句}if(令狐沖Java成績>90){

師父獎勵令狐沖;}結合問題1基本的if條件結構表達式語句假真演示示例1:使用基本if條件結構分支語句——if-else語句(1)

2、令狐沖Java成績大于90分,而且音樂成績大于80分,師父獎勵他;或者Java成績等于100分,音樂成績大于70分,師父也可以獎勵他分析:怎樣把多個條件連接起來?使用邏輯運算符運算符表達式說明&&條件1&&

條件2僅僅兩個條件同時為真,結果為真||條件1||條件2只要兩個條件有一個為真,結果為真!!條件條件為真時,結果為假條件為假時,結果為真問題2的條件如何編寫分支語句——if-else語句(1)多使用小括號()控制優先級score1>90&&score2>80||score1==100&&score2>70運算符的優先級:最高的優先級:小括號,即()最低的優先級:賦值運算符,即=優先級順序:!>算術運算符>比較運算符>&&>||publicclassLh02

{publicstaticvoidmain(String[]args){intscore1=100;//令狐沖的語文成績

int

score2=72;//令狐沖的歷史成績

if((score1>90&&score2>80)

||(score1==100&&score2>70)){System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}}}?分支語句——if-else語句(2)

3、如果令狐沖考試成績大于90分,師父就獎勵他《獨孤九劍》,否則師父就罰他上思過崖閉關思過使用兩個基本if條件結構使用if-else條件結構實現if(score>90){System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}if(score<=90){System.out.println("師父說:不孝徒,上思過崖閉關思過去吧");}分支語句——if-else語句(2)

if-else條件結構if(條件){//語句1}else{//語句2}if(令狐沖考試成績>90){

師父獎勵令狐沖;}else{

師父罰他閉關思過;}結合問題4真表達式語句1假語句2使用if-else條件結構解決問題3publicclassLh03{publicstaticvoidmain(String[]args){intscore=89;//令狐沖的語文成績

if(score>90){ System.out.println("師父說:不錯,給你《獨孤九劍》劍譜");}else{ System.out.println("師父說:不孝徒,上思過崖閉關思過去吧");}}}演示示例3:使用if-else結構分支語句——if-else語句(2)分支語句——if-else語句(3)

4.

對令狐沖的結業考試成績評測成績>=90:優秀成績>=80:良好 成績>=60:中等成績<60:差使用多重if結構多重if結構就是在else部分中還包含其他if塊分支語句——if-else語句(3)if

(條件){//語句

}

elseif

(條件)

{//語句

}else

{//語句

}可以有多個可以省略多重if結構假真真假表達式1語句1表達式2語句2語句3分支語句——if-else語句(3)使用多重if結構解決問題4

int

score=70;//考試成績

if(score>=90){

System.out.println("優秀");}

elseif(score>=80){

System.out.println("良好");}

elseif(score>=60){

System.out.println("中等");}

else{

System.out.println("差");}大于等于90分大于等于60分,小于80分小于60分大于等于80分,小于90分演示示例5:使用多重if結構分支語句——switch語句

5、令狐沖參加比武大會如果獲得第一名,將出任武林盟主如果獲得第二名,將出任武當掌門如果獲得第三名,將出任峨嵋掌門否則,將被逐出師門使用if條件結構如何實現?

代碼publicclassLh05{publicstaticvoidmain(String[]args){intorder=2;//名次

if(order==1){System.out.println("天下第一,唯吾獨尊,作武林盟主吧!!"); }elseif(order==2){System.out.println("以一招之差惜敗,你就暫且作個武當掌門吧!!"); }elseif(order==3){System.out.println("就做我們的峨眉掌門吧!");

}else{System.out.println("辛苦了大半天,什么名次也沒有拿到。。"); }}}更好的解決辦法:使用switch結構switch(表達式){

case

常量1:

語句;

break;

case

常量2:

語句;

break;

default:

語句;}switch結構分支語句——什么是switch結構計算表達式的值如果等于常量1如果等于常量2如果沒有找到匹配的值使用switch結構解決問題5分支語句——如何使用switch結構intorder=1;switch(order){

case

1:System.out.println("出任武林盟主");

break;

case2:System.out.println("出任武當掌門");

break;

case3:System.out.println("出任峨嵋掌門");

break;

default:System.out.println("被逐出師門");}第一名的情況下第二名的情況下第三名的情況下其他情況下演示示例6:使用switch結構注意1:如果每個case執行完后跳出,需要在每個case后break;注意2:case后面的常量必須各不相同注意3:switch后面小括號中表達式的值必須是整型或字符型分支語句——比較switch和多重if結構相同點不同點switch多重if都可以實現多分支結構只能處理等值的條件判斷,且條件是整型變量或字符變量的等值判斷處理在else部分還包含其它if結構,特別適合某個變量處于某個區間時的情況小結:條件控制switch(表達式){

case

常量1:

語句;

break;

case

常量2:

語句;

break;

default:

語句;}if

(條件){

滿足條件要執行的代碼}if

(條件){

滿足條件要執行的代碼}else{ 不滿足條件要執行的代碼}if

(條件){

語句1}elseif(條件){ 語句2}else{ 語句3}1、輸入你兜里的錢數,如果大于100,輸出:“啊,今天吃大餐吧!”,否則輸出:“就隨便吃點吧”2、要求用戶輸入兩個數a、b,如果a能被b整除或a加b大于1000,則輸出a,否則輸出b小結練習小結練習3.一年有四個季節(3、4、5月是春季,6、7、8月是夏季,9、10、11月是秋季,12、1、2是冬季),根據輸入的年份判斷是什么季節4.張三為他的手機設定了自動撥號按1:撥爸爸的號按2:撥媽媽的號按3:撥爺爺的號按4:撥奶奶的號編程實現此業務循環生活中的循環打印50份試卷10000米賽跑旋轉的車輪循環結構的特點循環結構

循環條件循環操作鍥而不舍地學習循環循環語句是用來控制那些根據運行期情況需要反復執行的語句系列。Java中的循環語句whiledo/whilefor什么while循環特點:先判斷,再執行while(循環條件

){

循環操作}符合條件,循環繼續執行;否則,循環退出循環中被重復執行的操作int

i=1;while(i<=30

){

System.out.println("我能行!"); i++;}循環操作循環條件真假3、如何用程序描述下面這個故事呢?為了備戰,令狐沖鍥而不舍地練習,盈盈嚴格把關…“盈盈,怎么樣,可以了嗎?”“不行,高音部分唱得還不是很好,鋼琴還要繼續練啊!”沒有聽到“很棒”的評價,看來革命尚未成功,令狐沖并不氣餒:早上5點練聲,上午練鋼琴,下午到聲樂老師家練習唱歌,晚上練習舞蹈基本功。

循環條件

循環操作使用while循環的步驟1、分析循環條件和循環操作2、套用while語法寫出代碼3、檢查循環是否能夠退出怎樣使用while循環3-1怎樣使用while循環3-2System.out.print("表演得怎么樣

?(y/n):");answer=input.next();while(!answer.equals("y"))

{ System.out.println("早上5點開始練聲

!"); System.out.println("上午練習鋼琴

!"); System.out.println("下午到聲樂老師家練習唱歌

!");

System.out.println("晚上練習舞蹈基本功!");

System.out.print("表演得怎樣

?(y/n):"); answer=input.next();}System.out.println("圓滿完成

!");循環條件循環操作比較兩個String類型的值是否相等演示示例編碼規范:縮進、換行怎樣使用while循環3-34、錄入班級人數和學員成績,計算班級學員的平均成績循環條件:目前錄入的成績數目小于總人數循環操作:錄入學生成績,并累加求和

演示示例4:使用while循環結構

while(i<=stuNum){System.out.print("請輸入學號"+i+"的成績:");score=input.nextInt();sum=sum+score;i++;}avg=sum/stuNum; while循環常見問題3-1/*打印4次“歡迎你,親愛的學員”*/publicstaticvoidmain(String[]args){ inti=0;

while(i<4){ System.out.println("歡迎你親愛的學員");

i++; }}

永遠都不會退出的循環稱為死循環循環一直執行,不會退出,哪里出錯了?條件改變while循環常見問題3-2/*打印4次“歡迎新學員”*/publicstaticvoidmain(String[]args){ inti=1;

while(i<4){System.out.println("歡迎新學員");i++; }}i<=4只打印了三次,哪里出錯了?

注意檢查循環次數是否滿足需求while循環常見問題3-3/*打印4次“歡迎新學員”*/publicstaticvoidmain(String[]args){inti=0;while(i>5){System.out.println("歡迎新學員");i++;}}

注意:如果一開始條件就不滿足,while循環一次都不執行

i<5一次都沒有打印,哪里出錯了?do-while循環5、如何用程序講述下面的故事?苦練半年,眼看大賽在即,盈盈提議:彩排一次,如果很令人滿意,以后就不用彩排了,否則每天都要彩排,直到現場表現讓她滿意為止!他能否用動聽的歌聲震撼盈盈,用美妙的鋼琴聲博得贊賞呢?……do{

循環操作}while(循環條件);while(循環條件){

循環操作}while循環先判斷,再執行不適合描述此故事?什么是do-while循環do{

循環操作}while(循環條件

);先執行一遍循環操作符合條件,循環繼續執行;否則,循環退出特點:先執行,再判斷循環操作循環條件真假怎樣使用do-while循環2-1do{ System.out.println("唱歌

!"); System.out.println("演奏肖邦鋼琴曲

!"); System.out.print("可以了嗎

?(y/n):"); answer=input.next();}while(!answer.equals("y")

);System.out.println("大功告成

!");循環條件先執行一遍循環操作演示示例5:怎樣使用do-while循環2-26、連續錄入學生姓名,輸入“q”則系統退出Stringname;Scannerinput=newScanner(System.in);do{ System.out.print("請輸入學生姓名:"); name=input.next();}while

(!name.equals("q"));System.out.println("程序結束");演示示例6:while循環和do-while循環的區別語法不同初始情況不滿足循環條件時while循環一次都不會執行do-while循環不管任何情況都至少執行一次do{

循環操作}while(循環條件);while

(循環條件){

循環操作}先判斷,再執行先執行,再判斷比較while和do-while為什么使用for循環

inti=0;while(i<100){System.out.println("我最棒");i++;}

for(inti=0;i<100;i++){

System.out.println("我最棒");}for比while更簡潔while循環結構for循環結構for循環的語法和執行順序什么是for循環for(

;

;

){

;}條件為true

循環體被執行for

(

inti=0

;

i<100;

i++

){System.out.println("我最棒");}代碼規范:格式對齊、代碼的縮進表達式1表達式2表達式3循環操作參數初始化條件判斷更新循環變量1243如何使用for循環3-11、循環錄入某學員的5門課成績,計算平均分循環次數:5循環條件:循環的次數不足5,繼續循環循環操作:錄入成績,計算成績之和使用for循環結構的步驟1、分析循環條件和循環操作2、套用for語法寫出代碼3、檢查循環是否能夠退出結合問題1如何使用for循環3-2//省略聲明變量

for(inti=0;i<5;i++){

//循環5次錄入5門課成績

System.out.print("請輸入5門功課中第"+(i+1)+"門課的成績:");

score=input.nextInt();

sum=sum+score;

}

avg=sum/5;

//計算平均分

System.out.println(name+"的平均分是:"+avg);初始值:i=0循環條件:i<5循環變量改變:i++循環操作執行5次演示示例1:使用for循環結構如何使用for循環3-32、輸出如圖所示加法表for(inti=0,j=val;i<=val;i++,j--){System.out.println(i+"+"+j+"="+(i+j));}1、循環初始化:i=0;j=輸入值2、循環條件:i<=輸入值3、循環操作:計算i+j4、循環變量的改變:i++,j--完整代碼表達式3可以是用“,”隔開的多個表達式,運算順序從左到右表達式1中可以聲明多個同一類型的值并賦值,用“,”隔開演示示例2:使用for循環結構for循環常見問題4-1for(;i<10;i++){

System.out.println("這是"+i);}inti=0;編譯錯誤:變量i沒有初始化for(<初始化循環變量>;<循環條件>;<修改循環變量的值>){

<循環體語句>;}不能省略可省略表達式1省略,循環變量的初始值在for語句之前由賦值語句取得for循環常見問題4-2for(inti=0;;i++){

System.out.println("這是"+i);}編譯正確,但是缺少循環條件,造成死循環for循環常見問題4-3for(inti=0;i<10;){

System.out.println("這是"+i);

}i++;省略表達式3,在循環體內應設法改變循環變量的值以結束循環編譯通過,但是循環變量的值無變化,造成死循環for循環常見問題4-4for(;;){

System.out.println("這是測試");}表達式全省略,無條件判斷,循環變量無改變,應在循環體內設法結束循環,否則會造成死循環小結1求1~100之間不能被3整除的數之和(使用for循環結構)為什么需要break語句inti=2;switch(i){case1:System.out.println("星期一");

break;case2:System.out.println("星期二");

break;}//其他語句遇到break,立即跳出switch語句回顧break用于switch語句描述4000米長跑比賽for(inti=0;i<10;i++){跑400米;}

if(不能堅持){break;//退出比賽}第8圈,快累死了…我要退出…什么是break語句break:改變程序控制流用于do-while、while、for中時,可跳出循環而執行循環后面的語句while(…){………………

break;………………}跳出整個循環break通常在循環中與條件語句一起使用如何使用break語句2-13、循環錄入某學生5門課的成績并計算平均分,如果某分數錄入為負,停止錄入并提示錄入錯誤循環錄入成績,判斷錄入正確性:錄入錯誤,使用break語句立刻跳出循環;否則,累加求和演示示例3:使用break語句如何使用break語句2-2……for(inti=0;i<5;i++){//循環5次錄入5門課成績System.out.print("請輸入5門功課中第"+(i+1)+"門課的成績:");score=input.nextInt();//從控制臺接收數據

if(score<0){wrong=false;//出錯標識

break;//退出循環}sum=sum+score;}…循環外的語句…對錄入的分數進行判斷,如果小于0,標記出錯狀態,并立即跳出整個for循環1~10之間的整數相加,得到累加值大于20的當前數1、使用循環進行累加,從1到102、判斷累加值是否大于203、如果大于20,則跳出循環,并打印當前值//定義一個變量,進行累加

intsum=0;

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

if(sum>

20

){

System.out.print("當前數是:"+i);

break;

}}

小結2演示運行效果為什么需要continue語句4、循環錄入Java課的學生成績,統計分數大于等于80分的學生比例1、通過循環,獲得分數大于等于80分的學生人數num2、判斷:如果成績<80,不執行num++,直接進入下一次循環什么是continue語句continue:只能用在循環里continue

作用:跳過循環體中剩余的語句而執行下一次循環while(…){………………

continue;…………}繼續下一次循環通常與條件語句一起使用,加速循環for(inti=0;i<10;i++){跑400米;

if(!口渴){

continue;//不喝水,繼續跑}接過水壺,喝水;}示例如何使用continue

for(inti=0;i<total;i++){

System.out.print("請輸入第"+(i+1)+"位學生的成績:");score=input.nextInt();

if(score<80){

continue;}n

溫馨提示

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

評論

0/150

提交評論