Java語法基礎(chǔ)課件_第1頁
Java語法基礎(chǔ)課件_第2頁
Java語法基礎(chǔ)課件_第3頁
Java語法基礎(chǔ)課件_第4頁
Java語法基礎(chǔ)課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Java語法基礎(chǔ)

2.1標(biāo)識符、分隔符和關(guān)鍵字

2.1.1Java標(biāo)識符與注釋

Java語言中,為各種變量、方法和類等起的名字稱為標(biāo)識符。Java語言標(biāo)識符的組成有一定的規(guī)則,如標(biāo)識符必須以字母、下劃線(_)或美元符($)開頭,后面可以跟任意數(shù)目的字母、數(shù)字、下劃線(_)或美元符($)。標(biāo)識符的長度沒有限制,標(biāo)識符可以由編程者自己指定,但是要遵循一定的規(guī)則。

Java語言規(guī)定標(biāo)識符命名要符合下列命名規(guī)則:

(1)標(biāo)識符應(yīng)以字母、下劃線、美元符$開頭,不能以數(shù)字開頭;(2)標(biāo)識符可以由字母、下劃線、美元符或數(shù)字組合而成。在實(shí)際編程時,在命名標(biāo)識符時,應(yīng)該使其在一定程度上反映它所表示的變量、常量、類名和對象名的實(shí)際意義。(3)Java標(biāo)識符大小寫敏感,長度無限制。(4)系統(tǒng)的關(guān)鍵字(又叫保留字)不能作為標(biāo)識符。2.1.2Java關(guān)鍵字

Java中一些賦以特定的含義、并用做專門用途的單詞稱為關(guān)鍵字(keyword);所有Java關(guān)鍵字都是小寫的,TURE、FALSE、NULL等都不是Java關(guān)鍵字;goto和const雖然從未使用,但也作被為Java關(guān)鍵字保留。true、false、null雖用做專門用途,但不是Java關(guān)鍵字。

2.1.3Java分隔符

Java分隔符組成:

分號--“;”、花括號--“{}”、空格--“”Java分隔符作用:Java語句必須以分號作為結(jié)束標(biāo)記Java允許用花括號“{}”將一組語句括起來,形成一個語句塊(block)Java程序源代碼中各組成部分之間可以插入任意數(shù)量的空格,包括換行。2.1.3Java分隔符Java語句塊(block)在程序設(shè)計時經(jīng)常使用,主要用于下列幾個方面:(1)在定義類時,類體必須采用語句塊形式;(2)在定義方法時,方法體必須采用語句塊的形式;(3)在定義循環(huán)語句時,循環(huán)體可以語句塊的形式,采用將0~多條語句集合到一起,作為一個整體進(jìn)行處理;(4)語句塊可以嵌套,嵌套層數(shù)無限制,以實(shí)現(xiàn)較復(fù)雜的功能。2.2常量和變量

2.2.1常量在程序運(yùn)行過程中,其值不能被改變的量稱為常量。Java中常用的常量有不同的類型:布爾型常量、字符型常量、整數(shù)型常量、浮點(diǎn)型常量和字符串型常量。布爾型常量包括true和false,分別代表真和假;字符型常量用一對單引號括起來的單個字符表示,如‘a(chǎn)’、‘1’等;整數(shù)型常量可以采用八進(jìn)制、十進(jìn)制和十六進(jìn)制表示。八進(jìn)制的常量用以零開頭的數(shù)字表示,如011代表十進(jìn)制的9;十六進(jìn)制的數(shù)用以0x開頭的數(shù)字表示,如0x11代表十進(jìn)制的17。

2.2.2變量

程序執(zhí)行中數(shù)值可變的數(shù)據(jù)稱為變量。變量包括變量名和變量值。Java中的變量必須先聲明后使用。在使用每一個變量之前,必須清楚地為每一個變量提供一個名字和類型。這個變量的名字必須是一個合法的標(biāo)識符,對應(yīng)一定數(shù)量的內(nèi)存存貯單元,其單元數(shù)視變量類型而定。變量聲明格式數(shù)據(jù)類型標(biāo)識符[=確省值]例如:

