第2章 JAVA語言基礎(chǔ)(新書)_第1頁
第2章 JAVA語言基礎(chǔ)(新書)_第2頁
第2章 JAVA語言基礎(chǔ)(新書)_第3頁
第2章 JAVA語言基礎(chǔ)(新書)_第4頁
第2章 JAVA語言基礎(chǔ)(新書)_第5頁
已閱讀5頁,還剩124頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章第二章 JavaJava編程基礎(chǔ)編程基礎(chǔ) Java語言基礎(chǔ)2【學(xué)習(xí)目標(biāo)】1 1掌握掌握 Java Java 程序中的注釋用法。程序中的注釋用法。 2 2掌握掌握 Java Java 的命名規(guī)則,了解的命名規(guī)則,了解 Java Java 的標(biāo)識(shí)符和系統(tǒng)保留字。的標(biāo)識(shí)符和系統(tǒng)保留字。 3 3掌握掌握 Java Java 的基本數(shù)據(jù)類型,了解常量、變量和的基本數(shù)據(jù)類型,了解常量、變量和 Java Java 擴(kuò)展的數(shù)據(jù)類擴(kuò)展的數(shù)據(jù)類型。型。4 4掌握掌握 Java Java 語言基本運(yùn)算符的使用,掌握語言基本運(yùn)算符的使用,掌握 Java Java 語言基本運(yùn)算符的優(yōu)語言基本運(yùn)算符的優(yōu)先級(jí)。先級(jí)。

2、 5 5掌握掌握 Java Java 程序的基本控制結(jié)構(gòu)。程序的基本控制結(jié)構(gòu)。 6 6掌握并運(yùn)用數(shù)組。掌握并運(yùn)用數(shù)組。 Java語言基礎(chǔ)32.1 2.1 數(shù)據(jù)類型、常量、變量數(shù)據(jù)類型、常量、變量 一、標(biāo)識(shí)符一、標(biāo)識(shí)符 標(biāo)識(shí)符:能被編譯器識(shí)別而提供的在程序中惟一的名字。在標(biāo)識(shí)符:能被編譯器識(shí)別而提供的在程序中惟一的名字。在JavaJava語言中用標(biāo)語言中用標(biāo)識(shí)符對(duì)變量、類、方法等進(jìn)行命名。識(shí)符對(duì)變量、類、方法等進(jìn)行命名。 對(duì)標(biāo)識(shí)符的定義需要遵守以下的規(guī)則:對(duì)標(biāo)識(shí)符的定義需要遵守以下的規(guī)則: 標(biāo)識(shí)符是由字母、標(biāo)識(shí)符是由字母、“_ _”、“$ $”和數(shù)字組成。和數(shù)字組成。 標(biāo)識(shí)符以字母、標(biāo)識(shí)符以字母

3、、“_ _”、“$ $”開頭。開頭。 標(biāo)識(shí)符不能與關(guān)鍵字同名。標(biāo)識(shí)符不能與關(guān)鍵字同名。 標(biāo)識(shí)符區(qū)分大小寫。如:標(biāo)識(shí)符區(qū)分大小寫。如:sumsum和和SumSum是不同的標(biāo)識(shí)符。是不同的標(biāo)識(shí)符。 例如:例如: nes_idnes_id,$fail$fail,_ese_ese為合法標(biāo)識(shí)符。為合法標(biāo)識(shí)符。 nes-id nes-id,studstud* *,classclass為不合法標(biāo)識(shí)符。為不合法標(biāo)識(shí)符。 Java語言基礎(chǔ)4二、關(guān)鍵字二、關(guān)鍵字 關(guān)鍵字:關(guān)鍵字:Java語言本身提供的一種特殊的標(biāo)識(shí)符,又稱語言本身提供的一種特殊的標(biāo)識(shí)符,又稱Java保保留字。留字。Java語言的關(guān)鍵字有語言的關(guān)鍵

4、字有40多個(gè),如表多個(gè),如表2-1: abstractboolean break bytecasecatchcharclassconstcontinuedefaultdodoubleelseextensfalsefinalfinallyfloatforifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticsuper switchsynchronizedthisthrow throwstransienttruetryvoidvolatilewhile表表

5、2-1 Java語言的關(guān)鍵字語言的關(guān)鍵字Java語言基礎(chǔ)5 三、數(shù)據(jù)類型三、數(shù)據(jù)類型 JavaJava數(shù)據(jù)類型數(shù)據(jù)類型: :基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型。基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型。n 基本數(shù)據(jù)類型基本數(shù)據(jù)類型: :數(shù)值型、字符型和布爾型;數(shù)值型、字符型和布爾型;n 復(fù)合類型復(fù)合類型: : 類和接口類型。類和接口類型。 1 1數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù) 整數(shù)類型、浮點(diǎn)類型。整數(shù)類型、浮點(diǎn)類型。Java語言基礎(chǔ)6(1) 整數(shù)類型 JavaJava把整型數(shù)細(xì)分為字節(jié)型、短整型、整型、長整型。它們的類型把整型數(shù)細(xì)分為字節(jié)型、短整型、整型、長整型。它們的類型標(biāo)識(shí)符、默認(rèn)值、取值范圍和所占字節(jié)如表標(biāo)識(shí)符、默認(rèn)值

6、、取值范圍和所占字節(jié)如表2-22-2所示:所示: 名稱名稱 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 默認(rèn)值默認(rèn)值 取值范圍取值范圍 長度長度 字節(jié)型字節(jié)型byte0-1281271字節(jié)字節(jié) 短整型短整型 short0-32768327672字節(jié)字節(jié) 整型整型 int0-231231-14字節(jié)字節(jié) 長整型長整型 long0-263263-18字節(jié)字節(jié) 注意:注意:Java中所有整數(shù)類型都是有符號(hào)的,沒有無符號(hào)的整數(shù)。中所有整數(shù)類型都是有符號(hào)的,沒有無符號(hào)的整數(shù)。 Java語言基礎(chǔ)7 (2)浮點(diǎn)型 Java提供了兩種浮點(diǎn)類型:單精度和雙精度。它們的類型標(biāo)識(shí)符、默認(rèn)值、取值范圍和所占字節(jié)如表2-3所示: 名稱名稱 類

