第02章java編程基礎(chǔ)03程序流程控制語(yǔ)句之選擇_第1頁(yè)
第02章java編程基礎(chǔ)03程序流程控制語(yǔ)句之選擇_第2頁(yè)
第02章java編程基礎(chǔ)03程序流程控制語(yǔ)句之選擇_第3頁(yè)
第02章java編程基礎(chǔ)03程序流程控制語(yǔ)句之選擇_第4頁(yè)
第02章java編程基礎(chǔ)03程序流程控制語(yǔ)句之選擇_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二章JAVA編程基礎(chǔ)授課講師:顏鵬飛本章概述本章主要講述Java程序設(shè)計(jì)相關(guān)的基本概念(如數(shù)據(jù)類型、標(biāo)識(shí)符、常量、變量等),以及程序流程控制語(yǔ)句(選擇語(yǔ)句、循環(huán)語(yǔ)句以及跳轉(zhuǎn)語(yǔ)句)。本章目標(biāo)掌握基本數(shù)據(jù)類型、標(biāo)識(shí)符掌握常量、變量的使用掌握各種運(yùn)算符的使用類型轉(zhuǎn)換掌握注釋的分類及使用掌握選擇語(yǔ)句掌握循環(huán)語(yǔ)句掌握跳轉(zhuǎn)語(yǔ)句4.運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式賦值運(yùn)算符與賦值表達(dá)式條件運(yùn)算符與條件表達(dá)式位運(yùn)算符與位表達(dá)式其他運(yùn)算符運(yùn)算符優(yōu)先級(jí)回顧上一節(jié):4.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式運(yùn)算符含義算術(shù)表達(dá)式+相加3+4-相減5-7*相乘5*5/相除14/7%求余20%5++(后)遞增y=x++(y=xx=x+1)--(后)遞減y=x—(y=xx=x-1)++(前)遞增Y=++x(y=x+1;x=x+1)--(前)遞減Y=--x(y=x-1;x=x-1)4.1.1自增自減算術(shù)運(yùn)算符++運(yùn)算符:總是使操作數(shù)加一。前綴與后綴的區(qū)別:++位于操作數(shù)之前時(shí),操作數(shù)先自增1,然后執(zhí)行任何其他操作。++位于操作數(shù)之后時(shí),先執(zhí)行任何其他操作,然后操作數(shù)自增1。--運(yùn)算符:總是使操作數(shù)減一。--位于操作數(shù)之前時(shí),操作數(shù)先自減1,然后執(zhí)行任何其他操作。--位于操作數(shù)之后時(shí),先執(zhí)行任何其他操作,然后操作數(shù)自減1。Demo3算術(shù)操作符4.2關(guān)系運(yùn)算符與關(guān)系表達(dá)式

