《跨平臺(tái)程序設(shè)計(jì)語言》課件-第2章 Java 基礎(chǔ)語法_第1頁(yè)
《跨平臺(tái)程序設(shè)計(jì)語言》課件-第2章 Java 基礎(chǔ)語法_第2頁(yè)
《跨平臺(tái)程序設(shè)計(jì)語言》課件-第2章 Java 基礎(chǔ)語法_第3頁(yè)
《跨平臺(tái)程序設(shè)計(jì)語言》課件-第2章 Java 基礎(chǔ)語法_第4頁(yè)
《跨平臺(tái)程序設(shè)計(jì)語言》課件-第2章 Java 基礎(chǔ)語法_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章Java基礎(chǔ)語法1.File類的概述與常用API主講人:_________

創(chuàng)建File對(duì)象File類的構(gòu)造方法File類提供了多個(gè)構(gòu)造方法用于創(chuàng)建File對(duì)象,具體如下表所示。方法聲明功能描述File(Stringpathname)通過指定的一個(gè)字符串類型的文件路徑來創(chuàng)建一個(gè)新的File對(duì)象File(Stringparent,Stringchild)根據(jù)指定的一個(gè)字符串類型的父路徑和一個(gè)字符串類型的子路徑(包括文件名稱)創(chuàng)建一個(gè)File對(duì)象File(Fileparent,Stringchild)根據(jù)指定的File類的父路徑和字符串類型的子路徑(包括文件名稱)創(chuàng)建一個(gè)File對(duì)象File類為Java的文件或者文件夾(目錄)操作類,不包括對(duì)文件內(nèi)容的操作,這個(gè)類在java.IO.*包中。File類主要是創(chuàng)建文件、文件夾、以及文件或者文件夾的操作,也就是操作系統(tǒng)級(jí)的文件操作。創(chuàng)建File對(duì)象案例演示下面通過一個(gè)案例演示如何使用File類的構(gòu)造方法創(chuàng)建File對(duì)象。具體代碼如下所示。importjava.io.File;publicclassExample01{publicstaticvoidmain(String[]args){

Filef=newFile("D:\\file\\a.txt");//使用絕對(duì)路徑創(chuàng)建File對(duì)象

Filef1=newFile("src\\Hello.java");//使用相對(duì)路徑創(chuàng)建File對(duì)象System.out.println(f);System.out.println(f1);}}創(chuàng)建File對(duì)象案例在創(chuàng)建File對(duì)象時(shí)傳入的路徑使用了\\,這是因?yàn)閃indows中的目錄符號(hào)為反斜線\,但反斜線\在Java中是特殊字符,具有轉(zhuǎn)義作用,所以使用反斜線\時(shí),前面應(yīng)該再添加一個(gè)反斜線,即為\\。此外,目錄符號(hào)還可以用正斜線/表示,如“D:/file/a.txt”。注意創(chuàng)建File對(duì)象運(yùn)行代碼,控制臺(tái)顯示的運(yùn)行結(jié)果如下圖所示。案例運(yùn)行結(jié)果File類常用方法File類提供了一系列方法,用于操作File類對(duì)象內(nèi)部封裝的路徑指向的文件或者目錄。具體如下表所示。方法聲明功能描述booleanexists()判斷File對(duì)象對(duì)應(yīng)的文件或目錄是否存在,若存在則返回true,否則返回falsebooleandelete()刪除File對(duì)象對(duì)應(yīng)的文件或目錄,若刪除成功則返回true,否則返回falsebooleancreateNewFile()當(dāng)File對(duì)象對(duì)應(yīng)的文件不存在時(shí),該方法將新建一個(gè)文件,若創(chuàng)建成功則返回true,否則返回falseStringgetName()返回File對(duì)象表示的文件或文件夾的名稱StringgetPath()返回File對(duì)象對(duì)應(yīng)的路徑File類的常用方法File類常用方法方法聲明功能描述StringgetAbsolutePath()返回File對(duì)象對(duì)應(yīng)的絕對(duì)路徑(在Unix/Linux等系統(tǒng)上,如果路徑是以正斜線/開始,則這個(gè)路徑是絕對(duì)路徑;在Windows等系統(tǒng)上,如果路徑是從盤符開始,則這個(gè)路徑是絕對(duì)路徑)StringgetParentFile()返回File對(duì)象對(duì)應(yīng)目錄的父目錄(即返回的目錄不包含最后一級(jí)子目錄)booleancanRead()判斷File對(duì)象對(duì)應(yīng)的文件或目錄是否可讀,若可讀則返回true,反之返回falsebooleancanWrite()判斷File對(duì)象對(duì)應(yīng)的文件或目錄是否可寫,若可寫則返回true,反之返回falsebooleanisFile()判斷File對(duì)象對(duì)應(yīng)的是否是文件(不是目錄),若是文件則返回true,反之返回falseFile類常用方法下面通過一個(gè)案例演示如何使用File類的常用方法。具體代碼如下所示。importjava.io.File;publicclassExample02{publicstaticvoidmain(String[]args){Filefile=newFile("src/test.txt");System.out.println("文件是否存在:"+file.exists());System.out.println("文件名:"+file.getName());System.out.println("文件大?。?+file.length()+"bytes");System.out.println("文件相對(duì)路徑:"+file.getPath());System.out.println("文件絕對(duì)路徑:"+file.getAbsolutePath());System.out.println("文件的父級(jí)對(duì)象是否為文件:"+file.isFile());System.out.println("文件刪除是否成功:"+file.delete());}}案例演示File類常用方法運(yùn)行代碼,控制臺(tái)顯示的運(yùn)行結(jié)果如下圖所示。案例運(yùn)行結(jié)果第2章Java基礎(chǔ)語法2.1數(shù)據(jù)類型數(shù)據(jù)類型簡(jiǎn)介Java數(shù)據(jù)類型是用來定義變量或者方法參數(shù)的類型,它們決定了變量或者參數(shù)可以存儲(chǔ)的數(shù)據(jù)類型和范圍。數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)據(jù)類型的分類基本數(shù)值類型數(shù)值類型類型內(nèi)存占字節(jié)數(shù)值域整型byte1-128–127(-27—27-1)short2-32768—32767(-215—215-1)int(默認(rèn))4-231—231-1long8-263—263-1浮點(diǎn)型float4約-3.4E38—3.4E38double(默認(rèn))8約-1.79E308—1.79E308字符型char20—65535布爾型boolean1true,false基本數(shù)據(jù)類型的使用定義整型變量bytea

=

127;shortb

=

32767;intc

=2000;longd

=

3000L;基本數(shù)據(jù)類型的使用定義浮點(diǎn)類型變量floatf=3.14F;doubled1=3.1415926;基本數(shù)據(jù)類型的使用charc=‘a(chǎn)’;

booleanb=true;定義字符類型變量和布爾型變量第2章Java基礎(chǔ)語法2.2變量和常量變量和常量簡(jiǎn)介在Java中,變量是可以改變其值的量,而常量是其值不可改變的量。變量和常量都必須使用合法的標(biāo)識(shí)符進(jìn)行聲明,但變量的值可以在程序執(zhí)行過程中改變,而常量的值在程序執(zhí)行過程中不能改變。變量數(shù)據(jù)類型:可以是基本數(shù)據(jù)類型或引用數(shù)據(jù)類型變量名稱:變量名是自定義的標(biāo)識(shí)符,首字母建議小寫例如

:intage=28;變量的定義格式:數(shù)據(jù)類型變量名稱=變量值;變量變量在計(jì)算機(jī)中的執(zhí)行原理變量一旦定義,系統(tǒng)在內(nèi)存為它分配一塊空間,變量名指向該空間。20intage=20;內(nèi)存變量變量值是可改變的intage=20;System.out.println(age);age=30;System.out.println(age);常量常量的定義格式:final數(shù)據(jù)類型常量名稱=常量值;final:表示該常量是不可修改的數(shù)據(jù)類型:存儲(chǔ)各種類型的數(shù)據(jù),例如整數(shù)、浮點(diǎn)數(shù)、字符等常量名稱:一般使用大寫字母和下劃線來表示常量值:在定義時(shí)就已經(jīng)確定,且不能被修改例如

:finaldoublePI=3.14;常量常量值被賦值后是不可改變的finaldoublePI=3.14;PI=3;//這里會(huì)編譯錯(cuò)誤,無法為最終變量PI分配值。使用staticfinal修飾的成員變量被稱為常量常量public表示該常量是公共的,可以被其他類訪問static表示該常量是靜態(tài)的,可以通過類名直接訪問通常用于記錄系統(tǒng)的配置信息第2章Java基礎(chǔ)語法2.3類型轉(zhuǎn)換類型轉(zhuǎn)換Java類型轉(zhuǎn)換是指將一種數(shù)據(jù)類型的值轉(zhuǎn)換為另一種數(shù)據(jù)類型的值的過程。Java中有兩種類型轉(zhuǎn)換:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。簡(jiǎn)介類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換是指將一個(gè)小范圍的數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換為一個(gè)大范圍的數(shù)據(jù)類型。強(qiáng)制類型轉(zhuǎn)換是指將一個(gè)大范圍的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為一個(gè)小范圍的數(shù)據(jù)類型。類型轉(zhuǎn)換例如,將int類型的值賦給double類型的變量時(shí),會(huì)發(fā)生自動(dòng)類型轉(zhuǎn)換;而將double類型的值強(qiáng)制轉(zhuǎn)換為int類型時(shí),會(huì)發(fā)生強(qiáng)制類型轉(zhuǎn)換。類型轉(zhuǎn)換byteb1=10;shorts1=b1;longn1=20L;intn2=(int)n1;自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換問題byteb1

=

(byte)

509;System.out.println("b1="

+

b1);輸出結(jié)果:b1=-3常量509默認(rèn)為int型,內(nèi)存占4個(gè)字節(jié),正數(shù)在內(nèi)存原碼表示。表示為:00000000000111111101第3-4字節(jié)第2字節(jié)低位字節(jié)11111101符號(hào)低位字節(jié)通過強(qiáng)制類型轉(zhuǎn)換,只保留低位一個(gè)字節(jié)

強(qiáng)制類型轉(zhuǎn)換問題doubled1=2.98;longl1=(long)d1;System.out.println("l1="

+l1);輸出結(jié)果:l1=2當(dāng)把float型或double型賦給long型,由于long型值域更小,需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。在強(qiáng)制類型轉(zhuǎn)換時(shí),直接把十進(jìn)制的小數(shù)部分截掉,保留整數(shù)部分賦給long類型變量;同樣,當(dāng)其整數(shù)部分超出long型能夠表示的值域時(shí),也將產(chǎn)生不期的結(jié)果。第2章Java基礎(chǔ)語法3.1算術(shù)運(yùn)算符常用運(yùn)算符Java運(yùn)算符一覽表類型運(yùn)算符算術(shù)運(yùn)算符+、-、*、/、%、++、--關(guān)系運(yùn)算符>、<、>=、<=、==、!=邏輯運(yùn)算符&&、||、!賦值運(yùn)算符=、+=、-=、*=、/=、%=位運(yùn)算符>>、<<、>>>、&、|、^、~條件運(yùn)算符?:其他運(yùn)算符.、[]、instanceof、new、type、()算術(shù)運(yùn)算符的優(yōu)先級(jí)別為:算數(shù)運(yùn)算符算術(shù)運(yùn)算符包括:加(+)、減(-)、乘(*)、除(/)、取余(%)、自增1(++)、自減1(--)、正(+)、負(fù)(-)。()++、--、+(正)、-(負(fù))

*、/、%+、-高低算術(shù)運(yùn)算符的優(yōu)先級(jí)別依次為:算數(shù)運(yùn)算符加法運(yùn)算符(+):可以用于兩個(gè)數(shù)值類型的變量相加。inta=10;intb=20;intc=a+b;//結(jié)果:c=30算數(shù)運(yùn)算符減法運(yùn)算符(-):可以用于兩個(gè)數(shù)值類型的變量相減。inta=20;intb=10;intc=a-b;//結(jié)果:c=10算數(shù)運(yùn)算符乘法運(yùn)算符(*):可以用于兩個(gè)數(shù)值類型的變量相乘。inta=4;intb=5;intc=a*b;//結(jié)果:c=20算數(shù)運(yùn)算符除法運(yùn)算符(/):可以用于兩個(gè)數(shù)值類型的變量相除。inta=20;intb=5;intc=a/b;//結(jié)果:c=4算數(shù)運(yùn)算符取余運(yùn)算符(%):可以用于獲取兩個(gè)數(shù)值類型的變量相除后的余數(shù)。inta=20;intb=3;intc=a%b;//結(jié)果:c=2算數(shù)運(yùn)算符自增(++):可以用于實(shí)現(xiàn)變量的值增加1。inti1=10;inti2=i1++;//結(jié)果:i2=10,i1=11inti3=10;inti4=++i3;//結(jié)果:i4=11,i3=11算數(shù)運(yùn)算符自減(--):可以用于實(shí)現(xiàn)變量的值減1。inti1=10;inti2=i1--;//結(jié)果:i2=10,i1=9inti3=10;inti4=--i3;//結(jié)果:i3=9,i4=9注意事項(xiàng)在進(jìn)行算術(shù)運(yùn)算時(shí),要注意數(shù)據(jù)類型的匹配,例如整型和浮點(diǎn)型的運(yùn)算結(jié)果可能會(huì)有所不同。在進(jìn)行除法運(yùn)算時(shí),要注意除數(shù)不能為0,否則會(huì)拋出異常。在進(jìn)行自增自減運(yùn)算時(shí),要注意前綴和后綴的區(qū)別,前綴運(yùn)算會(huì)先進(jìn)行運(yùn)算再賦值,后綴運(yùn)算會(huì)先賦值再進(jìn)行運(yùn)算。在使用算術(shù)運(yùn)算符時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法3.2關(guān)系運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符符號(hào)作用>用于比較左邊的值是否大于右邊的值,如果是則返回true,否則返回false>=用于比較左邊的值是否大于或等于右邊的值,如果是則返回true,否則返回false<用于比較左邊的值是否小于右邊的值,如果是則返回true,否則返回false<=用于比較左邊的值是否小于或等于右邊的值,如果是則返回true,否則返回false==用于比較兩個(gè)值是否相等,如果相等則返回true,否則返回false!=用于比較兩個(gè)值是否不相等,如果不相等則返回true,否則返回false關(guān)系運(yùn)算符大于(>):比較左邊的值是否大于右邊的值大于等于(>=):比較左邊的值是否大于或等于右邊的值inta=5;intb=3;booleanresult=a>b;//result的值為trueSystem.out.println(a>=b);//trueSystem.out.println(2>=2);//true關(guān)系運(yùn)算符小于(<):比較左邊的值是否小于右邊的值小于等于(<=):比較左邊的值是否小于或等于右邊的值inta=5;intb=3;booleanresult=a<b;//result的值為falseSystem.out.println(a<=b);//falseSystem.out.println(2<=2);//true關(guān)系運(yùn)算符等于(==):比較兩個(gè)值是否相等不等于(!=):比較兩個(gè)值是否不相等inta=5;intb=3;booleanresult=a==b;//result的值為falseSystem.out.println(2==2);//trueSystem.out.println(a!=b);//trueSystem.out.println(3!=3);//false注意事項(xiàng)關(guān)系運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符而低于算術(shù)運(yùn)算符,結(jié)合方向是自左向右。運(yùn)算符>=、==、!=、<=是兩個(gè)字符構(gòu)成的一個(gè)運(yùn)算符,用空格從中分開寫就會(huì)產(chǎn)生語法錯(cuò)誤。在運(yùn)算符的兩側(cè)增加空格會(huì)提高可讀性。同樣將運(yùn)算符寫反,例如=>、=<=、=!等形式會(huì)產(chǎn)生語法錯(cuò)誤。在使用關(guān)系運(yùn)算符時(shí),需要注意以下幾點(diǎn):算術(shù)運(yùn)算符<、<=、>、>===、!=優(yōu)先級(jí):高低第2章Java基礎(chǔ)語法3.3邏輯運(yùn)算符邏輯運(yùn)算符邏輯運(yùn)算符符號(hào)作用&(邏輯與)表示兩個(gè)表達(dá)式都為true時(shí),整個(gè)表達(dá)式才為true|(邏輯或)表示兩個(gè)表達(dá)式中有一個(gè)為true時(shí),整個(gè)表達(dá)式就為true!(非)表示對(duì)一個(gè)表達(dá)式取反,即原本為true的變?yōu)閒alse,原本為false的變?yōu)閠rue^(異或)表示兩個(gè)表達(dá)式的結(jié)果相同返回false,否則返回true&&(短路與)跟邏輯與的運(yùn)算規(guī)則一樣,如果第一個(gè)表達(dá)式可以確定結(jié)果,則不會(huì)計(jì)算第二個(gè)表達(dá)式||(短路或)跟邏輯或的運(yùn)算規(guī)則一樣,如果第一個(gè)表達(dá)式可以確定結(jié)果,則不會(huì)計(jì)算第二個(gè)表達(dá)式邏輯運(yùn)算符&(邏輯與):表示兩個(gè)表達(dá)式都為true時(shí),整個(gè)表達(dá)式才為true

|(邏輯或):表示兩個(gè)表達(dá)式中有一個(gè)為true時(shí),整個(gè)表達(dá)式就為trueinta=5;intb=3;System.out.println(a>b&5>2);//trueSystem.out.println(a<b|5>2);//true邏輯運(yùn)算符!(非):表示對(duì)一個(gè)表達(dá)式取反,即原本為true的變?yōu)閒alse,原本為false的變?yōu)閠rue^(異或):表示兩個(gè)表達(dá)式的結(jié)果相同返回false,否則返回trueinta=5;intb=3;System.out.println(!(a>b));//falseSystem.out.println(a>b^5>2);//falseSystem.out.println(a<b^5>2);//true邏輯運(yùn)算符&&(短路與):當(dāng)左表達(dá)式為false,右邊表達(dá)式不執(zhí)行||(短路或):當(dāng)左邊表達(dá)式為true,右邊表達(dá)式不執(zhí)行inta=5;intb=3;System.out.println(10<3&&a>b);//falseSystem.out.println(10>3||a>b);//true注意事項(xiàng)邏輯運(yùn)算符只能用于布爾類型的數(shù)據(jù),不能用于其他類型的數(shù)據(jù)。在使用&&和||運(yùn)算符時(shí),需要注意短路現(xiàn)象。即如果第一個(gè)條件已經(jīng)能夠確定整個(gè)表達(dá)式的值,后面的條件就不會(huì)再被執(zhí)行了。在使用&和|運(yùn)算符時(shí),需要注意位運(yùn)算和邏輯運(yùn)算的區(qū)別。位運(yùn)算是對(duì)二進(jìn)制數(shù)進(jìn)行操作,而邏輯運(yùn)算是對(duì)布爾類型的數(shù)據(jù)進(jìn)行操作。在使用邏輯運(yùn)算符時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法3.4賦值運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符符號(hào)作用=將右側(cè)的值賦給左側(cè)的變量+=將右側(cè)的值加上左側(cè)的變量的值,再賦給左側(cè)的變量-=將左側(cè)的變量的值減去右側(cè)的值,再賦給左側(cè)的變量*=將左側(cè)的變量的值乘以右側(cè)的值,再賦給左側(cè)的變量/=將左側(cè)的變量的值除以右側(cè)的值,再賦給左側(cè)的變量%=將左側(cè)的變量的值對(duì)右側(cè)的值取模,再賦給左側(cè)的變量賦值運(yùn)算符=:將右側(cè)的值賦給左側(cè)的變量+=:將右側(cè)的值加上左側(cè)的變量的值,再賦給左側(cè)的變量

-=:將左側(cè)的變量的值減去右側(cè)的值,再賦給左側(cè)的變量inta=10;intb=5;a+=b; //相當(dāng)于a=a+b,此時(shí)a的值為15a-=b; //相當(dāng)于a=a-b,此時(shí)a的值為10賦值運(yùn)算符*=:將右側(cè)的值賦給左側(cè)的變量/=:將右側(cè)的值加上左側(cè)的變量的值,再賦給左側(cè)的變量%=:將左側(cè)的變量的值減去右側(cè)的值,再賦給左側(cè)的變量inta=10;intb=5;a*=b;

//相當(dāng)于a=a*b,此時(shí)a的值為50a/=b;

//相當(dāng)于a=a/b,此時(shí)a的值為2a%=b;

//相當(dāng)于a=a%b,此時(shí)a的值為0賦值運(yùn)算符//定義并初始化兩個(gè)變量inta=5;intb=10;//使用賦值運(yùn)算符交換變量值inttemp=a;a=b;b=temp;//輸出交換后的結(jié)果System.out.println("變量a的新值為:"+a);//變量a的新值為:10System.out.println("變量b的新值為:"+b);//變量b的新值為:5示例:使用賦值運(yùn)算符來實(shí)現(xiàn)兩個(gè)變量的交換注意事項(xiàng)賦值運(yùn)算符的優(yōu)先級(jí)是最低的,這意味著在表達(dá)式中,賦值運(yùn)算符是最后被執(zhí)行的。賦值運(yùn)算符可以使用擴(kuò)展運(yùn)算符“+=”、“-=”、“*=”、“/=”簡(jiǎn)化代碼。在進(jìn)行賦值運(yùn)算時(shí),需要注意數(shù)據(jù)類型的匹配,如果類型不匹配,需要進(jìn)行類型轉(zhuǎn)換。在進(jìn)行比較運(yùn)算時(shí),需要使用“==”而不是“=”,因?yàn)椤?”是賦值運(yùn)算符,而“==”是比較運(yùn)算符。在使用賦值運(yùn)算符時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法4.1if條件語句if條件語句Java中的if語句是一種條件語句,用于根據(jù)給定的條件執(zhí)行不同的代碼塊。if條件分支語句有三種形式:if語句、if-else語句、if-elseif-else語句。簡(jiǎn)介if語句格式if語句的基本語法格式如下:if(condition){//如果條件為真,則執(zhí)行此處的語句}語句

表達(dá)式truefalseif-else語句格式if-else的基本語法格式如下:if(condition){//如果條件為真,則執(zhí)行此處的語句1}else{//如果條件為假,則執(zhí)行此處的語句2}語句1

表達(dá)式truefalse語句2if-elseif-else語句格式if-elseif-else的基本語法格式如下:if(condition1){//如果條件1為真,則執(zhí)行此處的語句1}elseif(condition2){//如果條件2為真,則執(zhí)行此處的語句2}else{//如果所有條件都為假,則執(zhí)行此處的語句3}語句1

表達(dá)式1truefalse語句2

表達(dá)式2truefalse語句3if語句使用示例intx=10;if(x>5){

System.out.println("x大于5");}if-else語句使用示例intage=18;if(age<18){

System.out.println("你還太年輕,不能投票");}else{

System.out.println("你可以投票");}if-elseif-else語句使用示例intnum=10;if(num>0){

System.out.println("num是正數(shù)");}elseif(num<0){

System.out.println("num是負(fù)數(shù)");}else{

System.out.println("num是零");}注意事項(xiàng)if語句后面的條件必須是一個(gè)布爾表達(dá)式,即只能是true或false。如果if語句后面的條件為true,則執(zhí)行if語句塊中的代碼;否則,跳過if語句塊中的代碼,繼續(xù)執(zhí)行后面的代碼。如果if語句塊中只有一條語句,則可以省略花括號(hào);但是,建議不要這樣做,以避免出現(xiàn)錯(cuò)誤。如果if語句塊中有多條語句,則必須使用花括號(hào)將它們括起來。可以使用else語句在if條件為false時(shí)執(zhí)行另一段代碼塊。可以使用elseif語句在if條件為false時(shí)檢查另一個(gè)條件,并執(zhí)行相應(yīng)的代碼塊??梢允褂们短椎膇f語句來檢查多個(gè)條件。在使用if語句時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法4.2switch語句switch語句Java中的switch語句,它是一種多分支選擇結(jié)構(gòu),可以根據(jù)不同的條件執(zhí)行不同的代碼塊。簡(jiǎn)介switch語句格式switch語句的基本語法格式如下:switch(表達(dá)式){casevalue1://執(zhí)行代碼塊1break;casevalue2://執(zhí)行代碼塊2break;...default://執(zhí)行默認(rèn)代碼塊}switch語句示例if與switch的比較if語句適用于需要進(jìn)行復(fù)雜條件判斷的情況,例如需要判斷多個(gè)條件的組合或者需要進(jìn)行范圍判斷的情況。switch語句適用于需要根據(jù)一個(gè)變量的值來進(jìn)行不同的操作的情況。if和switch語句都是用來進(jìn)行條件判斷的,但它們?cè)谑褂脠?chǎng)景上有所不同。switch的穿透性在switch語句中,有一個(gè)特殊的現(xiàn)象叫做“穿透”,它指的是當(dāng)一個(gè)case分支沒有break語句時(shí),程序會(huì)繼續(xù)執(zhí)行下一個(gè)case分支的代碼,直到遇到break語句或者switch語句結(jié)束為止。有時(shí)候我們需要讓多個(gè)case共用同一個(gè)代碼塊,這時(shí)候就可以使用“穿透”來簡(jiǎn)化代碼。switch的穿透性注意事項(xiàng)switch語句中的表達(dá)式只能是整型、字符型,表達(dá)式運(yùn)算結(jié)果可以是byte、char、short、int,不能是long、float、double、boolean等類型,在執(zhí)行過程中會(huì)自動(dòng)類型轉(zhuǎn)換后進(jìn)行匹配。每個(gè)case分支中的值必須是常量,不能是變量或表達(dá)式。每個(gè)case分支中必須有一個(gè)break語句或其他跳轉(zhuǎn)語句,否則會(huì)出現(xiàn)“case塊穿透”的問題。如果所有的case分支都不匹配,則執(zhí)行default分支(如果有)。在使用switch語句時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法5.1while語句while語句Java中的while語句,它是一種循環(huán)語句,用于重復(fù)執(zhí)行一段代碼,直到指定的條件不再滿足為止。簡(jiǎn)介while語句格式while語句的基本語法格式如下:while(condition){//codetobeexecuted}

表達(dá)式循環(huán)體語句truefalse循環(huán)語句后的語句while語句示例inti=1;intsum=0;while(i<=10){sum+=i;i++;}System.out.println(sum);//輸出結(jié)果:55示例:計(jì)算1到10的和while語句示例intnum=100;while(num<1000){ inti=num/100;//百位數(shù) intj=num/10%10;//十位數(shù) intk=num%10;//個(gè)位數(shù) if(num==i*i*i+j*j*j+k*k*k){ System.out.println(num); } num++;}示例:輸出100-1000的水仙花數(shù)while語句示例Scannerscan=newScanner(System.in);Randomrandom=newRandom();intrandNum=random.nextInt(100);intcount=0;while(true){

System.out.println("請(qǐng)輸入想要猜的數(shù)字:");

intnum=scan.nextInt();

count++; if(num>randNum){

System.out.println("猜大了!"); }elseif(num==randNum){

System.out.println("猜對(duì)了!");

System.out.println("你一共猜了"+count+"次。");

break; }else{

System.out.println("猜小了!"); }}示例:實(shí)現(xiàn)猜數(shù)字游戲注意事項(xiàng)循環(huán)條件必須是布爾類型,即只能是true或false。循環(huán)體內(nèi)必須有語句改變循環(huán)條件的值,否則會(huì)導(dǎo)致死循環(huán)。循環(huán)條件的判斷應(yīng)該盡量簡(jiǎn)單,避免出現(xiàn)復(fù)雜的邏輯運(yùn)算。循環(huán)次數(shù)不確定時(shí)使用while循環(huán),循環(huán)次數(shù)已知時(shí)使用for循環(huán)。在使用while語句時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法5.2do-while語句do-while語句Java中的do-while語句是一種循環(huán)語句,它會(huì)先執(zhí)行一次循環(huán)體,然后再根據(jù)循環(huán)條件來決定是否繼續(xù)執(zhí)行循環(huán)。簡(jiǎn)介do-while語句格式do-while語句的基本語法格式如下:do{//循環(huán)體}while(循環(huán)條件);while語句示例intsum=0;inti=1;do{sum+=i;i++;}while(i<=10);System.out.println(sum);//輸出結(jié)果:55示例:使用do…while語句計(jì)算1到10的和while語句示例inti=0;intsum=1;do{i++;sum=sum*i;}while(i<5);System.out.println("sum="+sum);示例:使用do…while語句計(jì)算正數(shù)5的階乘while語句示例Scannerinput=newScanner(System.in);intsum=0,count=0,number;charchoice;do{System.out.print("請(qǐng)輸入一個(gè)數(shù)字:");number=input.nextInt();sum+=number;count++;System.out.print("是否繼續(xù)輸入數(shù)字?(Y/N)");choice=input.next().charAt(0);}while(choice=='Y'||choice=='y');doubleaverage=(double)sum/count;System.out.println("這些數(shù)字的平均值是:"+average);示例:用戶輸入一些數(shù)字,然后計(jì)算這些數(shù)字的平均值注意事項(xiàng)循環(huán)體至少會(huì)被執(zhí)行一次,因此do-while語句適合用于需要至少執(zhí)行一次的情況。循環(huán)條件必須放在循環(huán)體的后面,并且要用while關(guān)鍵字引導(dǎo)。在循環(huán)體內(nèi)部需要更新循環(huán)條件,否則可能會(huì)導(dǎo)致死循環(huán)。在使用do-while語句時(shí),需要注意以下幾點(diǎn):第2章Java基礎(chǔ)語法5.3for語句for語句Java中的for語句是一種循環(huán)結(jié)構(gòu),用于重復(fù)執(zhí)行一段代碼,直到滿足某個(gè)條件為止。簡(jiǎn)介for語句格式for語句的基本語法格式如下:for(初始化表達(dá)式;條件表達(dá)式;更新表達(dá)式){//循環(huán)體語句}初始化表達(dá)式

條件表達(dá)式循環(huán)體語句更新表達(dá)式truefalse循環(huán)語句后的語句for語句示例for(inti=0;i<5;i++){System.out.println("i="+i);}示例:使用for語句輸出數(shù)值0到4輸出結(jié)果i=0i=1i=2i=3i=4for語句示例intsum=0;

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

sum+=i;

//

1,2,3,4,5}System.out.println("1到5的累加和為:"+sum);//15示例:使用for語句實(shí)現(xiàn)1到5的累加和for語句示例intsum=0;

for(inti=1;i<=100;i+=2){

sum+=i;}System.out.println("1到100的奇數(shù)累加和為:"+sum);//2500示例:使用for語句實(shí)現(xiàn)1到100的奇數(shù)累加和for語句示例示例:使用for循環(huán)語句輸出九九乘法表for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(i+"*"+j+"="+(i*j)+"\t");}System.out.println();}for語句示例示例:使用for循環(huán)語句輸出九九乘法表注意事項(xiàng)for循環(huán)語句中的三個(gè)表達(dá)式(初始化表達(dá)式、條件表達(dá)式、更新表達(dá)式)都是可選的,但是分號(hào)必須保留。條件表達(dá)式的結(jié)果必須是布爾類型,如果不是布爾類型,需要使用強(qiáng)制類型轉(zhuǎn)換。循環(huán)體內(nèi)的語句可以是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論