7、型標(biāo)識(shí)符類型標(biāo)識(shí)符 默認(rèn)值默認(rèn)值 取值范圍取值范圍 長度長度 單精度單精度 float00f -231231-14字節(jié)字節(jié) 雙精度雙精度 double00-263263-18字節(jié)字節(jié) 表2-3浮點(diǎn)數(shù)據(jù)分類 Java語言基礎(chǔ)8 (3)字符類型字符類型 (4)布爾型布爾型名稱名稱 類型標(biāo)類型標(biāo)識(shí)符識(shí)符 默認(rèn)值默認(rèn)值 取值范圍取值范圍 長度長度 字符型字符型 char0或或u0000065535u0000uffff2字節(jié)字節(jié) 布爾型布爾型 booleanfalsetrue,false1字節(jié)字節(jié) 表2-4字符型和布爾型數(shù)據(jù) Java語言基礎(chǔ)9四、常量四、常量在在Java語言中的常量有:語言中的常量有:

8、整型常量;整型常量;浮點(diǎn)常量;浮點(diǎn)常量;字符常量;字符常量;布爾常量;布爾常量;字符串常量;字符串常量;程序中定義的常量。程序中定義的常量。final final 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 常量名常量名 常量值;常量值; Java語言基礎(chǔ)10JavaJava語言還允許使用一種以語言還允許使用一種以“ ”開頭的字符,我們稱其為轉(zhuǎn)義字符,開頭的字符,我們稱其為轉(zhuǎn)義字符,用來表示一些不可顯示的或有特殊意義的字符。常見的轉(zhuǎn)義如表用來表示一些不可顯示的或有特殊意義的字符。常見的轉(zhuǎn)義如表2-52-5所所示:示: 符號(hào)符號(hào)功能功能符號(hào)符號(hào)功能功能n換行(將光標(biāo)移到下一行開頭)換行(將光標(biāo)移到下一行開頭)單引號(hào)單

9、引號(hào)r回車(將光標(biāo)移到本行開頭)回車(將光標(biāo)移到本行開頭)“雙引號(hào)雙引號(hào)f換頁(光標(biāo)移到下頁開始處)換頁(光標(biāo)移到下頁開始處)反斜杠反斜杠b退格(光標(biāo)移到前一列)退格(光標(biāo)移到前一列)ddd八進(jìn)制模式八進(jìn)制模式t水平制表符(光標(biāo)移到下一個(gè)水平制表符(光標(biāo)移到下一個(gè)Tab位置)位置)udddd十六進(jìn)制模式十六進(jìn)制模式表表2-5轉(zhuǎn)義字符轉(zhuǎn)義字符Java語言基礎(chǔ)11程序中定義的常量(符號(hào)常量)程序中定義的常量(符號(hào)常量) 在在JavaJava程序中定義常量通過程序中定義常量通過finalfinal關(guān)鍵字實(shí)現(xiàn),常量通常用大寫字母關(guān)鍵字實(shí)現(xiàn),常量通常用大寫字母表示。常量聲明賦值后,在程序中就不能再修改,

10、否則將會(huì)產(chǎn)生編譯錯(cuò)表示。常量聲明賦值后,在程序中就不能再修改,否則將會(huì)產(chǎn)生編譯錯(cuò)誤。誤。定義語句格式如下:定義語句格式如下: final final 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 常量名常量名 常量值;常量值; 例如例如: final int N 100;final int N 100;Java語言基礎(chǔ)12五、變量五、變量1.1.變量定義變量定義 Java語言規(guī)定,程序中的變量必須先定義、后使用語言規(guī)定,程序中的變量必須先定義、后使用. 定義變量語句的一般格式如下:定義變量語句的一般格式如下: 數(shù)據(jù)類型數(shù)據(jù)類型 變量列表;變量列表; 給變量賦值語句的一般格式為:給變量賦值語句的一般格式為: 變量名變量

11、名= =表達(dá)式;表達(dá)式; Java語言基礎(chǔ)13例例2.1給變量賦值的演示給變量賦值的演示public class j202 public static void main(String arg) int a,b; /定義變量定義變量a,b為整型變量為整型變量 a=1; /給變量給變量a賦初值賦初值 System.out.println(a=+a); a=a+1; System.out.println(a=+a); b=a+1; System.out.println(b=+b); a=b+2; System.out.println(a=+a); Java語言基礎(chǔ)143 3變量初始化變量初始化例例

12、2.2給變量賦值給變量賦值public class j203 public static void main(String arg) byte a=0 x78; /定義十六進(jìn)制字節(jié)型變量定義十六進(jìn)制字節(jié)型變量 int b=3; /定義變量定義變量b為整型變量為整型變量 float c=1.23f; /定義變量定義變量c為單精度變量為單精度變量 double d=3.23; /定義變量定義變量d為雙精度變量為雙精度變量 boolean e=false; /定義變量定義變量e為布爾型變量為布爾型變量 char f=A; /定義變量定義變量f為字符型變量為字符型變量 System.out.print

13、ln(轉(zhuǎn)換成十進(jìn)制的轉(zhuǎn)換成十進(jìn)制的a=+a); System.out.println(b=+b); System.out.println(c=+c); System.out.println(d=+d); System.out.println(e=+e); System.out.println(f=+f); Java語言基礎(chǔ)152.2 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式Java語言運(yùn)算符是一種特殊字符,他指明用戶對(duì)操作數(shù)語言運(yùn)算符是一種特殊字符,他指明用戶對(duì)操作數(shù)進(jìn)行的某種操作。表達(dá)式是由常量、變量、方法調(diào)用以進(jìn)行的某種操作。表達(dá)式是由常量、變量、方法調(diào)用以及一個(gè)或多個(gè)運(yùn)算符按一定規(guī)則的組合,它用于計(jì)

