第3次數(shù)據(jù)類型、標識符、直接量、變量_第1頁
第3次數(shù)據(jù)類型、標識符、直接量、變量_第2頁
第3次數(shù)據(jù)類型、標識符、直接量、變量_第3頁
第3次數(shù)據(jù)類型、標識符、直接量、變量_第4頁
第3次數(shù)據(jù)類型、標識符、直接量、變量_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、12.5 Java2.5 Java程序的基本數(shù)據(jù)類型程序的基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型決定決定了參與操作的變量、常量和表達式了參與操作的變量、常量和表達式的的取值類別取值類別、取值范圍取值范圍以及以及能夠?qū)嵤┑牟僮髂軌驅(qū)嵤┑牟僮餍袨?。行為。intint i i=3;=3;char char c c=A;=A;JavaJava數(shù)據(jù)類型劃分數(shù)據(jù)類型劃分簡單數(shù)據(jù)類型包括:布爾類型:boolean字符類型:char整數(shù)類型:byte, short, int, long浮點類型:float,double復合數(shù)據(jù)類型包括:class(類)interface(接口)數(shù)組3表表2-1 Java2-1 Java

2、語言的基本數(shù)據(jù)類型語言的基本數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型占用二進制位數(shù)占用二進制位數(shù)取值范圍取值范圍默認值默認值booleanboolean(布爾型)(布爾型) 8 8位位true或或falsefalsefalsecharchar(字符型)(字符型)1616位位u0000uffff(065535)u0000u0000bytebyte(字節(jié)型)(字節(jié)型)8 8位位-128127(-27(27-1)0 0shortshort(短整型)(短整型)1616位位-3276832767(-215(215-1)0 0intint(整型)(整型)3232位位-21474836482147483647(-231(2

3、31-1)0 0longlong(長整型)(長整型)6464位位-92233720368547758089223372036854775807(-263(263-1)0 0floatfloat(單精度浮點(單精度浮點型)型)3232位位 1.4E-45f 3.4028235E+38f0.0f0.0fdoubledouble雙精度浮點型雙精度浮點型6464位位 4.9E-324 1.7976931348623157E+3080.00.04booleanboolean(布爾)(布爾) 只有只有“true”true”和和“false”false”兩個取值,分別代兩個取值,分別代表表“真真”和和“假假

4、”。布爾型變量的定義如:布爾型變量的定義如:booleanboolean b=true; b=true;或:或:booleanboolean b=5060; b=5060;注意:注意:布爾類型的變量布爾類型的變量不能不能夠夠與與任何任何其他類型其他類型進行相進行相互的類型互的類型轉(zhuǎn)換轉(zhuǎn)換操作。在操作。在C C語言中,語言中,0 0可當作可當作falsefalse使用,使用,非零整數(shù)可當作非零整數(shù)可當作truetrue使用,但在使用,但在JavaJava中不允許。中不允許。booleanboolean(布爾)(布爾)l例如:5if(a!=0) a+=10;else a-=10;if(a) a+=

5、10;else a-=10;for(int i=10;i;i-) i-;for(int i=10;i!=0;i-) i-;6charcharvJavaJava語言規(guī)定,字符采用語言規(guī)定,字符采用UnicodeUnicode編碼,每個字符編碼,每個字符占用占用兩兩個字節(jié)。個字節(jié)。C C語言采用語言采用ASCIIASCII編碼,每個字符編碼,每個字符占占一一個字節(jié)。個字節(jié)。v可以表示可以表示65 53665 536個字符個字符。vASCIIASCII字符集是字符集是UnicodeUnicode字符集的一個子集字符集的一個子集,并且,并且在這兩個字符集中,前在這兩個字符集中,前128128個編碼所對

6、應的字符完個編碼所對應的字符完全相同,只是每個字符占用的二進制位數(shù)不同。全相同,只是每個字符占用的二進制位數(shù)不同。7bytebyte、shortshort、intint、longlong以下以下4 4種數(shù)據(jù)類型都屬于種數(shù)據(jù)類型都屬于整型數(shù)值類型整型數(shù)值類型。bytebyte 1 1個字節(jié)個字節(jié)short 2short 2個字節(jié)個字節(jié) int 4int 4個字節(jié)個字節(jié)long long 8 8個字節(jié)個字節(jié)注意:注意:Java語言中所有整數(shù)型表示的語言中所有整數(shù)型表示的均為有符號數(shù)均為有符號數(shù),沒有沒有C語言中的語言中的無符號(無符號(unsigned)整數(shù)型。)整數(shù)型。8floatfloat、d

7、oubledoubleqfloat float 單精度單精度 3232位位qdouble double 雙精度雙精度 6464位位qJavaJava語言中的浮點數(shù)值表示遵循語言中的浮點數(shù)值表示遵循IEEE754IEEE754標準標準。它不僅包括它不僅包括正零、負零、正無窮大、負無窮正零、負零、正無窮大、負無窮大大和一個特別的表示和一個特別的表示非非法法數(shù)值數(shù)值的的符號符號NaNNaN。浮點型浮點型 舉例舉例9double d=1e308;/1*10308System.out.print(overflow prodeces infinity:); System.out.println(d+*10

8、=+d*10);上溢上溢overflow prodeces infinity:1.0E308*10=Infinity d=1e-305*Math.PI;System.out.println(gradual underflow:+d);for(int i=0;i4;i+) System.out.print( +(d/=100000);下溢下溢gradual underflow:3.141592653589793E-3053.1415926535898E-310 3.141592653E-315 3.142E-320 0.0浮點型浮點型 舉例舉例10System.out.print(0.0/0.0

9、 is Not-a-Number:); d=0.0/0.0; System.out.println(d);產(chǎn)生非數(shù)值產(chǎn)生非數(shù)值NaN0.0/0.0 is Not-a-Number:NaN System.out.print(cast to int rounds toward 0:); d=12345.6; System.out.println(int)d+ +(int)(-d);double轉(zhuǎn)轉(zhuǎn)intcast to int rounds toward 0:12345 -12345112.6 2.6 標識符、注釋、直接量、變量和常量標識符、注釋、直接量、變量和常量 【標識符標識符】 Java Ja

10、va 的標識符由的標識符由字母字母、數(shù)字數(shù)字、_ _和和$ $組成,長度組成,長度不限。其中字母可以是大寫或小寫的英文字母,不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為數(shù)字為 0 0 到到 9 9。注意:注意:1.1.標識符區(qū)分大小寫標識符區(qū)分大小寫。TestTest和和testtest不同;不同;2.2.標識符的標識符的第一個字符第一個字符必須為必須為字母字母、( (_ _) )或或( ($ $) )符號。符號。3.3.用戶自己定義的標識符不能與用戶自己定義的標識符不能與JavaJava語言中提供的關鍵字語言中提供的關鍵字與常量相同與常量相同12【關鍵字關鍵字】 又稱保留字,是又稱保留字

11、,是 Java Java 語言規(guī)定了特定含義的語言規(guī)定了特定含義的標識符標識符。用戶只能按照系統(tǒng)規(guī)定的方式使用,。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。不能自行定義。關鍵字一律關鍵字一律用小寫字母用小寫字母表示。表示。Java Java 中的關鍵字有中的關鍵字有 5050個,按用途劃分為:個,按用途劃分為:數(shù)數(shù)據(jù)類型、語句、據(jù)類型、語句、修飾、方法、類、接口、包修飾、方法、類、接口、包,并保留了并保留了constconst和和 gotogoto。13表表 2-2 Java2-2 Java語言的關鍵字語言的關鍵字abstractcontinuefornewswitchassertdefa

12、ultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelse enumimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile標識符舉例標識符舉例l判斷以下字符串哪些是合法的Java標識符。lidentifier,

13、2mail, room#, $change ,userName,User_Name,_sys_val, class, a-class,su,super14JavaJava標識符命名規(guī)范標識符命名規(guī)范可讀性好,可讀性好,“見名知義見名知義”;包名包名:小寫英文字母小寫英文字母;如:;如:“firstapplication”;類名、接口名類名、接口名:每個單詞的首寫字母都要大寫每個單詞的首寫字母都要大寫,如:,如:“ImageSprite”方法名方法名:動詞或動詞短語動詞或動詞短語,第一個單詞的首字母小寫,其,第一個單詞的首字母小寫,其他單詞的首字母大寫,如:他單詞的首字母大寫,如:getName

14、()變量名變量名:第一個單詞的首字母小寫第一個單詞的首字母小寫,其他單詞的首字母大其他單詞的首字母大寫寫,盡量,盡量不不要要使用使用_和和$,如:,如:myWidth常量名常量名:每個字符都為大寫每個字符都為大寫,單詞之間用,單詞之間用下劃線(下劃線(_)分隔,分隔,如:如:MAX_VALUE15標識符命名規(guī)范舉例標識符命名規(guī)范舉例l根據(jù)標識符命名規(guī)范,判斷以下標識符所表示的類型(類名、方法名、變量名和常量名類名、方法名、變量名和常量名): MIN_LENGTH; Student; student; MathBook; testClass; run; getNumber 1617 注釋注釋是為

15、源程序增加必要的解釋說明的內(nèi)容,是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習慣。程序的良好習慣。JavaJava中有三種形式的注釋:中有三種形式的注釋: / / 注釋部分注釋部分 / /* * 注釋部分注釋部分 * */ / / /* * * 注釋部分注釋部分 * */ / 【注釋注釋】程序注釋程序注釋文檔注釋:文檔注釋:18【直接量直接量】n整型直接量整型直接量:十、八、十六進制:十、八、十六進制n實型直接量實型直接量:doubledouble、floatfloatn字符型直接量字符型直接量:單引號括起來:單

16、引號括起來n布爾型直接量布爾型直接量:true true 和和 falsefalsen字符串型直接量字符串型直接量:雙引號括起來:雙引號括起來相當于相當于C語言中的常量語言中的常量整型直接量整型直接量十進制整數(shù): 如123,456,0。默認的數(shù)據(jù)類型為int,如要賦給int型變量,那數(shù)值應該在int的取值范圍,例如:int a=123;問:能否將一個十進制整數(shù)直接賦給長整型變量呢?如:long b=123;問:long l=-9876543210 ;是否正確?如果要表示長整型的數(shù)值,應以l或L結(jié)尾,如: long l=-9876543210 L;19可以可以。整數(shù)類型整數(shù)類型中中取值取值范圍較

17、小范圍較小的的變量或直接變量或直接量量可可以以直接賦直接賦值(隱式轉(zhuǎn)換)值(隱式轉(zhuǎn)換)給取值范圍給取值范圍較大的變量較大的變量。相反地相反地,數(shù)據(jù)類型,數(shù)據(jù)類型取值范圍較大的變量或直接量取值范圍較大的變量或直接量不能不能直接賦值給取值范圍較小直接賦值給取值范圍較小的變量,需要進行的變量,需要進行強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。不正確不正確。因為。因為-9876543210 、 =、=、其他運算:其他運算:?:?:、賦值運算符、賦值運算符、( )( )、 、newnew檢測某個對象是否屬于某個類檢測某個對象是否屬于某個類 instanceof(instanceof(對象對象)

18、)算術運算符與算術表達式算術運算符與算術表達式雙目雙目運算符:有兩個操作數(shù)兩個操作數(shù)的運算符 + - * / %單目單目運算符:只有一個操作數(shù)一個操作數(shù)的運算符+ - + -29算術運算符算術運算符 說明說明l操作含義和基本用法與C語言中相應的運算符相同,但有一些特別之處。(1)5個雙目運算符的運算對象類型可以是byte、short、int、long、float、double和char。%的運算對象可以是整型整型可以是浮點浮點型,既可以是正數(shù)正數(shù)也可以是負數(shù)負數(shù)。(2) 整數(shù)整數(shù)被0整除整除或求余求余數(shù)非法操作非法操作,拋出ArithemticException。30算術運算符算術運算符 說明說明(3) 運算結(jié)果類型:運算結(jié)果類型:如果參與運算的兩個運算對象兩個運算對象屬于同一同一個類型,則結(jié)果也是這種類型也是這種類型。如果兩個運算對象的類型都是整型整型byte、short、int、long)或者浮點型浮點型,則計算結(jié)果結(jié)果為取取值范圍較大值范圍較大那種類型。例如:31/3的的Unicode碼為碼為51;int a=1;long b=2L;char c=3; double d=4.0;float f=5.0f;System.out.print(a+c)+n+(b+c)+n+(c+d)+n+(a+f);如果參與如果參與/ /運算的兩個操作對象都是整數(shù)型,則運運

溫馨提示

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

評論

0/150

提交評論