Java基本語法_第1頁
Java基本語法_第2頁
Java基本語法_第3頁
Java基本語法_第4頁
Java基本語法_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 20 2012 12 西安軟件服務外包學院西安軟件服務外包學院. .All rights reservedAll rights reserved. .Xian institute Service & Software Science Technology課程編號:課程編號: JB001 課程名:課程名: JAVA SE 6 高級程序設計高級程序設計章節編號:JB001-02章節標題: Java基本語法CISSST一、簡單Java程序的結構說明public修飾符,用于控制類的可見性,使用了public表明該類是公有的class關鍵字,此關鍵字代表其后的部分為類的定義Test類名main方法的定

2、義大括號用來指定類定義范圍和語句塊每個語句必須以分號結束注意:1,源代碼的文件名必須和公有類的名字相同;2,一個文件中可以有多個類的定義,但最多只能有一個是公有的。當在控制臺中使用java Test命令時,將會啟動java虛擬機,虛擬機會從Test類中的main方法開始執行。CISSST1,單行注釋:從/開始到本行結束的內容都是注釋 如:/Comment2,多行注釋:在/*和*/之間的所有內容都是注釋 如:/* Comment on one or more lines */ 3,文檔注釋:這種注釋可以通過JDK提供的javadoc命令從源代碼中提取出來,生成該程序的API文檔。該API文檔以H

3、TML文件的形式出現,與java幫助文檔的風格與形式完全一致。凡是在/*和*/之間的內容都是文檔注釋。 如:/* Document authorparamreturn Comment */ 二、Java代碼中的注釋CISSST三、java中的基本數據類型java是一種強類型的語言,也就是說,變量必須具有確定的數據類型。1,整型: byte、 short 、 int 、long 這四種類型的變量分別占用1、2、4、8字節的內存空間;代碼中以0開始的數值字面量表示8進制數值;以0 x始的數值表示16進制數值;長整型數值字面量可以使用L后綴來聲明;【示例】變量的聲明和初始化賦值;字符串的拼接;顯示結

4、果。注:Java 用補碼表示數值,最高位是符號位,最高位為1表示負數,為0表示整數。常量Integer.MAX_VALUE和Long.MAX_VALUE分別代表int型和long類型的最大值;CISSST2,布爾類型:booleanboolean類型變量可取兩個值:true 或 false。分別代表真或假。3, 浮點類型: float、double 分別占用4、8字節的存儲空間; 小數字面量無后綴時,默認認為是double型。也可以在數值后帶D后綴顯式表明該數是double類型,double型有效位數為15位;float型數值使用F后綴來聲明,有效位數為67位;CISSST浮點數運算可能會出現

5、舍入誤差,例如2.0d-1.1d,結果并非0.9,原因是有些十進制小數在二進制系統中無法精確表示,因此造成運算誤差。Double.POSITIVE_INFINITY /正無窮大Double.NEGATIVE_INFINITY /負無窮大Double.NaN /表示非數值,0.0/0.0結果就是NaNDouble.isInfinite(double v)判斷一個變量是否無窮大Double.isNaN(double v) 判斷一個變量是否非數值CISSST4,字符類型: charjava中,char類型使用UTF-16編碼表示。在java代碼中,可以使用轉義符u后跟unicode編碼值來表示uni

6、code字符。如:A = u0041【擴展知識】unicode編碼表中,對每一個字符都分配了確定的編碼值,通常用U+作前綴來描述該字符,該值稱為一個代碼點(code point) ;unicode標準將所有字符分為兩個字符區域:基本多語言級別(BMP):U+0000U+FFFF(U+D800U+DBFF空閑,U+DC00U+DFFF空閑) 增補字符:U+10000U+10FFFFUTF-16編碼是使用一個或兩個編碼單元對unicode代碼點進行編碼。java使用UTF-16編碼表示unicode字符。隨著unicode增補字符的出現,java采用高位代理和低位代理的方法用兩個編碼單元(4字節)

7、表示一個unicode增補字符。CISSST四、變量1,變量變量名是以字母,數字,美元符號“$”,下劃線“_”組成,變量名第一個字符不可用數字;變量名大小寫敏感;變量名不能使用java保留字。 變量聲明語句:數據類型 變量名;【示例】:變量的賦值和初始化 方法中的變量如果未初始化,則不能使用。2,常量使用final修飾常量,常量只能被賦值一次。 常量名通常使用全大寫,單詞之間用下劃線分割。CISSST五、運算符5.1 算術運算符一元運算符: +(正), -(負), +(加1), -(減1)二元運算符:+(加) ,-(減),*(乘), /(除), %(取余)注:涉及byte、short和char