運(yùn)算符含義例子==相等x==3!=不相等x!=3<小于x<3>大于x>3<=小于或者等于x<=3>=大于或者等于x>=34.3邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符:邏輯與(&&)、邏輯或(||)、邏輯非(?。?。xyx&&yx||y!x!yfalsefalsefalsefalsetruetruefalsetruefalsetruetruefalsetruefalsefalsetruefalsetruetruetruetruetruefalsefalseDemo4邏輯運(yùn)算符與邏輯表達(dá)式4.4賦值運(yùn)算符與賦值表達(dá)式表達(dá)式含義x+=yx=x+yx-=yx=x-yx*=yx=x*yx/=yx=x/yx%=yx=x%yx&=yx=x&yx|=yx=x|yx<<=yx=x<<yx>>=yx=x>>yDemo5賦值運(yùn)算符與賦值表達(dá)式4.5類型轉(zhuǎn)換程序運(yùn)行過(guò)程中,經(jīng)常需要由一種數(shù)值類型轉(zhuǎn)換為另一種數(shù)值類型。自動(dòng)類型轉(zhuǎn)換由位數(shù)少的類型向位數(shù)多的類型轉(zhuǎn)換。自動(dòng)轉(zhuǎn)換的級(jí)別:強(qiáng)制類型轉(zhuǎn)換由位數(shù)多的類型向位數(shù)少的類型轉(zhuǎn)換。4.6條件運(yùn)算符(三目運(yùn)算符)條件運(yùn)算符用”?”和”:”表示。語(yǔ)法格式:boolExpression?statement1:statement2注意:1.boolExpression必須是布爾表達(dá)式。2.boolExpression值為true,則計(jì)算statement1,其值為整個(gè)條件表達(dá)式的值。相反,boolExpression值為false,則計(jì)算statement2,其值為整個(gè)條件表達(dá)式的值。Demo7條件表達(dá)式4.7位運(yùn)算符(沒(méi)基礎(chǔ)的同學(xué)不學(xué),有基礎(chǔ)的同學(xué)選學(xué))處理整數(shù)數(shù)值時(shí),可以直接對(duì)組成整數(shù)數(shù)值的各個(gè)位進(jìn)行操作。xyx&yx|yx^y~x~y0000011010111010011011111000運(yùn)算符含義運(yùn)算符含義&按位與~取反|按位或<<左移^按位異或>>右移4.8其他運(yùn)算符(先了解,后面會(huì)講解)分量運(yùn)算符:”.”實(shí)例運(yùn)算符:”instanceof”內(nèi)存分配運(yùn)算符:”new”強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:”(類型)”方法調(diào)用運(yùn)算符:”()”取數(shù)組元素運(yùn)算符:”[]”4.9運(yùn)算符優(yōu)先級(jí)優(yōu)先級(jí)說(shuō)明運(yùn)算符最高括號(hào)()

下標(biāo)運(yùn)算符[].正負(fù)號(hào)+-

一元運(yùn)算符++--!~乘除運(yùn)算*/%

加減運(yùn)算+-

移位運(yùn)算<<>>>>>

比較大小<><=>=比較是否相等==!=

按位與運(yùn)算&

按位異或運(yùn)算^

按位或運(yùn)算|

邏輯與運(yùn)算&&

邏輯或運(yùn)算||

三元運(yùn)算符?:

最低賦值及復(fù)合賦值=*=/=%=+=-=>>=>>>=<<<=&=^=|=回顧練習(xí)題1以下哪個(gè)不是合法的表達(dá)式()。A、 booleanb=1>4;B、 inti=20; booleanb=(i+2)>(30+1);C、 inti; booleanb=(i='a')>(--i);D、 inti=35; booleanb=(i>33)>(i<44);回顧練習(xí)題2以下哪個(gè)是錯(cuò)誤的()。思考最后b的值是多少 inta=6,b=2;A、

(a>3)&&(b>4) 可寫(xiě)成

a>3&&b>4B、 (a==b)&&(a>++b) 可寫(xiě)成 a==b&&a>++bC、 !(a==b)&&(a<b++) 可寫(xiě)成 !(a==b)&&a<b++D、 !(a==b)&&(a<b++)可寫(xiě)成 !a==b&&a<b++E、 !(a!=b)&&(a<++b) 可寫(xiě)成 !(a!=b)&&a<++bclass

Tester{

publicstaticvoid

main(String[]args){1intx,y=10,z=20L;2System.out.println(x);3charc=97;4intm=100;5

final

intn=m;6n=50;7floatf=10.2;8booleanb1=true,b2=false;}}回顧練習(xí)題3分析下列程序出現(xiàn)錯(cuò)誤的地方。1行中z是int的數(shù)據(jù)類型,不能接收l(shuí)ong型的數(shù)值。2行中x沒(méi)有初始化。6行中n是被final修飾的,其值不能改變。7行中不能將double型的數(shù)值直接賦給float型,或者將值后加f回顧練習(xí)題41、

已知:inti=1,j=5,k=2;

分析k*=i+++j*i+j--+k+++j--*k;的執(zhí)行過(guò)程,并寫(xiě)出最終結(jié)果。2、已知:inti=6,j=5,k=2;

分析k+=i--+j*--k+--j*++k*++i---k*i;的執(zhí)行過(guò)程,并寫(xiě)出最終結(jié)果。分析分析就行了,以后編程千萬(wàn)不要寫(xiě)出這種表達(dá)式……5注釋語(yǔ)句Java的注釋符:行注釋符://:以//開(kāi)頭到本行末的所有字符都為注釋,不予編譯。塊注釋符:/*….*/:以/*標(biāo)志注釋塊的開(kāi)始,*/標(biāo)志注釋塊的結(jié)束。文檔注釋:/**……*/:為了支持JDK工具javadoc,javadoc能識(shí)別注釋中用標(biāo)記“@”標(biāo)示的特殊變量,并把doc注釋加入它所生成的HTML文件。Demo8注釋語(yǔ)句/**程序名稱:文件打印*項(xiàng)目名稱:文件管理系統(tǒng)*編寫(xiě)時(shí)間:2013-11-1*程序功能:文件打印功能*輸入輸出:文件名稱*/packagedemo8;/***作者:顏鵬飛*/publicclassDemo8{publicstaticvoidmain(String[]args){ printFile("Java編程基礎(chǔ)");}/***@paramfileName文件名稱*/publicstaticvoidprintFile(StringfileName){//輸出文件名稱System.out.println("YourFileNameis"+fileName+"isPrinting....");}}塊注釋文檔注釋單行注釋文檔注釋6程序流程控制語(yǔ)句流程控制語(yǔ)句用來(lái)控制程序中語(yǔ)句的執(zhí)行順序的,是程序中非常關(guān)鍵的部分。選擇語(yǔ)句if…else語(yǔ)句switch語(yǔ)句循環(huán)語(yǔ)句while語(yǔ)句、do…while語(yǔ)句for語(yǔ)句跳轉(zhuǎn)語(yǔ)句continue語(yǔ)句break語(yǔ)句return語(yǔ)句6.1選擇語(yǔ)句—if…else語(yǔ)句

功能是根據(jù)布爾表達(dá)式的值(true或者false)選擇要執(zhí)行的語(yǔ)句序列,使用時(shí)要注意else應(yīng)和最近的if語(yǔ)句匹配。常見(jiàn)形式有:?jiǎn)畏种нx擇結(jié)構(gòu)雙分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)6.1.1單分支選擇結(jié)構(gòu)單獨(dú)使用if語(yǔ)句,if(邏輯表達(dá)式)語(yǔ)句if(布爾表達(dá)式) { //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列 }流程圖:結(jié)果只能是boolean值示例:?jiǎn)畏种нx擇結(jié)構(gòu)booleanflag=true;//邏輯重復(fù)if(flag==true){ System.out.println("flagis"+flag);}

if(flag){System.out.println("flagis"+flag);}示例:?jiǎn)畏种нx擇結(jié)構(gòu)inta=10;intb=20;//如果a>b則輸出a和b的值,否則只輸出b的值if(a>b){ System.out.println("a="+a);}System.out.println("b="+b);//可以如下所寫(xiě),但以后不要這么寫(xiě)if(a>b)//if下只有一條語(yǔ)句{}可省略 System.out.println("a="+a);System.out.println("b="+b);示例:?jiǎn)畏种нx擇結(jié)構(gòu)inta=10;intb=20;//如果a>b則輸出a和b的值,如果a==b則輸出"a和b的值相同,然后輸出b的值",否則只輸出b的值if(a>b){ System.out.println("a="+a);}if(a==b){ System.out.println("a和b的值相同");}System.out.println("b="+b);Scanner類完成程序互動(dòng)

