版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Java語法基礎(chǔ)
2.1識別字、分隔符號和關(guān)鍵字
2.1.1Java識別字與注釋
Java語言中,為各種變數(shù)、方法和類等起的名字稱為識別字。Java語言識別字的組成有一定的規(guī)則,如識別字必須以字母、下劃線(_)或美元符($)開頭,後面可以跟任意數(shù)目的字母、數(shù)字、下劃線(_)或美元符($)。識別字的長度沒有限制,識別字可以由編程者自己指定,但是要遵循一定的規(guī)則。
Java語言規(guī)定識別字命名要符合下列命名規(guī)則:
(1)識別字應(yīng)以字母、下劃線、美元符$開頭,不能以數(shù)字開頭;(2)識別字可以由字母、下劃線、美元符或數(shù)字組合而成。在實際編程時,在命名識別字時,應(yīng)該使其在一定程度上反映它所表示的變數(shù)、常量、類名和對象名的實際意義。(3)Java識別字大小寫敏感,長度無限制。(4)系統(tǒng)的關(guān)鍵字(又叫保留字)不能作為識別字。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)體可以語句塊的形式,採用將0~多條語句集合到一起,作為一個整體進行處理;(4)語句塊可以嵌套,嵌套層數(shù)無限制,以實現(xiàn)較複雜的功能。2.2常量和變數(shù)
2.2.1常量在程式運行過程中,其值不能被改變的量稱為常量。Java中常用的常量有不同的類型:布爾型常量、字元型常量、整數(shù)型常量、浮點型常量和字串型常量。布爾型常量包括true和false,分別代表真和假;字元型常量用一對單引號括起來的單個字元表示,如‘a(chǎn)’、‘1’等;整數(shù)型常量可以採用八進制、十進位和十六進製錶示。八進制的常量用以零開頭的數(shù)字表示,如011代表十進位的9;十六進制的數(shù)用以0x開頭的數(shù)字表示,如0x11代表十進位的17。
2.2.2變數(shù)
程式執(zhí)行中數(shù)值可變的數(shù)據(jù)稱為變數(shù)。變數(shù)包括變數(shù)名和變數(shù)值。Java中的變數(shù)必須先聲明後使用。在使用每一個變數(shù)之前,必須清楚地為每一個變數(shù)提供一個名字和類型。這個變數(shù)的名字必須是一個合法的識別字,對應(yīng)一定數(shù)量的記憶體存貯單元,其單元數(shù)視變數(shù)類型而定。變數(shù)聲明格式數(shù)據(jù)類型識別字[=確省值]例如:
inti;i=5;
或縮寫成
inti=5;使用變數(shù)的注意事項變數(shù)命名不能重複(不同條件下)Java區(qū)分大小寫變數(shù)必須先定義,再使用只有定義過,才能為其分配相應(yīng)數(shù)量的存儲單元一旦定義,變數(shù)類型才能確定,才能檢查其運算的合法性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)
浮點數(shù)型----float,double。每種數(shù)據(jù)類型都有其固定的表達數(shù)據(jù)範(fàn)圍和字段長度,不受操作系統(tǒng)的影響。2.3.1邏輯布爾型
使用關(guān)鍵字boolean來定義邏輯布爾型變數(shù),boolean類型適於邏輯運算,一般用於程式流程控制。boolean類型數(shù)據(jù)只允許取值true或false,不可以0或非0的整數(shù)替代true和false。通過下麵的例子來說明boolean型變數(shù)的定義和用法。
booleanb=false; if(b==true){ //dosomething }2.3.2字元型
char型數(shù)據(jù)用來表示通常意義上“字元”字元常量是用單引號括起來的單個字元charc='A';Java字元採用Unicode編碼,每個字元占兩個位元組,因而可用十六進制編碼形式表示charc1='\u0061';Java語言中還允許使用轉(zhuǎn)義字元'\'來將其後的字元轉(zhuǎn)變?yōu)槠渌暮xcharc2='\n';//代表換行符2.3.3整數(shù)型
(1)整數(shù)型常量Java語言中的整數(shù)型常量分為三種:十進位整數(shù),如123,456,0。八進制整數(shù),以0開頭,017代表十進位整數(shù)15,011代表十進位整數(shù)9。十六進制整數(shù),以0x或0X開頭,如0x2E代表十進位整數(shù)46,0x123代表十進位整數(shù)291。(2)整數(shù)型變數(shù)Java語言中的整數(shù)型變數(shù)分為四種:byte,short,int,long。2.3.3整數(shù)型Java各整數(shù)類型有固定的表數(shù)範(fàn)圍和字段長度,而不受具體操作系統(tǒng)的影響,以保證Java程式的可移植性:類型佔用存儲空間表數(shù)範(fàn)圍byte1位元組
-128~127short2位元組
-215~215-1
int4位元組
-231~231-1long8位元組
-263~263-12.3.4浮點型(實型)
Java浮點類型有固定的表示範(fàn)圍和字段長度,表2-3列出各類型所在記憶體的位元組數(shù)和表示範(fàn)圍。
類型佔用存儲空間表數(shù)範(fàn)圍float4位元組
-3.403E38~3.403E38double8位元組
-1.798E308~1.798E308publicclassDataType
{publicstaticvoidmain(Stringargs[]){ booleanb=true; //聲明boolean型變數(shù)並賦值 intx,y=99; //聲明int型變數(shù)
floatf=12.34f; //聲明float型變數(shù)並賦值
doubled=3.1415; //聲明double型變數(shù)並賦值
charc; //聲明char型變數(shù)
c='\u0031'; //為char型變數(shù)賦值
x=999; //為int型變數(shù)賦值System.out.println("b="+b);
…}}
Java基本數(shù)據(jù)類型變數(shù)聲明和賦值
2.3.5引用數(shù)據(jù)類型
Java語言中除8種基本數(shù)據(jù)類型以外的數(shù)據(jù)類型稱為引用類型
引用類型數(shù)據(jù)以對象的形式存在引用類型變數(shù)的值是某個對象的句柄,而不是對象本身
聲明引用類型變數(shù)時,系統(tǒng)只為該變數(shù)分配引用空間,並未創(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運算符、運算式和語句
2.4.1運算符(按照運算符功能分)
算術(shù)運算符:+,―,*,/,%,++,――;
如:3+2;a-b;i++;--i;關(guān)係運算符:>,<,>=,<=,==,!=;
如:a>3;i==0; n!=-1;布爾邏輯運算符:!,&,|,^,&&,||;如:
b=true; !(b); b&&b;運算符
位運算符:〉〉,〈〈,〉〉〉,—,l,^,~;如:
a=10011101; a<<3=11101000;a>>3=11110011a>>>3=00010011;賦值運算符:=,擴展賦值運算符:+=,―=,*=,/=等;如:i=3; I-=2等效於i=I-2運算符條件運算符:?:;條件運算符?:為三元運算符,它的一般形式:x?y:z其中x為boolean類型運算式。其規(guī)則是:先計算x的值,若為true,則整個三元運算的結(jié)果為運算式y(tǒng)的值,否則整個運算結(jié)果為運算式z的值。例如:
intscore=50;Stringtype=score<60?“不及格”:“及格”;運算符其他運算符:包括分量運算符.,下標(biāo)運算符[],實例運算符instanceof,記憶體分配運算符new、強制類型轉(zhuǎn)換運算符(類型)、方法調(diào)用運算符()等。Instanceof運算符應(yīng)用
classInstanceOfDemo{publicstaticvoidmain(Stringargs[]){ InstanceOfDemobob=newInstanceOfDemo(); if(bobinstanceofInstanceOfDemo){System.out.println(“bob是InstanceOfDemo的實例"); }
else{ System.out.println("bob不是InstanceOfDemo的實例!"); }}}Instanceof運算符應(yīng)用程式的執(zhí)行結(jié)果如圖2-9所示。
2.4.2運算式
運算式是符合一定語法規(guī)則的運算符和運算元的序列
a 5.0+a (a-b)*c-4 i<30&&i%10!=0運算式的類型和值對運算式中運算元進行運算得到的結(jié)果稱為運算式的值運算式的值的數(shù)據(jù)類型即為運算式的類型運算式的運算順序首先應(yīng)按照運算符的優(yōu)先順序從高到低的順序進行優(yōu)先順序相同的運算符按照事先約定的結(jié)合方向進行運算符的優(yōu)先次序運算式的運算按照運算符的優(yōu)先順序從高到低進行,同級運算符從左到右進行:優(yōu)先次序運算符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ō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)鍵字
迴圈語句while,do-while,for
判斷語句if-else,switch-case
異常處理try-catch-finally,throw
跳轉(zhuǎn)語句break,continue,label:,return2.5條件語句
Java語言中有兩種類型的條件語句:if和switch。
if語句的語法格式為:if(運算式){語句塊}else{語句塊}if語句有如下三種具體形式:
形式1if(boolean類型運算式)語句A功能:當(dāng)運算式值為真(true)時,執(zhí)行語句A,否則跳過語句A,流程如圖所示。
運算式語句A=F=T例如:intscore=95;if(score>=90){System.out.println("優(yōu)秀的感覺真好!");}if(score<60){System.out.println(“還要努力呦!”);}if語句有如下三種具體形式:形式2
if(boolean類型運算式)語句Aelse語句B
功能:運算式為true,執(zhí)行語句A;運算式為false,執(zhí)行語句B。其流程圖如圖2-11所示。例如:inttestscore=76;chargrade;
if(testscore>=90){grade=A;}else{grade=F;}if語句有如下三種具體形式:形式3if(boolean類型運算式1)語句1
elseif(運算式2)語句2……elseif(運算式n)語句nelse語句n其流程如圖2-13所示。if語句有如下三種具體形式:形式3流程圖if語句有如下三種具體形式:形式2
if(boolean類型運算式)語句Aelse語句B
功能:運算式為true,執(zhí)行語句A;運算式為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í)行程式運行效果如圖2-14所示。2.5.2switch語句
switch語句的使用格式是:switch(運算式){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語句計算它的運算式,在這個例子中是計算month的數(shù)值,然後計算適當(dāng)?shù)腸ase語句。使用JCreator編譯執(zhí)行程式運行效果如圖2-15所示。
2.6迴圈語句
:迴圈語句功能:在迴圈條件滿足的情況下,反復(fù)執(zhí)行特定代碼,被反復(fù)執(zhí)行的程式代碼稱為循環(huán)體。迴圈語句有下麵的四個部分組成:(1)初始化部分(init_statement)(2)迴圈條件部分(test_exp)
(3)循環(huán)體部分(body_statement)
(4)迭代部分(alter_statement)
2.6迴圈語句
:
Java的迴圈語句共有三種:for迴圈、while迴圈和do-while迴圈.程式流程如圖所示。2.6.1for迴圈
for語句提供了一個簡便的方法來進行迴圈。For語句的語法如下:for(運算式1;運算式2;運算式3)
{語句塊}首先計算運算式1,接著執(zhí)行運算式2,若運算式2的值=true,則執(zhí)行語句塊,接著計算運算式3,再判斷運算式2的值。依此重複下去,直到運算式2的值=false。for迴圈語句應(yīng)用
publicclassForLoop{
publicstaticvoidmain(Stringargs[]){intresult=0;for(inti=1;i<=10;i++) {result+=i;}System.out.println("result="+result); }}for迴圈語句應(yīng)用使用JCreator編譯執(zhí)行程式運行效果如圖2-17所示。注意:可以在for迴圈的初始化語句中聲明一個局部變數(shù)。這個變數(shù)的作用域只是在for語句的塊中,它可以用在終止條件語句和增量運算式中。
2.6.2while迴圈
當(dāng)條件保持為true的時候,你可以使用while語句持續(xù)執(zhí)行語句塊。while語句的通常語法為:
while(運算式){語句塊}首先,while語句執(zhí)行運算式,它將返回一個boolean數(shù)(true或者false),如果運算式返回true,while語句執(zhí)行相應(yīng)的語句。while語句繼續(xù)測試運算式並執(zhí)行塊代碼直到運算式返回false。While語句用法舉例
publicclassWhileLoop{publicstaticvoidmain(Stringargs[]) {longresult=1; inti=1;while(i<=10){result=result*i;i++;} System.out.println("result="+result);}}While語句用法舉例該程式通過while迴圈求從1加到10的階乘。使用JCreator編譯執(zhí)行程式運行效果如圖所示。
2.6.3do-while語句
Java編程語言提供了另外一個語句,它跟while語句相似,即do-while語句。Do-while的語法為:
do{語句塊}while(運算式);不象while語句,do-while語句是先執(zhí)行迴圈中的語句後再計算運算式的,所以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í)行程式運行效果如圖所示。
while語句與do…while語句的區(qū)別:當(dāng)?shù)谝淮螆?zhí)行時,若運算式=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)體內(nèi)跳出,接著執(zhí)行迴圈語句下麵的語句。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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蘇科新版九年級生物下冊月考試卷含答案
- 2025年魯科版七年級物理下冊階段測試試卷
- 二零二五版美容美發(fā)行業(yè)員工勞動合同終止補償合同4篇
- 二零二五年度農(nóng)業(yè)病蟲害防治設(shè)備租賃合同4篇
- 二零二五版鎳氫電池產(chǎn)品供應(yīng)鏈管理合同4篇
- 二零二五年度門窗行業(yè)供應(yīng)鏈管理服務(wù)合同7篇
- 二零二五年度IT行業(yè)IT支持服務(wù)合同2篇
- 2025年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)開發(fā)合同協(xié)議范本4篇
- 2025版農(nóng)機零部件供應(yīng)合同協(xié)議范本4篇
- 二零二五年度沐足行業(yè)員工薪酬福利合同范本4篇
- 2024年公證遺產(chǎn)繼承分配協(xié)議書模板
- 燃氣經(jīng)營安全重大隱患判定標(biāo)準(zhǔn)課件
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學(xué)英語單詞表(中英文)
- 護理質(zhì)量反饋內(nèi)容
- 山東省濟寧市2023年中考數(shù)學(xué)試題(附真題答案)
- 抖音搜索用戶分析報告
- 鉆孔灌注樁技術(shù)規(guī)范
- 2023-2024學(xué)年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學(xué)設(shè)計
- 供貨進度計劃
- 彌漫大B細胞淋巴瘤護理查房
評論
0/150
提交評論