8、類型的運算操作,java首先會把這些值轉換為int類型,然后對int類型值進行運算。【示例】+前綴和后綴5.2 賦值運算符:=5.3 復合賦值運算符:+= ,-=, *=, /=, %=CISSST5.4 位運算符&(按位與), |(按位或), (按位異或) , (按位求反,符號位也會變化)5.5 移位運算符(1) En(E為操作數,n為移位次數)左移n位,空位補0,相當于E*2n如12n右移n位,空位用原最高位的位值補足,相當于E/2n稱為算術右移,能保留原數的符號。(3) En右移n位,空位補0,稱為邏輯右移。思考:1,51的結果 3,-132的結果CISSST5.6關系操作符有6個:(大

9、于) , =(大于等于), (小于), =(小于等于),!=(不等于), =(相等)關系操作符的結果為boolean型數據(true或false)。5.7邏輯操作符有3個:!(邏輯非), &(邏輯與), |(邏輯或)邏輯操作符的操作對象和結果均為boolean型&和 |運算符以短路方式工作。&和 |非短路方式。5.8條件操作符 E1?E2:E3(三元運算符)表達式E1若成立,返回表達式E2,否則返回E3。CISSST5.9 操作符的優先級和結合性操作操作優先級優先級 結合性結合性 1后綴運算符 . ( ) (函數調用)從左到右2單目運算符! + - +(單操作數) (單操作數) (強制類型轉換

10、)從右到左 3創建new從左到右4乘除* / %從左到右 5加減+ -從左到右 6移位 從左到右 7關系 = instanceof從左到右 8相等= !=從左到右 9按位與&從左到右 10按位異或從左到右 11按位或|從左到右 12邏輯與&從左到右 13邏輯或|從左到右 14條件? :從右到左 15賦值= += -= *= /= %= = = =從右到左 CISSST當一個表達式中有多個不同的運算符時,將根據運算符的優先級別從高到低當一個表達式中有多個不同的運算符時,將根據運算符的優先級別從高到低運算,若多個運算符優先級相同,則根據其結合性進行處理。運算,若多個運算符優先級相同,則根據其結合性

11、進行處理。計算計算result的值:的值:int i=1,j=0;1,int result=5+j-1;2,int result=i+=j; 3,int result=i1?j-:j0?j+:+i; 5,int result=i+j;CISSST六,不同數值類型之間的轉換虛線表示可能會產生精度損失。6.1 強制類型轉換:long i1=9;int i2=(int)(45+i1);float f1=(float)3.5;float f2=(float)(6.9*5.7f);如果將浮點值強制轉換為整型,則是將小數部分 截掉,不會作進位處理。CISSST六、方法定義java中的方法必須定義在某個類中

12、;格式:修飾符 返回類型 方法名(參數類型 參數名,參數類型 參數名)/代碼1,修飾符可以使用public 或private 以及 static等,主要用于控制方法的訪問權限,可沒有修飾符;2,返回類型表示該方法執行完畢后返回的數據類型;在方法體中使用return語句返回具體的值;如果方法沒有返回值,則返回類型為void。3,參數列表是用來接收輸入值的變量聲明列表。/形參 實參4,花括號括起來的一段代碼稱為代碼塊,該代碼塊作為方法體。【示例】定義一個方法,接收兩個double型參數,返回兩數的平方和。CISSST七、Java中的語句1,按是否改變運行的狀態可分為: 執行語句(如表達式語句) 非

13、執行語句(如聲明語句)2,執行語句又可分三類: 空語句:只有一個語句結束符“;” ,無任何內容。 基本語句(單條語句):獨立的、完整的不能再分割為更小的可執行單元。 復合語句(代碼塊):包含在 內的一條或若干條語句。3,按照語句的結構又可分為四類: 順序結構語句 分支語句 循環語句 例外處理語句 CISSST4,分支語句:分支語句提供了一種控制機制,使得程序可以在某種條件下執行某些特定的語句。(1) if-else語句:根據判定條件的真假來執行兩種操作中的一種;格式: if (條件表達式) 語句1; else 語句2; /中括號部分表示else子句是可選的注:條件表達式必須是一個返回布爾型數據

14、的表達式。另外,語句1和語句2可以是用包含的復合語句。【示例】定義一個方法,接收兩個整型值,返回兩者中較大的值。CISSST if-else語句的一種特殊形式為: if (條件1) 語句1; else if (條件2) 語句2; else if (條件N) 語句N; 【示例】定義方法實現下列任務:接收考試成績,轉換為A,B,C,D,E五個等級并輸出。(1)接收職稱評審相關的三個值:年齡、技術資格評審得分、英語考試成績。根據以下條件判斷是否通過評審:如果年齡大于45(包含45歲),則只需評審得分超過60分,就算通過;如果年齡小于45,則需職稱英語考試成績和技術資格評審得分都要超過60分才算通過。

15、方法返回表示是否通過的布爾值。CISSST 注:else子句必須和if配對使用。else總是與離它最近的if配對。可以通過使用花括號來改變配對關系。分析下面代碼存在什么問題:if(f=90&f=80&f=70 & f80)System.out.println(C);if(f=60)System.out.println(D);elseSystem.out.println(E);CISSST(2) switch語句:多分支選擇語句,可根據switch中表達式的值,來執行多個操作中的一個。格式:switch (表達式) case value1: 語句序列1; break; case valueN:

16、語句序列N; break; default: 缺省語句;表達式返回整型、字符型、枚舉類型的值,該值與每個case子句中的常量值相比,如果匹配成功,則執行該case子句后的語句序列。 default子句是可選的。當表達式的值與任一case子句中的值都不匹配時,程序執行default后面的語句。如果表達式的值與任一case子句中的值都不匹配且沒有default子句,則程序直接跳出switch語句。 break語句用來在執行完一個case分支后,使程序跳出switch語句,即終止switch語句的執行。如果沒有break語句,則程序繼續執行下個case子句。CISSST【示例】使用switch語句完

17、成根據考試成績輸出A,B,C,D,E等級。【示例】case子句后無break,則會繼續執行下個case子句。CISSST5,循環語句循環語句的作用是反復執行一段代碼,直到滿足循環終止條件為止。Java中有三種類型的循環語句:while語句、do-while語句、for語句。CISSST5.1 while語句的一般格式為:初始化while (條件表達式)語句序列; /循環體while語句首先計算條件表達式是否成立,當條件表達式的值為true時,反復執行循環體。如果一開始條件表達式就不成立,那么循環體一次也不執行。【示例】計算需要多少年才能存夠一定數量的退休金。假設每年存入4000元,年利率為0.

18、8%,目標值為50000元。CISSST5.2 do-while語句的一般格式為:初始化do 語句序列; /循環體 while (條件表達式);do-while語句首先執行循環體, 然后再計算終止條件, 若結果為true, 則循環執行語句序列, 直到條件表達式的結果為false。與while語句不同的是, do-while語句的循環體至少執行一次。【示例】CISSST5.3 for語句的一般格式為:for (初始表達式; 條件表達式; 迭代表達式) 語句序列; /循環體for(type item:collection)for語句執行時,首先執行初始化操作,然后判斷條件表達式對應的循環條件是否滿

19、足,如果滿足,則執行循環體中的語句。最后執行迭代部分。完成一次循環后,重新判斷循環條件。可以在for語句的初始化部分聲明變量,它的作用域為整個for語句。for語句通常用來執行循環次數確定的情況。在初始化部分和迭代部分可以使用逗號語句來分隔多個操作。例如:for (int i=0,j=10; ij; i+,j-) 【示例】計算1+2+3+100的值、【示例】在屏幕上輸出從1開始的自然數,第一行一個數,第二行兩個數,第三行三個數。共輸出10行。CISSST6,中斷控制流程的語句6.1 continue語句用來結束本次循環, 跳過循環體中下面尚未執行的語句, 接著進行終止條件的判斷, 以決定是否繼

20、續循環。格式:continue;跳過本輪循環尚未執行的語句,開始下一輪循環continue 標號;跳到標號指明的外層循環開始新的一輪循環【示例】使用continue計算100以內的奇數的和。CISSST6.2 break語句-在switch語句中,break語句用來終止switch語句的執行,使程序從switch語句后的第一個語句開始執行。 -循環語句中使用break語句可以退出當前循環。-帶標號的break語句標號: /代碼break 標號;/ 程序將跳出標號所指定的代碼塊,并從緊跟該塊的第一條語句處執行。【示例】在1001000之間尋找是否存在水仙花數,如果存在,輸出找到的第一個水仙花數,

21、否則輸出不存在。水仙花數指該數的百十個位的數拆開后,各自進行三次方,然后相加的值等于原數。CISSST6.3 return語句return語句用于從當前執行的方法中退出, 并返回到調用該方法的語句處繼續執行。有兩種格式:return 表達式; /將表達式的值返回給調用該方法的語句注:返回值的數據類型必須與方法聲明中的返回值類型一致。 return; /不返回任何值注:當方法說明中用void聲明無返回值時, 可以使用這種格式,此類return語句有時可省略;CISSST為了提高程序的可讀性,Sun公司推薦在Java編程時使用以下的習慣約定:1,包名(packages):包名是全小寫的名詞,中間可

22、以由點分隔開,如:java.awt.event 2,類名(classes):有一個或若干個名詞組成,開頭大寫,每個單詞首字母大寫,其他小寫。如:class AccountBook3,接口名(interfaces):規則同類名。如:interface Account4,方法名(methods):方法名以動詞開頭,采用大小寫混合的方式,第一個單詞的首字母小寫,其后單詞的首字母大寫。 如:balanceAccount()5,變量名:第一個單詞的首字母小寫,其后單詞的首字母大寫。變量名不應以下劃線或美元符號開頭,盡管這在語法上是允許的。如:currentCustomer6,常量名:所有字母大寫,單詞間

23、用下劃線隔開。如:MAX_SIZE參考:Java程序規范CISSST練習1設 int a=3,b=-4,c=5;double x=2.5,y=4.7;double z;計算以下各式中z的結果:1. z=x+a%2*(int)(x=y)%3/2f;2. z=(float)(a+b)/2+(int)x%(int)y;3. z=32+A-2/3*5;4. z=a=b=c+2/5;5. z=18+(b=4)*3;6. z=(ab)?a:b;7. z=a+-c+b+;8. z=+a-c+(+b);9. z=+a-c+b;10. z=a+=a-=a*=a;CISSST練習21,屏幕輸出1100之間能被3整除且個位是6的數2,屏幕輸出1900年到

溫馨提示

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

評論

0/150

提交評論