inti;i=5;

或縮寫成

inti=5;使用變量的注意事項變量命名不能重復(fù)(不同條件下)Java區(qū)分大小寫變量必須先定義,再使用只有定義過,才能為其分配相應(yīng)數(shù)量的存儲單元一旦定義,變量類型才能確定,才能檢查其運(yùn)算的合法性2.3Java的數(shù)據(jù)類型

Java語言的數(shù)據(jù)類型如圖2-1所示。

圖2-1Java語言的數(shù)據(jù)類型

Java中定義了四類/八種基本數(shù)據(jù)類型:(1)邏輯型----boolean;(2)字符型----char;(3)整數(shù)型----byte,short,int,long;(4)

浮點(diǎn)數(shù)型----float,double。每種數(shù)據(jù)類型都有其固定的表達(dá)數(shù)據(jù)范圍和字段長度,不受操作系統(tǒng)的影響。2.3.1邏輯布爾型

使用關(guān)鍵字boolean來定義邏輯布爾型變量,boolean類型適于邏輯運(yùn)算,一般用于程序流程控制。boolean類型數(shù)據(jù)只允許取值true或false,不可以0或非0的整數(shù)替代true和false。通過下面的例子來說明boolean型變量的定義和用法。

booleanb=false; if(b==true){ //dosomething }2.3.2字符型

char型數(shù)據(jù)用來表示通常意義上“字符”字符常量是用單引號括起來的單個字符charc='A';Java字符采用Unicode編碼,每個字符占兩個字節(jié),因而可用十六進(jìn)制編碼形式表示charc1='\u0061';Java語言中還允許使用轉(zhuǎn)義字符'\'來將其后的字符轉(zhuǎn)變?yōu)槠渌暮xcharc2='\n';//代表換行符2.3.3整數(shù)型

(1)整數(shù)型常量Java語言中的整數(shù)型常量分為三種:十進(jìn)制整數(shù),如123,456,0。八進(jìn)制整數(shù),以0開頭,017代表十進(jìn)制整數(shù)15,011代表十進(jìn)制整數(shù)9。十六進(jìn)制整數(shù),以0x或0X開頭,如0x2E代表十進(jìn)制整數(shù)46,0x123代表十進(jìn)制整數(shù)291。(2)整數(shù)型變量Java語言中的整數(shù)型變量分為四種:byte,short,int,long。2.3.3整數(shù)型Java各整數(shù)類型有固定的表數(shù)范圍和字段長度,而不受具體操作系統(tǒng)的影響,以保證Java程序的可移植性:類型占用存儲空間表數(shù)范圍byte1字節(jié)

-128~127short2字節(jié)

-215~215-1

int4字節(jié)

-231~231-1long8字節(jié)

-263~263-12.3.4浮點(diǎn)型(實(shí)型)

Java浮點(diǎn)類型有固定的表示范圍和字段長度,表2-3列出各類型所在內(nèi)存的字節(jié)數(shù)和表示范圍。

類型占用存儲空間表數(shù)范圍float4字節(jié)

-3.403E38~3.403E38double8字節(jié)

-1.798E308~1.798E308publicclassDataType

{publicstaticvoidmain(Stringargs[]){ booleanb=true; //聲明boolean型變量并賦值 intx,y=99; //聲明int型變量

floatf=12.34f; //聲明float型變量并賦值

doubled=3.1415; //聲明double型變量并賦值

charc; //聲明char型變量

c='\u0031'; //為char型變量賦值

x=999; //為int型變量賦值System.out.println("b="+b);

…}}

Java基本數(shù)據(jù)類型變量聲明和賦值

2.3.5引用數(shù)據(jù)類型

Java語言中除8種基本數(shù)據(jù)類型以外的數(shù)據(jù)類型稱為引用類型

引用類型數(shù)據(jù)以對象的形式存在引用類型變量的值是某個對象的句柄,而不是對象本身

聲明引用類型變量時,系統(tǒng)只為該變量分配引用空間,并未創(chuàng)建一個具體的對象

Java引用類型應(yīng)用舉例publicclassTestarray{publicstaticvoidmain(Stringargs[]){ int[]s; s=newint[10]; for(inti=0;i<10;i++){ s[i]=3*i+2; System.out.println(s[i]); }}}2.4運(yùn)算符、表達(dá)式和語句

2.4.1運(yùn)算符(按照運(yùn)算符功能分)

算術(shù)運(yùn)算符:+,―,*,/,%,++,――;

如:3+2;a-b;i++;--i;關(guān)系運(yùn)算符:>,<,>=,<=,==,!=;

如:a>3;i==0; n!=-1;布爾邏輯運(yùn)算符:!,&,|,^,&&,||;如:

b=true; !(b); b&&b;運(yùn)算符

位運(yùn)算符:〉〉,〈〈,〉〉〉,—,l,^,~;如:

a=10011101; a<<3=11101000;a>>3=11110011a>>>3=00010011;賦值運(yùn)算符:=,擴(kuò)展賦值運(yùn)算符:+=,―=,*=,/=等;如:i=3; I-=2等效于i=I-2運(yùn)算符條件運(yùn)算符:?:;條件運(yùn)算符?:為三元運(yùn)算符,它的一般形式:x?y:z其中x為boolean類型表達(dá)式。其規(guī)則是:先計算x的值,若為true,則整個三元運(yùn)算的結(jié)果為表達(dá)式y(tǒng)的值,否則整個運(yùn)算結(jié)果為表達(dá)式z的值。例如:

intscore=50;Stringtype=score<60?“不及格”:“及格”;運(yùn)算符其它運(yùn)算符:包括分量運(yùn)算符.,下標(biāo)運(yùn)算符[],實(shí)例運(yùn)算符instanceof,內(nèi)存分配運(yùn)算符new、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符(類型)、方法調(diào)用運(yùn)算符()等。Instanceof運(yùn)算符應(yīng)用

classInstanceOfDemo{publicstaticvoidmain(Stringargs[]){ InstanceOfDemobob=newInstanceOfDemo(); if(bobinstanceofInstanceOfDemo){System.out.println(“bob是InstanceOfDemo的實(shí)例"); }

else{ System.out.println("bob不是InstanceOfDemo的實(shí)例!"); }}}Instanceof運(yùn)算符應(yīng)用程序的執(zhí)行結(jié)果如圖2-9所示。

2.4.2表達(dá)式

表達(dá)式是符合一定語法規(guī)則的運(yùn)算符和操作數(shù)的序列

a 5.0+a (a-b)*c-4 i<30&&i%10!=0表達(dá)式的類型和值對表達(dá)式中操作數(shù)進(jìn)行運(yùn)算得到的結(jié)果稱為表達(dá)式的值表達(dá)式的值的數(shù)據(jù)類型即為表達(dá)式的類型表達(dá)式的運(yùn)算順序首先應(yīng)按照運(yùn)算符的優(yōu)先級從高到低的順序進(jìn)行優(yōu)先級相同的運(yùn)算符按照事先約定的結(jié)合方向進(jìn)行運(yùn)算符的優(yōu)先次序表達(dá)式的運(yùn)算按照運(yùn)算符的優(yōu)先順序從高到低進(jìn)行,同級運(yùn)算符從左到右進(jìn)行:優(yōu)先次序運(yùn)算符1[].(params)expr++expr--2++expr--expr+expr-expr~!

3new(type)expr

4* / % 5+ - 6>> >>><< 7<><=>=instanceof

8== != 9& 10^ 11| 12&& 13|| 14?: 15=+=-=*=/=%=^= 16&=|=<<=>>=>>>= 運(yùn)算符的優(yōu)先次序2.4.3語句和塊

●語句語句簡單地說等價于自然語言的句子。一個語句組成了一個執(zhí)行的完整單元。如:weight=123.45;//賦值語句i++;//增量語句System.out.println(weight);//方法調(diào)用語句Integera=newInteger(4);//對象創(chuàng)建語句2.4.3語句和塊●

塊是一組處在“{”和“}之間的零條或者多條語句,它可以使用在程序的任何地方。下面的例子給出了兩個塊,每一個塊中包含了一條語句:if(Character.isUpperCase(aChar)){System.out.println("Thecharacter"+aChar+"isuppercase.");}else{System.out.println("Thecharacter"+aChar+"islowercase.");}2.4.4控制流程語句

Java編程語言提供了幾個控制流程語句,如表所示。

表2-11Java的控制流程語句語句關(guān)鍵字

循環(huán)語句while,do-while,for

判斷語句if-else,switch-case

異常處理try-catch-finally,throw

跳轉(zhuǎn)語句break,continue,label:,return2.5條件語句

Java語言中有兩種類型的條件語句:if和switch。

if語句的語法格式為:if(表達(dá)式){語句塊}else{語句塊}if語句有如下三種具體形式:

形式1if(boolean類型表達(dá)式)語句A功能:當(dāng)表達(dá)式值為真(true)時,執(zhí)行語句A,否則跳過語句A,流程如圖所示。

表達(dá)式語句A=F=T例如:intscore=95;if(score>=90){System.out.println("優(yōu)秀的感覺真好!");}if(score<60){System.out.println(“還要努力呦!”);}if語句有如下三種具體形式:形式2

if(boolean類型表達(dá)式)語句Aelse語句B

功能:表達(dá)式為true,執(zhí)行語句A;表達(dá)式為false,執(zhí)行語句B。其流程圖如圖2-11所示。例如:inttestscore=76;chargrade;

if(testscore>=90){grade=A;}else{grade=F;}if語句有如下三種具體形式:形式3if(boolean類型表達(dá)式1)語句1

elseif(表達(dá)式2)語句2……elseif(表達(dá)式n)語句nelse語句n其流程如圖2-13所示。if語句有如下三種具體形式:形式3流程圖if語句有如下三種具體形式:形式2

if(boolean類型表達(dá)式)語句Aelse語句B

功能:表達(dá)式為true,執(zhí)行語句A;表達(dá)式為false,執(zhí)行語句B。其流程圖如圖2-11所示。例如:inttestscore=76;chargrade;

if(testscore>=90){grade=A;}else{grade=F;}if語句舉例:publicclassIfElse{publicstaticvoidmain(String[]args){

inttestscore=76;chargrade;if(testscore>=90){grade='A';}elseif(testscore>=80){grade='B';}elseif(testscore>=70){grade='C';}elseif(testscore>=60){grade='D';}if語句舉例:

else{grade='F';}System.out.println("Grade="+grade);}}使用JCreator編譯執(zhí)行程序運(yùn)行效果如圖2-14所示。2.5.2switch語句

switch語句的使用格式是:switch(表達(dá)式){case值1:{語句塊1}break;case值2:{語句塊2}break;

…case值N:{語句塊N}break;[default:缺省語句塊]}switch語句舉例:

publicclassSwitchDemo{publicstaticvoidmain(String[]args){intmonth=8;switch(month){case1:System.out.println("January");break;case2:System.out.println("February");break;…

if語句舉例:case11:System.out.println("November");break;case12:System.out.println("December");break;}}}

這個switch語句計算它的表達(dá)式,在這個例子中是計算month的數(shù)值,然后計算適當(dāng)?shù)腸ase語句。使用JCreator編譯執(zhí)行程序運(yùn)行效果如圖2-15所示。

2.6循環(huán)語句

:循環(huán)語句功能:在循環(huán)條件滿足的情況下,反復(fù)執(zhí)行特定代碼,被反復(fù)執(zhí)行的程序代碼稱為循環(huán)體。循環(huán)語句有下面的四個部分組成:(1)初始化部分(init_statement)(2)循環(huán)條件部分(test_exp)

(3)循環(huán)體部分(body_statement)

(4)迭代部分(alter_statement)

2.6循環(huán)語句

Java的循環(huán)語句共有三種:for循環(huán)、while循環(huán)和do-while循環(huán).程序流程如圖所示。2.6.1for循環(huán)

for語句提供了一個簡便的方法來進(jìn)行循環(huán)。For語句的語法如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

{語句塊}首先計算表達(dá)式1,接著執(zhí)行表達(dá)式2,若表達(dá)式2的值=true,則執(zhí)行語句塊,接著計算表達(dá)式3,再判斷表達(dá)式2的值。依此重復(fù)下去,直到表達(dá)式2的值=false。for循環(huán)語句應(yīng)用

publicclassForLoop{

publicstaticvoidmain(Stringargs[]){intresult=0;for(inti=1;i<=10;i++) {result+=i;}System.out.println("result="+result); }}for循環(huán)語句應(yīng)用使用JCreator編譯執(zhí)行程序運(yùn)行效果如圖2-17所示。注意:可以在for循環(huán)的初始化語句中聲明一個局部變量。這個變量的作用域只是在for語句的塊中,它可以用在終止條件語句和增量表達(dá)式中。

2.6.2while循環(huán)

當(dāng)條件保持為true的時候,你可以使用while語句持續(xù)執(zhí)行語句塊。while語句的通常語法為:

while(表達(dá)式){語句塊}首先,while語句執(zhí)行表達(dá)式,它將返回一個boolean數(shù)(true或者false),如果表達(dá)式返回true,while語句執(zhí)行相應(yīng)的語句。while語句繼續(xù)測試表達(dá)式并執(zhí)行塊代碼直到表達(dá)式返回false。While語句用法舉例

publicclassWhileLoop{publicstaticvoidmain(Stringargs[]) {longresult=1; inti=1;while(i<=10){result=result*i;i++;} System.out.println("result="+result);}}While語句用法舉例該程序通過while循環(huán)求從1加到10的階乘。使用JCreator編譯執(zhí)行程序運(yùn)行效果如圖所示。

2.6.3do-while語句

Java編程語言提供了另外一個語句,它跟while語句相似,即do-while語句。Do-while的語法為:

do{語句塊}while(表達(dá)式);不象while語句,do-while語句是先執(zhí)行循環(huán)中的語句后再計算表達(dá)式的,所以do-while語句塊至少被執(zhí)行一次。do-while語句用法舉例

publicclassDoWhileLoop{publicstaticvoidmain(Stringargs[]){longresult=1;inti=1;do{result=result*i;i++;}while(i<=20); System.out.println("result="+result);}}do-while語句用法舉例

該程序使用do-while語句求從1加到20的階乘。使用JCreator編譯執(zhí)行程序運(yùn)行效果如圖所示。

while語句與do…while語句的區(qū)別:當(dāng)?shù)谝淮螆?zhí)行時,若表達(dá)式=0時,則while語句與do…while有所不同,do…while執(zhí)行一次后面的語句,而while不執(zhí)行。2.7跳轉(zhuǎn)語句