14、算或及一個(gè)或多個(gè)運(yùn)算符按一定規(guī)則的組合,它用于計(jì)算或?qū)ψ兞窟M(jìn)行賦值。對(duì)變量進(jìn)行賦值。 Java語言基礎(chǔ)162.2.12.2.1算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式 類型類型運(yùn)算符運(yùn)算符功功 能能用法舉例用法舉例雙目運(yùn)算符雙目運(yùn)算符+加加a+b-減減a-b*乘乘a*b/除除a/b%求余求余a%b單目運(yùn)算符單目運(yùn)算符-負(fù)值負(fù)值-a+自增自增a+,+a-自減自減a-,-aJava語言基礎(chǔ)17說明說明 (1)(1)“+ +”運(yùn)算符可以用來連接字符串;例如:運(yùn)算符可以用來連接字符串;例如: String salutation=Dr.;String salutation=Dr.; String n

15、ame=Jack;String name=Jack; String title=salutation+name;String title=salutation+name;則則titletitle值為值為“Dr. JackDr. Jack”。 (2)(2)“/ /”運(yùn)算符。兩個(gè)整數(shù)相除的結(jié)果是整數(shù),如果有一個(gè)操作數(shù)為小運(yùn)算符。兩個(gè)整數(shù)相除的結(jié)果是整數(shù),如果有一個(gè)操作數(shù)為小數(shù)則結(jié)果為小數(shù)。例如數(shù)則結(jié)果為小數(shù)。例如5/2=25/2=2;5.0/2=2.55.0/2=2.5。 (3 3)“% %”運(yùn)算符。運(yùn)算符。JavaJava中的取模運(yùn)算符與中的取模運(yùn)算符與C C和和C+C+不同,它的操作數(shù)不同,它

16、的操作數(shù)可以是浮點(diǎn)數(shù)。例如可以是浮點(diǎn)數(shù)。例如-3.5%3=-0.5-3.5%3=-0.5,3.5%-3=0.53.5%-3=0.5。 Java語言基礎(chǔ)18(4 4)+(-)運(yùn)算符的操作數(shù)必須是變量,不能是常量和表達(dá)式。它)運(yùn)算符的操作數(shù)必須是變量,不能是常量和表達(dá)式。它們可以放在變量前,也可以放在變量后,功能都是對(duì)變量增(減)們可以放在變量前,也可以放在變量后,功能都是對(duì)變量增(減)1 1。但從表達(dá)式的角度看,表達(dá)式的值是不同的但從表達(dá)式的角度看,表達(dá)式的值是不同的. .例如:例如: k=a+k=a+;等價(jià)于;等價(jià)于k=a; a=a+1; k=a; a=a+1; 如如a=5a=5,則,則k=5

