![Java講稿02-變量_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/291af6c4-e320-4154-bf1c-bbc3c5e143a0/291af6c4-e320-4154-bf1c-bbc3c5e143a01.gif)
![Java講稿02-變量_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/291af6c4-e320-4154-bf1c-bbc3c5e143a0/291af6c4-e320-4154-bf1c-bbc3c5e143a02.gif)
![Java講稿02-變量_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/291af6c4-e320-4154-bf1c-bbc3c5e143a0/291af6c4-e320-4154-bf1c-bbc3c5e143a03.gif)
![Java講稿02-變量_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/291af6c4-e320-4154-bf1c-bbc3c5e143a0/291af6c4-e320-4154-bf1c-bbc3c5e143a04.gif)
![Java講稿02-變量_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-7/3/291af6c4-e320-4154-bf1c-bbc3c5e143a0/291af6c4-e320-4154-bf1c-bbc3c5e143a05.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、變量本章內(nèi)容l 1. 關(guān)鍵字l 2. 標(biāo)識(shí)符l 3. 變量l 4. 類型轉(zhuǎn)換l 5.變量的作用范圍l 關(guān)鍵字的定義和特點(diǎn) 定義:被被JavaJava語(yǔ)言賦予了特殊含義,用做專門用途的字符串(單詞)語(yǔ)言賦予了特殊含義,用做專門用途的字符串(單詞) 特點(diǎn):關(guān)鍵字中所有字母都為小寫關(guān)鍵字中所有字母都為小寫用于定義數(shù)據(jù)類型的關(guān)鍵字classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoid用于定義數(shù)據(jù)類型值的關(guān)鍵字truefalsenull用于定義流程控制的關(guān)鍵字ifelseswitchcasedefaultwhiledoforbreakco
2、ntinuereturn用于定義訪問(wèn)權(quán)限修飾符的關(guān)鍵字privateprotectedpublic用于定義類,函數(shù),變量修飾符的關(guān)鍵字abstractfinalstaticsynchronized用于定義類與類之間關(guān)系的關(guān)鍵字extendsimplements用于定義建立實(shí)例及引用實(shí)例,判斷實(shí)例的關(guān)鍵字newthissuperinstanceof用于異常處理的關(guān)鍵字trycatchfinallythrowthrows用于包的關(guān)鍵字packageimport其他修飾符關(guān)鍵字nativestrictfptransientvolatileassert保留字保留字l Java保留字:現(xiàn)有Java版本尚
3、未使用,但以后版本可能會(huì)作為關(guān)鍵字使用。自己命名標(biāo)記符時(shí)要避免使用這些保留字byValue、cast、future、generic、inner、operator、outer、rest、var、goto、const 標(biāo)識(shí)符:l Java 對(duì)各種變量變量、方法方法和類類等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符l 凡是自己可以起名字的地方都叫標(biāo)識(shí)符凡是自己可以起名字的地方都叫標(biāo)識(shí)符。 定義合法標(biāo)識(shí)符規(guī)則:l 由由2626個(gè)英文字母大小寫,個(gè)英文字母大小寫,0-9 0-9 ,_ _或或 $ $ 組成組成 l 數(shù)字不可以開(kāi)頭。數(shù)字不可以開(kāi)頭。l 不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字。不可以使用關(guān)
4、鍵字和保留字,但能包含關(guān)鍵字和保留字。l JavaJava中嚴(yán)格區(qū)分大小寫,長(zhǎng)度無(wú)限制。中嚴(yán)格區(qū)分大小寫,長(zhǎng)度無(wú)限制。l 標(biāo)識(shí)符不能包含空格。標(biāo)識(shí)符不能包含空格。 注意:在起名字時(shí),為了提高閱讀性,要盡量有意義,“見(jiàn)名知意”。Java中的名稱命名規(guī)范中的名稱命名規(guī)范l Java中的名稱命名規(guī)范: 包名包名:多單詞組成時(shí)所有字母都小寫:xxxyyyzzz 類名、接口名類名、接口名:多單詞組成時(shí),所有單詞的首字母大寫:XxxYyyZzz 變量名、方法名變量名、方法名:多單詞組成時(shí),第一個(gè)單詞首字母小寫,第二個(gè)單詞開(kāi)始每個(gè)單詞首字母大寫:xxxYyyZzz 常量名常量名:所有字母都大寫。多單詞時(shí)每個(gè)
5、單詞用下劃線連接:XXX_YYY_ZZZ數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)類(class)接口(interface)數(shù)組( )字符串在這里整數(shù)類型:整數(shù)類型:bytebyte、shortshort、intint、longlongl Java各整數(shù)類型有固定的表數(shù)范圍和字段長(zhǎng)度,不受具體OS的影響,以保證java程序的可移植性。l Java的整型常量默認(rèn)為int型,聲明long型常量須后加l或L浮點(diǎn)類型:浮點(diǎn)類型:float、doublel 與整數(shù)類型類似,Java
6、浮點(diǎn)類型也有固定的表數(shù)范圍和字段長(zhǎng)度,不受具體OS的影響。l Java 的浮點(diǎn)型常量默認(rèn)為的浮點(diǎn)型常量默認(rèn)為double型型,聲明聲明float型常量,須后加型常量,須后加f或或F。l 浮點(diǎn)型常量有兩種表示形式: 十進(jìn)制數(shù)形式:如:5.12512.0f.512(必須有小數(shù)點(diǎn)) 科學(xué)計(jì)數(shù)法形式:如:5.12e2512E2100E-2字符類型:字符類型:charcharl char型數(shù)據(jù)用來(lái)表示通常意義上“字符”(2字節(jié))l 字符型常量的三種表現(xiàn)形式: 字符常量是用單引號(hào)()括起來(lái)的單個(gè)字符,涵蓋世界上所有書面語(yǔ)的字符。例如:charc1=a;charc2=中;charc3=9; Java中還允許
7、使用轉(zhuǎn)義字符來(lái)將其后的字符轉(zhuǎn)變?yōu)樘厥庾址统A?。例如:charc3=n;/n表示換行符 直接使用Unicode值來(lái)表示字符型常量:uXXXX。其中,XXXX代表一個(gè)十六進(jìn)制整數(shù)。如:u000a表示n。l char類型是可以進(jìn)行運(yùn)算的。因?yàn)樗紝?duì)應(yīng)有Unicode碼。ASCII 碼碼l 在計(jì)算機(jī)內(nèi)部,所有數(shù)據(jù)都使用二進(jìn)制二進(jìn)制表示。每一個(gè)二進(jìn)制位(bit)有0和1兩種狀態(tài),因此8個(gè)二進(jìn)制位就可以組合出256 種種狀態(tài),這被稱為一個(gè)字節(jié)(byte)。一個(gè)字節(jié)一共可以用來(lái)表示256種不同的狀態(tài),每一個(gè)狀態(tài)對(duì)應(yīng)一個(gè)符號(hào),就是256個(gè)符號(hào),從0000000到11111111。l ASCII碼:上個(gè)世紀(jì)6
8、0年代,美國(guó)制定了一套字符編碼,對(duì)英語(yǔ)字符與二進(jìn)制位之間的關(guān)系,做了統(tǒng)一規(guī)定。這被稱為ASCII碼。ASCII碼一共規(guī)定了128個(gè)個(gè)字符的編碼,比如空格“SPACE”是32(二進(jìn)制00100000),大寫的字母A是65(二進(jìn)制01000001)。這128個(gè)符號(hào)(包括32個(gè)不能打印出來(lái)的控制符號(hào)),只占用了一個(gè)字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0。l 缺點(diǎn):缺點(diǎn): 不能表示所有字符。 相同的編碼表示的字符不一樣:比如,130在法語(yǔ)編碼中代表了,在希伯來(lái)語(yǔ)編碼中卻代表了字母Gimel(?)Unicode 編碼編碼l 亂碼:世界上存在著多種編碼方式,同一個(gè)二進(jìn)制數(shù)字可以被解釋成不同的符號(hào)。因此,
9、要想打開(kāi)一個(gè)文本文件,就必須知道它的編碼方式,否則用錯(cuò)誤的編碼方式解讀,就會(huì)出現(xiàn)亂碼。l Unicode:一種編碼,將世界上所有的符號(hào)都納入其中。每一個(gè)符號(hào)一種編碼,將世界上所有的符號(hào)都納入其中。每一個(gè)符號(hào)都給予一個(gè)獨(dú)一無(wú)二的編碼,使用都給予一個(gè)獨(dú)一無(wú)二的編碼,使用 Unicode 沒(méi)有亂碼的問(wèn)題。沒(méi)有亂碼的問(wèn)題。l Unicode的缺點(diǎn):Unicode只是一個(gè)符號(hào)集,它只規(guī)定了符號(hào)的二進(jìn)制代碼,卻沒(méi)有規(guī)定這個(gè)二進(jìn)制代碼應(yīng)該如何存儲(chǔ):無(wú)法區(qū)別Unicode和ASCII:計(jì)算機(jī)無(wú)法區(qū)分三個(gè)字節(jié)表示一個(gè)符號(hào)還是分別表示三個(gè)符號(hào)UTF-8l UTF-8 是在互聯(lián)網(wǎng)上使用最廣的一種 Unicode 的
10、實(shí)現(xiàn)方式。l UTF-8是一種變長(zhǎng)的編碼方式。它可以使用1-6個(gè)字節(jié)表示一個(gè)符號(hào),根據(jù)不同的符號(hào)而變化字節(jié)長(zhǎng)度。l UTF-8的編碼規(guī)則:對(duì)于單字節(jié)的UTF-8編碼,該字節(jié)的最高位為0,其余7位用來(lái)對(duì)字符進(jìn)行編碼(等同于ASCII碼)。對(duì)于多字節(jié)的UTF-8編碼,如果編碼包含n個(gè)字節(jié),那么第一個(gè)字節(jié)的前n位為1,第一個(gè)字節(jié)的第n+1位為0,該字節(jié)的剩余各位用來(lái)對(duì)字符進(jìn)行編碼。在第一個(gè)字節(jié)之后的所有的字節(jié),都是最高兩位為10,其余6位用來(lái)對(duì)字符進(jìn)行編碼。布爾類型:布爾類型:booleanl boolean 類型適于邏輯運(yùn)算,一般用于程序流程控制: if條件控制語(yǔ)句; while循環(huán)控制語(yǔ)句; d
11、o-while循環(huán)控制語(yǔ)句; for循環(huán)控制語(yǔ)句;l boolean類型數(shù)據(jù)只允許取值true和false,無(wú)null。 不可以0或非 0 的整數(shù)替代false和true,這點(diǎn)和C語(yǔ)言不同。什么是變量什么是變量變量代表一塊內(nèi)存空間,變量名相當(dāng)于這塊內(nèi)存空間的名字,變量 所占內(nèi)存空間的大小取決于變量的類型。程序是通過(guò)使用變量名來(lái)訪問(wèn)這塊區(qū)域的。在程序運(yùn)行的過(guò)程中變量的值可能會(huì)發(fā)生變化。JAVA中每個(gè)變量必須先聲明,后使用。變量被初始化(initialize)之后才可以被使用。程序的執(zhí)行過(guò)程程序的執(zhí)行過(guò)程程序代碼操作系統(tǒng)代碼內(nèi)內(nèi)存存硬硬 盤盤棧(stack)堆(heap)靜態(tài)域常量池(方法區(qū))局部
12、變量、對(duì)象聲明的引用靜態(tài)變量2.找到main方法開(kāi)始執(zhí)行3.執(zhí)行過(guò)程中的內(nèi)存管理1.load到內(nèi)存區(qū)字符串常量new出來(lái)的類或數(shù)組的實(shí)例(含成員變量)變量的分類變量的分類- -按數(shù)據(jù)類型按數(shù)據(jù)類型l 對(duì)于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型,在內(nèi)存中分配了不同大小的內(nèi)存空間。數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)類(class)接口(interface)數(shù)組( )字符串在這里變量的分類變量的分類- -按聲明的位置的不同按聲明的位置的不同l 在方法體外,類體內(nèi)聲明的變量
13、稱為成員變量成員變量。l 在方法體內(nèi)部聲明的變量稱為局部變量局部變量。注意: 局部變量除形參外,需顯式初始化。成員變量局部變量實(shí)例變量(不以static修飾)類變量(以static修飾)形參(方法簽名中定義的變量)方法局部變量(在方法內(nèi)定義)代碼塊局部變量(在代碼塊內(nèi)定義)所有變量定義變量定義變量定義變量,就是說(shuō)明變量屬于哪一種數(shù)據(jù)類型,這樣編譯器才知道需要配置多少空間給它以及能夠存儲(chǔ)什么樣的數(shù)據(jù)類型 當(dāng)執(zhí)行到變量定義語(yǔ)句時(shí),系統(tǒng)就會(huì)在內(nèi)存的DATA區(qū)配置一塊內(nèi)存空間給該變量,該變量從此代表了這一塊內(nèi)存空間,這塊內(nèi)存空間稱為該變量的實(shí)例可以一次定義一個(gè)變量,如:inta;floatb;char
14、c;也可以一次定義多個(gè)同類型變量,如:inta,b,c;給變量賦值給變量賦值單純的賦值語(yǔ)句myScore=85;定義變量的同時(shí)賦值:intmyScore=85inti=3,j=4;只定義而沒(méi)有賦值的變量稱為沒(méi)有初始化(initialize)類的成員變量會(huì)被自動(dòng)初始化為默認(rèn)值參見(jiàn)程序:DemoDeclAndAss.javaJAVA字面值字面值的修飾符的修飾符 JAVAJAVA將整數(shù)常量作為一個(gè)將整數(shù)常量作為一個(gè)intint類型看待類型看待若在程序中寫一個(gè)整數(shù)的字面量,編譯器會(huì)自動(dòng)視為int類型的值。若給long類型的變量賦值,且該值在int類型的范圍內(nèi),則編譯器可以識(shí)別它,自動(dòng)轉(zhuǎn)型后再賦給lon
15、g類型的變量。反之,若所寫的字面量超出了int類型的范圍,編譯器就無(wú)法識(shí)別它,這時(shí)就得在它的后面加上L修飾符,告知編譯器這是一個(gè)long類型的整數(shù)值,這樣才能通過(guò)編譯。 long Lnum2=125;/編譯不會(huì)出錯(cuò),自動(dòng)轉(zhuǎn)換 long Lnum1=9223372036; /編譯會(huì)出錯(cuò) J JAVAAVA將浮點(diǎn)數(shù)常量作為一個(gè)將浮點(diǎn)數(shù)常量作為一個(gè)doubledouble類型來(lái)看待類型來(lái)看待在一個(gè)浮點(diǎn)數(shù)的后面加上D/d可以告訴編譯器該浮點(diǎn)常量是一個(gè)double的數(shù)據(jù)。在一個(gè)浮點(diǎn)數(shù)的后面加上F/f可以告訴編譯器該浮點(diǎn)常量是一個(gè)float的數(shù)據(jù)。給double類型的變量賦值浮點(diǎn)字面量,加不加D都可以,而
16、給float類型的變量賦值浮點(diǎn)字面量,一定要加上F修飾符,以告知編譯器這時(shí)一個(gè)float值,而不是一個(gè)double值,否則就是將double值賦給float變量,編譯器會(huì)顯示有關(guān)精度喪失的錯(cuò)誤消息。floatF1=3.14;/編譯會(huì)出錯(cuò)floatF2=3.14f;/編譯不會(huì)出錯(cuò)參見(jiàn)程序:DemoLiteral.javaJAVAJAVA的的finalfinal變量變量 final變量相當(dāng)于其他語(yǔ)言中的constant,其特點(diǎn)是一旦初始化之后,就不能再為其賦值。 final變量如果是成員變量,則在定義的時(shí)候就要賦值,而不能在實(shí)現(xiàn)區(qū)賦值。 final變量若非成員變量,可以在定義時(shí)不賦值,而在實(shí)現(xiàn)區(qū)賦
17、值,但也只能賦值一次。 final變量能夠確保變量不至于在后續(xù)的程序執(zhí)行過(guò)程中被誤改。也有助于程序的維護(hù)工作,因?yàn)橐薷臅r(shí)只需改一處。 5.對(duì)應(yīng)基本類型的包裝類型每一個(gè)基本類型都對(duì)應(yīng)著引用類型,該引用類型內(nèi)有一個(gè)特別的成員變量,該成員變量的類型就是對(duì)應(yīng)的基本類型。這些引用類型有許多成員函數(shù),包括進(jìn)行類型轉(zhuǎn)換的成員函數(shù)。對(duì)照列表如下:BytebyteShortshortIntintLonglongFloatfloatDoubledoubleBooleanbooleanp 參考程序:DemoInteger.javap 參考程序:DemoInteger.java構(gòu)造包裝類型實(shí)例及獲取其中基本類型值
18、我們運(yùn)用構(gòu)造函數(shù)來(lái)構(gòu)造包裝類型的實(shí)例。 我們運(yùn)用xxValue()方法來(lái)取得包裝類型實(shí)例中包含的基本類型值。6.String類型:字符串一個(gè)字符串,就是一串連續(xù)的字符,例如:云深不知處Java語(yǔ)言用String類來(lái)作為字符串?dāng)?shù)據(jù)的數(shù)據(jù)類型,也就是說(shuō),String類的每一個(gè)實(shí)例代表一個(gè)字符串。實(shí)際上在String類中,有一個(gè)字符數(shù)組類型的成員變量。StringString-注意項(xiàng)注意項(xiàng) String不是基本數(shù)據(jù)類型,其實(shí)是一個(gè)類 String類使用一個(gè)字符數(shù)組char作為它的成員變量,用來(lái)存儲(chǔ)字符串 String類型的對(duì)象構(gòu)造完成后,內(nèi)含的字符串是無(wú)法重新設(shè)定的,toUpperCase()等方法
19、其實(shí)是產(chǎn)生了新的String對(duì)象 不能直接去取String對(duì)象的char字段,可以用toCharArray()方法取出,但很少這樣用,因?yàn)榭梢灾苯訉⒃揝tring對(duì)象作為字符串來(lái)使用 String類在很多方面被設(shè)計(jì)成和基本數(shù)據(jù)類型相似 String str=abcdef; /給變量賦值,不用new /其實(shí)是把一個(gè)內(nèi)存中現(xiàn)有實(shí)例的地址賦給了str變量 System.out.println(str); /使用實(shí)例中的值,不用對(duì)象.字段或者對(duì)象.方法 /其實(shí)是把字符數(shù)組中的字符一個(gè)接著一個(gè)打印出來(lái) 但是JAVA的String終究是個(gè)類,屬于引用類型p 參考程序:DemoString.javaStri
20、ng-String-注意項(xiàng)注意項(xiàng) 值null可以賦值給任何引用類型(類、接口、數(shù)組)的變量,用以表示這個(gè)引用類型變量中保存的地址為空。 String類屬于引用類型,可用null賦值。 String類是一個(gè)典型的不可變類,String對(duì)象創(chuàng)建出來(lái)就不可能被改變。創(chuàng)建出的字符串將存放在數(shù)據(jù)區(qū),保證每個(gè)字符串常量只有一個(gè),不會(huì)產(chǎn)生多個(gè)副本。Strings0=“hello”;Strings1=“hello”;Strings2=“he”+“l(fā)lo”;System.out.println(s0=s1);/trueSystem.out.println(s0=s2);/trueStrings3=newStri
21、ng(“hello”);/構(gòu)造一個(gè)新的實(shí)例p 參考程序:DemoString2.java自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換- -基本條件基本條件 轉(zhuǎn)換前后的兩種類型必須是數(shù)值類型,包括轉(zhuǎn)換前后的兩種類型必須是數(shù)值類型,包括charchar,但,但booleanboolean不在范圍內(nèi),不在范圍內(nèi),當(dāng)然包裝類型和當(dāng)然包裝類型和StringString也不在范圍內(nèi)。也不在范圍內(nèi)。 JAVA中布爾類型的值,只有true和false,而不是C語(yǔ)言中的0和非0,它和數(shù)值類型之間進(jìn)行轉(zhuǎn)換沒(méi)有意義。 char對(duì)應(yīng)的數(shù)值,就是該字符的unicode編碼,所以char類型的值時(shí)常會(huì)被作為數(shù)字來(lái)進(jìn)行計(jì)算。 一般是存儲(chǔ)空間小
22、的類型轉(zhuǎn)換為存儲(chǔ)空間大的類型,但是整數(shù)、浮點(diǎn)數(shù)要一般是存儲(chǔ)空間小的類型轉(zhuǎn)換為存儲(chǔ)空間大的類型,但是整數(shù)、浮點(diǎn)數(shù)要分開(kāi)來(lái)看。分開(kāi)來(lái)看。 整數(shù)和浮點(diǎn)數(shù)的存儲(chǔ)方式有差別,彼此轉(zhuǎn)換時(shí)不能只論空間大小。 另外,浮點(diǎn)數(shù)空間增大的處理方式與整數(shù)不同,從float轉(zhuǎn)成double類型后,所代表的值可能和原來(lái)的值有些誤差。自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換- -其他注意項(xiàng)其他注意項(xiàng) 數(shù)據(jù)類型按容量大小排序?yàn)椋?有多種類型的數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那種數(shù)據(jù)類型,然后再進(jìn)行計(jì)算。 byte,short,char之間不會(huì)相互轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為int類型。 當(dāng)把任何基本類型的值和字符串
23、值進(jìn)行連接運(yùn)算時(shí)(+),基本類型的值將自動(dòng)轉(zhuǎn)化為字符串類型。charbyteshortintlongfloatdouble自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換- -空間小轉(zhuǎn)大空間小轉(zhuǎn)大整數(shù)整數(shù): :byte、short、int、long、char類型的值,空間小的可以自動(dòng)轉(zhuǎn)為空間大的類型,反之則不可。char類型與byte、short類型之間,通常不會(huì)有自動(dòng)轉(zhuǎn)型的現(xiàn)象,字符常量除外。原因是char類型的值沒(méi)有負(fù)數(shù),而byte,short是有負(fù)數(shù)的。浮點(diǎn)數(shù)浮點(diǎn)數(shù):float,double類型的值之間也是如此,float類型的值可以轉(zhuǎn)為double類型,但是double類型的值就不能夠轉(zhuǎn)成float類型。p
24、參考程序:DemoSmallToBig.java自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換- -整數(shù)轉(zhuǎn)浮點(diǎn)整數(shù)轉(zhuǎn)浮點(diǎn)byte、short、int、long、char類型的值,都可以轉(zhuǎn)為float和double類型。其中l(wèi)ong類型雖然是64位,大于32位的float,但是兩種類型數(shù)據(jù)的存儲(chǔ)方式不同,所以不受空間大小的限制,只是轉(zhuǎn)型后數(shù)據(jù)的精度可能會(huì)有部分損失。而double雖然和long一樣是64位,但也因?yàn)閿?shù)據(jù)的存儲(chǔ)方式不同,故轉(zhuǎn)型后精度可能會(huì)偶部分損失。p 參考程序:DemoIntegerToFloat.java自動(dòng)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換- -整數(shù)字面值整數(shù)字面值 編譯器會(huì)把整數(shù)數(shù)值自動(dòng)視為int類型。但比i
25、nt類型小的byte、short以及char類型,卻可以接受整數(shù)字面值,這是因?yàn)橘x值運(yùn)算符會(huì)自動(dòng)將字面值轉(zhuǎn)型為byte、short、char類型格式的值。 但是在給函數(shù)傳參時(shí),是不會(huì)有這種自動(dòng)轉(zhuǎn)換的。 若數(shù)值常量經(jīng)過(guò)運(yùn)算,所產(chǎn)生的結(jié)果值就無(wú)法自動(dòng)轉(zhuǎn)型了。 p參考程序:DemoConstants.java 強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換l在自動(dòng)類型轉(zhuǎn)換不能湊效時(shí)可以使用強(qiáng)制類型轉(zhuǎn)換,但可能造成精度降低或溢出,格外要注意。l格式:(類型)表達(dá)式lboolean類型不可以轉(zhuǎn)換為其它的數(shù)據(jù)類型。 參考程序: DemoForcedConvert.java練習(xí)練習(xí)1)short s = 5; s = s-2;
26、/判斷:no2)byte b = 3; b = b + 4; /判斷:no b = (byte)(b+4); /判斷:yes3)char c = a; int i = 5; double d = .314; double result = c+i+d; /判斷:yes4)byte b = 5; short s = 3; short t = s + b; /判斷:no判斷是否能通過(guò)編譯8.基本類型與String類型之間的轉(zhuǎn)換Java的字符串是引用類型的數(shù)據(jù),不是基本數(shù)據(jù)類型,不能自動(dòng)轉(zhuǎn)型,也不能使用強(qiáng)制轉(zhuǎn)型。但是利用類的static方法,可以實(shí)現(xiàn)基本數(shù)據(jù)類型與String類型之間的轉(zhuǎn)換?;緮?shù)據(jù)
27、類型轉(zhuǎn)為String類型 String類有個(gè)static方法valueOf(),可以將各種基本數(shù)據(jù)類型的值轉(zhuǎn)換為String類型,該方法為overload方法,可以接受多種類型的參數(shù)。 例如:String str=String.valueOf(12000) 任何一種基本類型與字String類型的值進(jìn)行+運(yùn)算時(shí),都會(huì)自動(dòng)轉(zhuǎn)為String類型。 例如:String str = 1234+”; p 參考程序:DemoPrimitiveToString.java練習(xí)練習(xí)String str1 = 4; /判斷對(duì)錯(cuò):錯(cuò)String str2 = 3.5f + “”;/判斷str2對(duì)錯(cuò):對(duì)System.out.println(str2); /輸出:3.5System.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 年會(huì)部門經(jīng)理發(fā)言稿
- 測(cè)繪服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 達(dá)英-35對(duì)未育女性人工流產(chǎn)術(shù)后子宮內(nèi)膜的影響
- 工作標(biāo)兵先進(jìn)事跡材料(10篇)
- 初級(jí)會(huì)計(jì)實(shí)務(wù)-初級(jí)會(huì)計(jì)《初級(jí)會(huì)計(jì)實(shí)務(wù)》模擬試卷681
- 初級(jí)會(huì)計(jì)實(shí)務(wù)-《初級(jí)會(huì)計(jì)實(shí)務(wù)》模考試卷247
- 城市復(fù)雜環(huán)境低成本北斗-GNSS高精度單車定位技術(shù)研究
- 2024年中國(guó)熱處理行業(yè)深度分析、投資前景、趨勢(shì)預(yù)測(cè)報(bào)告(智研咨詢)
- 補(bǔ)陽(yáng)還五湯聯(lián)合杵針治療腰椎術(shù)后殘留神經(jīng)根癥狀的臨床療效觀察
- 二零二五年度廢棄包裝物處理及資源化利用合同3篇
- 醫(yī)院消防安全培訓(xùn)課件
- 《00541語(yǔ)言學(xué)概論》自考復(fù)習(xí)題庫(kù)(含答案)
- 2025年機(jī)關(guān)工會(huì)個(gè)人工作計(jì)劃
- 江蘇省南京市、鹽城市2023-2024學(xué)年高三上學(xué)期期末調(diào)研測(cè)試+英語(yǔ)+ 含答案
- 2024護(hù)理不良事件分析
- 光伏項(xiàng)目的投資估算設(shè)計(jì)概算以及財(cái)務(wù)評(píng)價(jià)介紹
- 電力安全工作規(guī)程(完整版)
- 2024年湖南省公務(wù)員錄用考試《行測(cè)》試題及答案解析
- 借名買車的協(xié)議書范文范本
- 中國(guó)古代文學(xué)史 馬工程課件(下)21第九編晚清文學(xué) 緒論
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(語(yǔ)文)試題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論