Java編程語言支持下面的三種跳轉(zhuǎn)語句:l

break語句;l

continue語句;l

return語句。

2.7.1break語句

作用:使流程從當(dāng)前的語句塊內(nèi)跳轉(zhuǎn)出來,如在switch語句中,使流程跳轉(zhuǎn)出當(dāng)前的switch語句,繼續(xù)執(zhí)行switch語句下面的一個語句,在循環(huán)語句中從某個循環(huán)體內(nèi)跳出,接著執(zhí)行循環(huán)語句下面的語句。break語句分為下面兩種情況:未帶標(biāo)志形式的break語句和帶標(biāo)志形式的break語句。2.7.1break語句(1)break語句用于終止某個語句塊的執(zhí)行

{…… break;……}

2.7.1break語句(2)break語句出現(xiàn)在多層嵌套語句塊中時,可以通過標(biāo)簽指明要終止的是哪一層語句塊。

label1:{…… label2: {……label3: {…… breaklabel2; …… } } }Break語句應(yīng)用舉例

publicclassBreakDemo{publicstaticvoidmain(String[]args){inta[]={1,2,3,4,5,6,7,8,9,10};intsearchfor=5;inti=0;booleanfoundIt=false;for(;i<a.length;i+

溫馨提示

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

評論

0/150

提交評論