17、k=5,a=6a=6; k=+a; k=+a; 等價(jià)于等價(jià)于a=a+1; k=a; a=a+1; k=a; 如如a=5a=5,則,則k=6k=6,a=6a=6;Java語言基礎(chǔ)19例例24算術(shù)運(yùn)算算術(shù)運(yùn)算public class j204 public static void main(String arg) int a=3,b=5,c=5; System.out.println(初值初值a=3,b=5,c=5); System.out.println(b/a=+b/a); System.out.println(c%a=+c%a); System.out.println(-a=+(-a); S

18、ystem.out.println(b+=+(b+)+,+b=+b); System.out.println(+c=+(+c)+,+c=+c); Java語言基礎(chǔ)202.2.2 關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式1 1關(guān)系運(yùn)算符組成關(guān)系運(yùn)算符組成JavaJava語言提供了語言提供了6 6種關(guān)系運(yùn)算符種關(guān)系運(yùn)算符 、=、 、=7107的值為的值為truetrue,1010!=10=10的值為的值為false false Java語言基礎(chǔ)212.2.32.2.3邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算符與邏輯表達(dá)式邏輯運(yùn)算與關(guān)系運(yùn)算的關(guān)系十分密切,關(guān)系運(yùn)算的運(yùn)算結(jié)果是布爾型的邏輯運(yùn)算與關(guān)系運(yùn)算的關(guān)

19、系十分密切,關(guān)系運(yùn)算的運(yùn)算結(jié)果是布爾型的運(yùn)算,而邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果都是布爾型的運(yùn)算。運(yùn)算,而邏輯運(yùn)算的操作數(shù)和運(yùn)算結(jié)果都是布爾型的運(yùn)算。邏輯運(yùn)算符邏輯運(yùn)算符: :! !(非)(非)& &(非簡潔與)(非簡潔與): :按位與按位與| |(非簡潔或):按位或(非簡潔或):按位或 (異或)(異或) &(簡潔與):邏輯與(簡潔與):邏輯與|(簡潔或):邏輯或(簡潔或):邏輯或其中!是單目運(yùn)算符。其中!是單目運(yùn)算符。 Java語言基礎(chǔ)22例例2.5邏輯運(yùn)算邏輯運(yùn)算public class j205 public static void main(String arg) i

20、nt x=1,y=2; int num1=5,num2=5,num3=5,num4=5; boolean r1,r2,r3,r4; r1=xy & num1+=5; /兩邊表達(dá)式都運(yùn)算 r2=xy & num2+=5; /只運(yùn)算左邊表達(dá)式 r3=xy | num3+=5; /兩邊表達(dá)式都運(yùn)算 r4=xb?a:b; max=tc?t:c; /求三個(gè)數(shù)中最小值求三個(gè)數(shù)中最小值 t=ab?a:b; min=tc?t:c; /顯示結(jié)果顯示結(jié)果 System.out.println(max=+max); System.out.println(min=+min); Java語言基礎(chǔ)262.

21、2.6 運(yùn)算符優(yōu)先級(jí)運(yùn)算符優(yōu)先級(jí)優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符名稱運(yùn)算符名稱運(yùn)算符運(yùn)算符結(jié)合性結(jié)合性1限制符限制符()、()、 2自增、自減自增、自減+、-自右向左自右向左3按位取反、邏輯非、負(fù)號(hào)按位取反、邏輯非、負(fù)號(hào)、!、!、-自右向左自右向左4強(qiáng)制轉(zhuǎn)換、內(nèi)存分配強(qiáng)制轉(zhuǎn)換、內(nèi)存分配(類型)表達(dá)式、(類型)表達(dá)式、new自右向左自右向左5算術(shù)乘、除、取模算術(shù)乘、除、取模*、/、%自左向右自左向右6算術(shù)加、減算術(shù)加、減+、自左向右自左向右7移位運(yùn)算符移位運(yùn)算符、自左向右自左向右8關(guān)系運(yùn)算關(guān)系運(yùn)算、 、=自左向右自左向右9相等性判斷運(yùn)算相等性判斷運(yùn)算!=、= =自左向右自左向右10按位與、非簡潔與按位與、非簡

22、潔與&自左向右自左向右11按位異或、邏輯異或按位異或、邏輯異或自左向右自左向右12按位或、非簡潔或按位或、非簡潔或|自左向右自左向右13邏輯與(簡潔與)邏輯與(簡潔與)&自左向右自左向右14邏輯或(簡潔或)邏輯或(簡潔或)|自左向右自左向右15條件運(yùn)算條件運(yùn)算?:?:自右向左自右向左16賦值運(yùn)算賦值運(yùn)算=、+=、-=*=、自左向右自左向右n算術(shù)右移算術(shù)右移,和上面的不對(duì)應(yīng)和上面的不對(duì)應(yīng),為正數(shù)時(shí)左邊補(bǔ)為正數(shù)時(shí)左邊補(bǔ)0,為負(fù)數(shù)時(shí)為負(fù)數(shù)時(shí)左邊補(bǔ)左邊補(bǔ)1. n邏輯右移邏輯右移,這個(gè)才是和這個(gè)才是和和和是一樣的是一樣的對(duì)于負(fù)數(shù)對(duì)于負(fù)數(shù),右移之后就變成正數(shù)了右移之后就變成正數(shù)了. 練習(xí):

23、練習(xí): 關(guān)系運(yùn)算符與邏輯運(yùn)算符的使用關(guān)系運(yùn)算符與邏輯運(yùn)算符的使用public class LogicOpDemo public static void main(String args) int a = 10; int b = 5; boolean t = true; boolean f = false; System.out.println(ab : + (a b); System.out.println(a=b : + (a = b); System.out.println(t&f : + (t & f); System.out.println(t|f : + (t | f

24、); System.out.println(!f : + (!f); System.out.println(tf : + (t f); System.out.println(t&f : + (t & f); System.out.println(t|f : + (t | f); 練習(xí)練習(xí) 位運(yùn)算符位運(yùn)算符public class BitOpDemo public static void main(String args) int a = 0 xB5;/32位位 int b = 0 xA3; System.out.println(a = + Integer.toBinaryStr

25、ing (a); System.out.println(b = + Integer.toBinaryString (b); System.out.println(a = + Integer.toBinaryString (a); System.out.println(a&b = + Integer.toBinaryString (a & b); System.out.println(a|b = + Integer.toBinaryString (a | b); System.out.println(ab = + Integer.toBinaryString (a b); Sys

26、tem.out.println(a3 = + Integer.toBinaryString (a 3 = + Integer.toBinaryString (a 3); System.out.println(a3 = + Integer.toBinaryString (a 3); 運(yùn)行結(jié)果Java語言基礎(chǔ)312.3 Java2.3 Java程序的流程控制程序的流程控制n2.3.1 順序結(jié)構(gòu)順序結(jié)構(gòu)n2.3.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)n2.3.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)Reader常用子類常用子類nBufferedReadern構(gòu)造一個(gè)字符流的緩存構(gòu)造一個(gè)字符流的緩存,里面,里面存放存放的是從控制臺(tái)輸入的字

27、節(jié)轉(zhuǎn)換成的是從控制臺(tái)輸入的字節(jié)轉(zhuǎn)換成的的字字 符,符,從而實(shí)現(xiàn)字符、數(shù)組和行的高效讀取。從而實(shí)現(xiàn)字符、數(shù)組和行的高效讀取。n可以指定緩沖區(qū)的大小可以指定緩沖區(qū)的大小nInputStreamReadern字節(jié)流通向字符流的橋梁:它使用指定的字節(jié)流通向字符流的橋梁:它使用指定的 charsetcharset 讀取字節(jié)并讀取字節(jié)并將其解碼為字符。將其解碼為字符。 n每次調(diào)用每次調(diào)用 InputStreamReaderInputStreamReader的的read() read() 方法都會(huì)導(dǎo)致從底層輸入方法都會(huì)導(dǎo)致從底層輸入流讀取一個(gè)或多個(gè)字節(jié)。流讀取一個(gè)或多個(gè)字節(jié)。 buf=new Buffere

28、dReader(new InputStreamReader(System.in);Java語言基礎(chǔ)33例例2.7輸入一個(gè)數(shù),求其平方根輸入一個(gè)數(shù),求其平方根import java.io.*;public class j207 public static void main(String arg) throws IOException int x; double y; String str; /聲明字符串類聲明字符串類 BufferedReader buf; /聲明緩沖數(shù)據(jù)流類聲明緩沖數(shù)據(jù)流類 System.out.print(請(qǐng)輸入一個(gè)數(shù)請(qǐng)輸入一個(gè)數(shù):); buf=new BufferedRe

29、ader(new InputStreamReader(System.in); str=buf.readLine(); x=Integer.parseInt(str);/返回由字符串轉(zhuǎn)換得到的整數(shù)返回由字符串轉(zhuǎn)換得到的整數(shù) y=Math.sqrt(x); /求平方根求平方根 System.out.println(x+的平方根為:的平方根為:+y); /顯示計(jì)算結(jié)果顯示計(jì)算結(jié)果 Java語言基礎(chǔ)34例例2.8輸入一個(gè)數(shù),求其平方根輸入一個(gè)數(shù),求其平方根import java.io.*;public class j208 public static void main(String arg) thr

30、ows IOException int x; double y; String str; BufferedReader buf; System.out.print(請(qǐng)輸入一個(gè)數(shù)請(qǐng)輸入一個(gè)數(shù):); buf=new BufferedReader(new InputStreamReader(System.in); str=buf.readLine(); x=Integer.parseInt(str); if (x=0) y=Math.sqrt(x); System.out.println(x+的平方根為:的平方根為:+y); Java語言基礎(chǔ)35例例29輸入一個(gè)數(shù),求其平方根輸入一個(gè)數(shù),求其平方根i

31、mport java.io.*;public class j209 public static void main(String arg) throws IOException int x; double y; String str; BufferedReader buf; System.out.print(請(qǐng)輸入一個(gè)數(shù)請(qǐng)輸入一個(gè)數(shù):); buf=new BufferedReader(new InputStreamReader(System.in); str=buf.readLine(); x=Integer.parseInt(str); if (x=0) y=Math.sqrt(x); Sy

32、stem.out.println(x+的平方根為:的平方根為:+y); else System.out.println(輸入錯(cuò)誤!輸入錯(cuò)誤!); Java語言基礎(chǔ)36例例2.10 2.10 編寫程序,輸入一個(gè)成績,輸出成績的等級(jí)。等級(jí)劃編寫程序,輸入一個(gè)成績,輸出成績的等級(jí)。等級(jí)劃分標(biāo)準(zhǔn):分標(biāo)準(zhǔn):8585分以上為優(yōu),分以上為優(yōu),75758484為良,為良,60607474為中,為中,6060分以分以下為不及格下為不及格import java.io.*;public class j210 public static void main(String arg) throws IOException

33、 int x; String str; BufferedReader buf; System.out.print(請(qǐng)輸入學(xué)生成績(請(qǐng)輸入學(xué)生成績(0-100)之間:)之間:); buf=new BufferedReader(new InputStreamReader(System.in); str=buf.readLine(); x=Integer.parseInt(str); if(x=85) System.out.println(成績優(yōu)秀!成績優(yōu)秀!); else if(x=75) System.out.println(成績良好!成績良好!); else if(x60) System.ou

34、t.println(成績及格!成績及格!); else System.out.println(成績不及格!成績不及格!); Java語言基礎(chǔ)37例例2.112.11輸入成績的英文等級(jí):輸入成績的英文等級(jí):A A、B B、C C、D D,輸出對(duì)應(yīng)的,輸出對(duì)應(yīng)的中文等級(jí):優(yōu)秀、良好、及格、不及格中文等級(jí):優(yōu)秀、良好、及格、不及格 import java.io.*;public class j211 public static void main(String arg) throws IOException char ch; System.out.print(請(qǐng)輸入英文等級(jí)(請(qǐng)輸入英文等級(jí)(A,B,

35、C,D):); /接收從鍵盤上輸入的一個(gè)數(shù)據(jù)把它轉(zhuǎn)換成一個(gè)字符接收從鍵盤上輸入的一個(gè)數(shù)據(jù)把它轉(zhuǎn)換成一個(gè)字符 ch=(char)System.in.read(); switch(ch) case A: case a: System.out.println(成績優(yōu)秀!成績優(yōu)秀!); break; case B: case b: System.out.println(成績良好!成績良好!);break; case C: case c: System.out.println(成績及格!成績及格!);break; case D: case d: System.out.println(成績不及格!成績不及

36、格!);break; default:System.out.println(輸入錯(cuò)誤!輸入錯(cuò)誤!); Java語言基礎(chǔ)38例例2.12 用戶從鍵盤輸入字符,直到輸入用戶從鍵盤輸入字符,直到輸入&程序結(jié)束。要求:輸入程序結(jié)束。要求:輸入字符后顯示輸入字符的字符后顯示輸入字符的ASCII值并最終統(tǒng)計(jì)出輸入字符的個(gè)數(shù)。值并最終統(tǒng)計(jì)出輸入字符的個(gè)數(shù)。import java.io.*;public class j212 public static void main(String arg) throws IOException char ch; int count=0; System.out.p

37、rintln(請(qǐng)輸入一個(gè)字符,以請(qǐng)輸入一個(gè)字符,以&結(jié)束輸入:結(jié)束輸入:); ch=(char)System.in.read(); while(ch!=&) System.out.println(字符字符+ch+的的ASCII值為值為:+(int)ch); System.in.skip(2); /跳過回車鍵和換行建跳過回車鍵和換行建 count=count+1; ch=(char)System.in.read(); System.out.println(輸入的字符共輸入的字符共+count); nSystem.in.skip(2);當(dāng)用戶鍵入字母,按當(dāng)用戶鍵入字母,按Enter

38、 鍵后,雖然屏幕只顯示了一個(gè)字母,但是在系統(tǒng)內(nèi)存鍵后,雖然屏幕只顯示了一個(gè)字母,但是在系統(tǒng)內(nèi)存中實(shí)際保存了中實(shí)際保存了3個(gè)個(gè)ASCII碼。碼。第一個(gè)第一個(gè)ASCII碼是用戶鍵入的字母的碼是用戶鍵入的字母的ASCII碼,碼,第二個(gè)是回車的第二個(gè)是回車的ASCII碼碼013,第三個(gè)是換行的第三個(gè)是換行的ASCII碼碼010。在這種情況下,在這種情況下,System.in.read(); 語句會(huì)在第二、三輪循環(huán)時(shí)分別讀取內(nèi)存中語句會(huì)在第二、三輪循環(huán)時(shí)分別讀取內(nèi)存中的的ASCII 碼碼013和和010,而不會(huì)要求用戶鍵入新的字母。只有在第四輪循環(huán)時(shí),而不會(huì)要求用戶鍵入新的字母。只有在第四輪循環(huán)時(shí),因?yàn)?/p>

39、內(nèi)存中的內(nèi)容已經(jīng)全部讀取完,才會(huì)要求用戶鍵入新的字母。因?yàn)閮?nèi)存中的內(nèi)容已經(jīng)全部讀取完,才會(huì)要求用戶鍵入新的字母。 Java語言基礎(chǔ)41例例2.132.13對(duì)例對(duì)例2.112.11進(jìn)行改編,用進(jìn)行改編,用do-whiledo-while語句實(shí)現(xiàn)語句實(shí)現(xiàn)import java.io.*;public class j213 public static void main(String arg) throws IOException char ch; int count=0; System.out.println(請(qǐng)輸入字符,以請(qǐng)輸入字符,以#結(jié)束輸入:結(jié)束輸入:); do ch=(char)Syst

40、em.in.read(); System.out.println(字符字符+ch+的的ASCII值為值為:+(int)ch); count=count+1; while(ch!=#) ; System.out.println(輸入的字符共:輸入的字符共:+count); Java語言基礎(chǔ)43 例例2.14計(jì)算計(jì)算1+2+3+100的值的值 public class j214 public static void main(String arg) int i,sum; /定義變量定義變量 /*方法方法1*/ sum=0; /給存放累加和的變量賦初值給存放累加和的變量賦初值0 for (i=1;i

41、=100;i+) /求累加和的循環(huán)開始求累加和的循環(huán)開始 sum=sum+i; /求累加和求累加和 System.out.println(1+2+.+100=+sum); /*方法方法2*/ for (sum=0,i=1;i=100) break; /退出循環(huán)條件退出循環(huán)條件 i+; /加數(shù)自加加數(shù)自加 System.out.println(1+2+.+100=+sum); Java語言基礎(chǔ)45例例2.152.15求求1-10001-1000之間的所有完全數(shù)之間的所有完全數(shù) public class j215 public static void main(String arg) int i,

42、j,sum; /定義變量定義變量 for(i=1;i1000;i+) sum=0; for(j=1;ji;j+) if(i%j=0) sum=sum+j; /因子累加因子累加 if(sum=i) /判定是否為完全數(shù)判定是否為完全數(shù) System.out.print(i+t); System.out.println(); Java語言基礎(chǔ)46例例2.16 計(jì)算計(jì)算 3 的的 60 次方。次方。 public class Example2_16 public static void main(String args) int i,n=60; long result=1; for(i=1;i=Int

43、eger.MAX_VALUE) break; if (i= =n+1) System.out.println(3 的的+n +次方為:次方為:+ result); Else System.out.println(超出了整數(shù)范圍超出了整數(shù)范圍); Java語言基礎(chǔ)47例例2.17求自然數(shù)求自然數(shù) 1 至至 99 中所有奇數(shù)的和。中所有奇數(shù)的和。 public class Example217 public static void main(String args) int sum=0,i; for (i=1;i=99;+i) if (i%2=0) continue; sum +=i; Syste

44、m.out.println(sum); Java語言基礎(chǔ)48例例2.18 2.18 輸出輸出 200 200 以內(nèi)的所有素?cái)?shù)的程序就使用了帶標(biāo)以內(nèi)的所有素?cái)?shù)的程序就使用了帶標(biāo)號(hào)的號(hào)的 continue continue 語句語句: import java.io.*;public class Sushu public static void main ( String args ) A1: for( int i = 2; i = 200; i+ ) for( int j = 2; j i; j+) if ( i % j = 0) continue A1; System.out.print( i

45、+ ); 課堂練習(xí)課堂練習(xí)1:1:寫出程序的運(yùn)行結(jié)果寫出程序的運(yùn)行結(jié)果import java.io.IOException;public class Test public static void main(String args) throws IOException System.out.println(please enter number); int b = 0; while (true) b = System.in.read(); if (b = n | b = r) break; else int num = b - 0; System.out.println(num); n輸入:

46、輸入:123 n輸出:輸出:123Java語言基礎(chǔ)50課堂練習(xí)課堂練習(xí)2:求求2100的素?cái)?shù),每行打印的素?cái)?shù),每行打印5個(gè)數(shù)字個(gè)數(shù)字import java.io.*;public class prime public static void main(String args) First_Loop: for(int i=2,k=0;i100;i+) for(int j=2;j=Math.sqrt(i);j+) if(i%j=0) continue First_Loop; System.out.print(i+t); k+; if(k%5=0) System.out.println(); /fo

47、r /main /classJava語言基礎(chǔ)512.4 數(shù)組數(shù)組2.4.1什么是數(shù)組 數(shù)組是一組類型相同、名字相同的數(shù)據(jù)的總稱,數(shù)組中的每個(gè)數(shù)據(jù)稱為一個(gè)數(shù)組元素。 Java語言基礎(chǔ)522.4.2 一維數(shù)組一維數(shù)組在Java語言中,使用數(shù)組一般步驟: 數(shù)組定義、分配內(nèi)存、賦值。 1 1定義數(shù)組定義數(shù)組 形式有兩種: 數(shù)組元素類型數(shù)組元素類型 數(shù)組名數(shù)組名 ; 數(shù)組元素類型數(shù)組元素類型 數(shù)組名;數(shù)組名;例如:例如: int student; int student; boolean info; Java語言基礎(chǔ)532 2用用newnew初始化數(shù)組初始化數(shù)組 用關(guān)鍵字new初始化數(shù)組:指定數(shù)組的長度

48、并分配相應(yīng)的內(nèi)存空間。例如: int a; a = new int50; 定義數(shù)組和動(dòng)態(tài)初始化數(shù)組也可以合并為一條語句,例如: int a = new int50; String name = new String30; 在動(dòng)態(tài)初始化數(shù)組后,數(shù)組的默認(rèn)值由其元素的類型決定。在動(dòng)態(tài)初始化數(shù)組后,數(shù)組的默認(rèn)值由其元素的類型決定。例如:整型數(shù)據(jù)的默認(rèn)值為例如:整型數(shù)據(jù)的默認(rèn)值為0 0,實(shí)型數(shù)據(jù)的默認(rèn)值為,實(shí)型數(shù)據(jù)的默認(rèn)值為0.00.0, 布爾型數(shù)據(jù)的默認(rèn)值為布爾型數(shù)據(jù)的默認(rèn)值為false false Java語言基礎(chǔ)543 3賦初值初始化數(shù)組賦初值初始化數(shù)組 賦初值初始化數(shù)組是指不使用系統(tǒng)的數(shù)組默認(rèn)

49、值,自行給數(shù)組賦初值。賦初值初始化數(shù)組是指不使用系統(tǒng)的數(shù)組默認(rèn)值,自行給數(shù)組賦初值。具體實(shí)施方法:具體實(shí)施方法: (1)按照順序依次給每個(gè)元素賦值。)按照順序依次給每個(gè)元素賦值。 例如給數(shù)組例如給數(shù)組a賦值:賦值: a0 = 81; a1 = 90; a49 = 100; (2)在定義數(shù)組的同時(shí)直接給數(shù)組賦初值。)在定義數(shù)組的同時(shí)直接給數(shù)組賦初值。 int b = 81,90,17,55,32, 98,37,25,100 ; String nums = one,two,three,four,five,six; 初值數(shù)據(jù)的個(gè)數(shù)就是數(shù)組的長度,數(shù)據(jù)與數(shù)據(jù)之間用逗號(hào)分隔,整初值數(shù)據(jù)的個(gè)數(shù)就是數(shù)組的長

50、度,數(shù)據(jù)與數(shù)據(jù)之間用逗號(hào)分隔,整 個(gè)初值再用大括號(hào)括起來。個(gè)初值再用大括號(hào)括起來。Java語言基礎(chǔ)554數(shù)組元素的引用 數(shù)組名數(shù)組名 下標(biāo)下標(biāo) 下標(biāo)值由0開始到數(shù)組長度減1為止。對(duì)于數(shù)組a50來說,a0表示數(shù)組中的第一個(gè)元素;a49表示數(shù)組中的最后一個(gè)元素。 Java語言基礎(chǔ)565數(shù)組的復(fù)制 每個(gè)數(shù)組都是每個(gè)數(shù)組都是ArrayArray類中的一個(gè)對(duì)象,在復(fù)制數(shù)組時(shí)有兩類中的一個(gè)對(duì)象,在復(fù)制數(shù)組時(shí)有兩種具體情況。種具體情況。 (1)兩個(gè)數(shù)組指向同一組元素空間。 例如例如: int num_1 = 1, 2, 3, 4, 5, 6; int num_2;/未分配內(nèi)存空間未分配內(nèi)存空間 num_2

51、= num_1;/2個(gè)數(shù)組指向同一內(nèi)存空間個(gè)數(shù)組指向同一內(nèi)存空間 Java語言基礎(chǔ)57例例2.19 一維數(shù)組的構(gòu)建與輸出一維數(shù)組的構(gòu)建與輸出,并求數(shù)組平均值并求數(shù)組平均值class Array1creat public static void main(String args) int num1=1,2,3,4,5,6; int num2; int j; float ave=0f; System.out.println(數(shù)組數(shù)組num1各元素的值為:各元素的值為:); for(j=0; j num1.length ; j+) System.out.print(num1 j+t);Java語言基

52、礎(chǔ)58 System.out.println(); System.out.println(數(shù)組數(shù)組num1的長度為:的長度為:+ num1.length); num2=num1; System.out.println(數(shù)組數(shù)組num2各元素的值為:各元素的值為:); for(j=0; j num2.length ; j+) System.out.print(num2 j+t); ave = ave + num2 j; System.out.println(); ave = ave / num2.length; System.out.println(數(shù)組數(shù)組num2的平均值為:的平均值為:+ a

53、ve); Java語言基礎(chǔ)59(2 2)兩個(gè)數(shù)組指向內(nèi)容相同的兩個(gè)元素空間)兩個(gè)數(shù)組指向內(nèi)容相同的兩個(gè)元素空間。 如果要真正復(fù)制一個(gè)數(shù)組,使我們?cè)谛薷膹?fù)制數(shù)組時(shí)不影響源數(shù)組的話,就需要定義一個(gè)和源數(shù)組長度相同的數(shù)組,然后再把源數(shù)組中的元素一一復(fù)制給新的數(shù)組。n求任何數(shù)組的長度都可以使用求任何數(shù)組的長度都可以使用length方法:方法: 數(shù)組名數(shù)組名.length 如:如:num_1.length、 a.length等等 Java語言基礎(chǔ)602.4.3 2.4.3 二維數(shù)組二維數(shù)組 1二維數(shù)組定義與定義一維數(shù)組類似,定義二維數(shù)組也有兩種形式: (1)數(shù)組元素類型)數(shù)組元素類型 數(shù)組名數(shù)組名;例如

54、:intnum;charcc;(2)數(shù)組元素類型)數(shù)組元素類型 數(shù)組名數(shù)組名 ;例如:Stringss;Doublevalue; 二維數(shù)組可以看作一個(gè)按照行和列存儲(chǔ)數(shù)據(jù)的內(nèi)存空間??梢远S數(shù)組可以看作一個(gè)按照行和列存儲(chǔ)數(shù)據(jù)的內(nèi)存空間??梢园窗凑账枵账璐_定數(shù)組每行和每列的長度,有兩種創(chuàng)建方法。確定數(shù)組每行和每列的長度,有兩種創(chuàng)建方法。 (1 1)數(shù)組每行、每列之間長度相同。)數(shù)組每行、每列之間長度相同。 例如:例如:int bb = new int23; 該語句表示創(chuàng)建一個(gè)2行3列的二維數(shù)組,該數(shù)組共有bb00、bb01、bb02、bb10、bb11和bb12六個(gè)數(shù)組元素。Java語言基礎(chǔ)6

55、1 2 2用用newnew初始化二維數(shù)組初始化二維數(shù)組(2 2)數(shù)組每行、每列之間長度不相同。)數(shù)組每行、每列之間長度不相同。 Java語言中,多維數(shù)組被看作是數(shù)組的數(shù)組,對(duì)數(shù)組空間的分配不一定是連續(xù)空間。因而,多維數(shù)組每一維的大小可以是不相同的。 例如:例如: results = new int2;/創(chuàng)建一個(gè)創(chuàng)建一個(gè)2行的二維數(shù)組。行的二維數(shù)組。 results0 = new int3;/該數(shù)組第一行有該數(shù)組第一行有3列,也就是列,也就是3個(gè)元素。個(gè)元素。 results1 = new int5;/該數(shù)組第二行有該數(shù)組第二行有5列,也就是列,也就是5個(gè)元素。個(gè)元素。Java語言基礎(chǔ)62 3

56、3賦初值初始化二維數(shù)組賦初值初始化二維數(shù)組 與初始化一維數(shù)組類似,賦初值初始化二維數(shù)組也有兩種方法。 (1)按照順序依次給每個(gè)元素賦值。 (2)在定義數(shù)組的同時(shí)直接給數(shù)組賦初值。 例如:例如: int bb = 13,45,78 , 36,21,55 ; 4 4二維數(shù)組的長度二維數(shù)組的長度 二維數(shù)組的長度是指行數(shù)的個(gè)數(shù),二維數(shù)組每行的長度是指每行的元素個(gè)數(shù)。 例如:例如:results.length表示二維數(shù)組表示二維數(shù)組results的長度,也就的長度,也就是行數(shù);是行數(shù);results i.length表示二維數(shù)組表示二維數(shù)組results第第i行的行的長度,也就是元素個(gè)數(shù)。長度,也就是元

57、素個(gè)數(shù)。Java語言基礎(chǔ)632.4.4 2.4.4 數(shù)組應(yīng)用舉例數(shù)組應(yīng)用舉例 例例2.20 二維數(shù)組結(jié)構(gòu)示例設(shè)計(jì)思路:通過對(duì)由inta2=12,34,-5,3,5,7;所創(chuàng)建的數(shù)組的輸出,以及對(duì)a2.length與a2i.length的輸出,展示數(shù)組的創(chuàng)建與輸出方式,并加深對(duì)java二維數(shù)組結(jié)構(gòu)的認(rèn)識(shí)。Java語言基礎(chǔ)64class Array2creat public static void main(String args) int a2=12,34,-5,3,5,7; int i,j; System.out.println(二維數(shù)組二維數(shù)組a2的長度為:的長度為:+a2.length);

58、 for(i=0;ia2.length;i+) System.out.println(a2+i+的長度為:的長度為:+a2i.length); for(j=0; j a2i.length ;j+) System.out.print(a2+i+j+=+a2ij+t); System.out.println(); Java語言基礎(chǔ)65例例2.212.21 二維數(shù)組的轉(zhuǎn)置與輸出。設(shè)計(jì)思路:首先定義、賦初值并輸出首先定義、賦初值并輸出int a。然后定義然后定義int b。用用bji=aij 語句配合循環(huán),實(shí)現(xiàn)將數(shù)組語句配合循環(huán),實(shí)現(xiàn)將數(shù)組a 轉(zhuǎn)置復(fù)轉(zhuǎn)置復(fù)制給數(shù)組制給數(shù)組b的目的。的目的。Java語言

59、基礎(chǔ)66class Array2convertpublic static void main(String args) int a=11,12,13,21,22,23,31,32,33,41,42,43; int b=new int34; int i,j; System.out.println(數(shù)組數(shù)組a各元素的值為:各元素的值為:); for(i=0;i4;i+) for(j=0;j3;j+) System.out.print(aij+t); System.out.println(); Java語言基礎(chǔ)67 for(i=0;i4;i+) for(j=0;j3;j+) bji=aij; Sys

60、tem.out.println(數(shù)組數(shù)組b各元素的值為:各元素的值為:); for(i=0;i3;i+) for(j=0;j4;j+) System.out.print(bij+t); System.out.println(); Java語言基礎(chǔ)68例例2.222.22數(shù)組綜合操作舉例設(shè)計(jì)思路:通過類似for(i=0;ia.length;i+) 的循環(huán)語句,實(shí)現(xiàn)求最大值和排序等一系列數(shù)組的常用功能。Java語言基礎(chǔ)69class UseArray public static void main(String args) int i,j,max,sum,temp; int a=3,0,6,7,5,2; /定義數(shù)組并初始化定義數(shù)組并初始化 max=a0; for(i=1;imax) max=ai; System

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論