使用java.util.Scanner類讀取用戶控制臺(tái)的輸入。

課堂練習(xí):輸入圓的半徑,求出圓的周長(zhǎng)和面積classScannerType{publicstaticvoidmain(String[]args){java.util.Scannerscanner=newjava.util.Scanner(System.in);System.out.print(“請(qǐng)輸入您的名字:”);Stringname=scanner.next();System.out.print(“年齡:”);intage=scanner.nextInt();System.out.print(“體重:”);doubleweight=scanner.nextDouble();System.out.print(“婚否:”);booleanmarriage=scanner.nextBoolean();System.out.printf(“姓名:%s\n年齡:%d\n體重:%f\n婚否:%b\n”,name,age,

weight,marriage);}}思考:1、聲明兩個(gè)整型變量a和b并賦初值,將a的值和b的值對(duì)換并在控制臺(tái)輸出這兩個(gè)變量的值。2、聲明兩個(gè)整型變量x和y并賦初值,由小到大輸出這兩個(gè)變量的值。3、在控制臺(tái)輸入兩個(gè)整數(shù),然后由小到大輸出這兩個(gè)整數(shù)的值。從控制臺(tái)輸入的代碼如下:

Scannerscanner=newScanner(System.in);

intx=scanner.nextInt();

inty=scanner.nextInt();Demo9單分支語(yǔ)句思考:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。6.1.2雙分支選擇結(jié)構(gòu)if語(yǔ)句和else語(yǔ)句配套使用實(shí)現(xiàn)雙分支選擇條件。if(布爾表達(dá)式){ //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列 } else{ //布爾表達(dá)式為假時(shí)執(zhí)行的語(yǔ)句序列 }流程圖:示例:雙分支選擇結(jié)構(gòu)inta=10;intb=20;//如果a>b則輸出a的值,否則輸出b的值if(a>b) //只有一條語(yǔ)句時(shí){}可省略 System.out.println("a="+a);else System.out.println("b="+b);示例:雙分支選擇結(jié)構(gòu)inta=10;intb=20;//如果a>b則輸出a的值,如果a==b則輸出"輸出a和b相等",否則輸出b的值if(a>=b) if(a==b){//if語(yǔ)句可以嵌套 System.out.println("a和b的值相同"); }else{ System.out.println("a="+a); }else System.out.println("b="+b);想想還有沒(méi)有其它方法完成Demo10判斷年份是否是閏年

(閏年是能被4整除但是不能被100整除,或者能被400整除)分析:1、不能被4整除(不是閏年)2、被4整除但不能被100整除(閏年)3、被100整除又能被400整除(閏年)4、其它情況(不是閏年)6.1.3多分支選擇結(jié)構(gòu)if…elseif….語(yǔ)句配套使用實(shí)現(xiàn)多分支選擇條件。if(布爾表達(dá)式1){ //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列1 }elseif(布爾表達(dá)式2

){ //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列2 }elseif(布爾表達(dá)式3

){ //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列3 }……. elseif(布爾表達(dá)式n

){ //布爾表達(dá)式為真時(shí)執(zhí)行的語(yǔ)句序列n }else{ //以上所有布爾表達(dá)式為假時(shí)執(zhí)行的語(yǔ)句序列 }6.1.3.多分支選擇結(jié)構(gòu)流程圖示例:多分支選擇結(jié)構(gòu)當(dāng)x<0時(shí),y=-1;當(dāng)x=0時(shí),y=0;當(dāng)x>0時(shí),y=1;if(x>0) y=1;elseif(x==0) y=0;else y=-1;System.out.println("x="+x+",y="+y);Demo11成績(jī)等級(jí)判斷

溫馨提示

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

評(píng)論

0/150

提交評(píng)論