JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件_第1頁(yè)
JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件_第2頁(yè)
JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件_第3頁(yè)
JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件_第4頁(yè)
JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件_第5頁(yè)
已閱讀5頁(yè),還剩65頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型

2.1標(biāo)識(shí)符和關(guān)鍵字2.2Java語(yǔ)言的基本數(shù)據(jù)類型2.3Java的數(shù)組

第2章標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型

2.1標(biāo)識(shí)符和關(guān)鍵字12.1標(biāo)識(shí)符和關(guān)鍵字Java語(yǔ)言中,對(duì)各種變量、方法和類等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符。Java標(biāo)識(shí)符有如下命名規(guī)則:標(biāo)識(shí)符由字母、下劃線“_”、美元符“$”或數(shù)字組成。標(biāo)識(shí)符應(yīng)以字母、下劃線、美元符開頭。Java標(biāo)識(shí)符大小寫敏感,長(zhǎng)度無(wú)限制。約定俗成:Java標(biāo)識(shí)符選取因注意“見名知意”且不能與Java語(yǔ)言的關(guān)鍵字重名。合法的標(biāo)識(shí)符不合法的標(biāo)識(shí)符HelloWorldclassDataClassDataClass#_98398.3$bS5_c7HellWorld2.1標(biāo)識(shí)符和關(guān)鍵字Java語(yǔ)言中,對(duì)各種變量、方法和類2關(guān)鍵字Java中一些賦以特定的含義,用做專門用途的字符串稱為關(guān)鍵字(keyword)。所有Java關(guān)鍵字都是小寫英文字符串。goto和const雖然從未使用,但也作被為Java關(guān)鍵字保留。關(guān)鍵字3JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件4關(guān)鍵字原始數(shù)據(jù)類型byteshortintlongfloatdoublecharboolean循環(huán)關(guān)鍵字dowhileforbreakcontinue分支關(guān)鍵字ifelseswitchcasedefaultbreak方法、變量和類修飾符privatepublicprotectedfinalstaticabstractsynchronizedvolatilestrictfp關(guān)鍵字原始數(shù)據(jù)類型5異常處理trycatchfinallythrowthrows對(duì)象相關(guān)關(guān)鍵字 newextendsimplementsclassinstanceofthissuper

字面值常量falsetruenull方法相關(guān)關(guān)鍵字returnvoid包相關(guān)關(guān)鍵字packageimport異常處理字面值常量6Java常量Java的常量值用字符串表示,區(qū)分不同的數(shù)據(jù)類型。如整型常量123實(shí)型常量3.14字符常量‘a(chǎn)’邏輯常量true、false字符串常量“helloworld”null注意:區(qū)分字符常量和字符串常量區(qū)分null和“”Java常量Java的常量值用字符串表示,區(qū)分不同的數(shù)據(jù)類7Java變量Java變量是程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。Java程序中每一個(gè)變量都屬于特定的數(shù)據(jù)類型,在使用前必須對(duì)其聲明,聲明格式為:typevarName[=value][{,varName[=value]}]例如:

inti=100;

floatf=12.3f;

doubled1,d2,d3=0.123;

Strings=“hello”;從本質(zhì)上講,變量其實(shí)是內(nèi)存中的一小塊區(qū)域,使用變量名來(lái)訪問(wèn)這塊區(qū)域,因此,每一個(gè)變量使用前必須要先申請(qǐng)(聲明),然后必須進(jìn)行賦值(填充內(nèi)容),才能使用。值名字Java變量Java變量是程序中最基本的存儲(chǔ)單元,其要素包括8Java變量的分類按被聲明的位置劃分:局部變量:方法或語(yǔ)句塊內(nèi)部定義的變量成員變量:方法外部、類的內(nèi)部定義的變量注意:類外面(與類對(duì)應(yīng)的大括號(hào)外面)不能有變量的聲明按所屬的數(shù)據(jù)類型劃分:基本數(shù)據(jù)類型變量引用數(shù)據(jù)類型變量Java變量的分類按被聲明的位置劃分:9Java局部變量與成員變量方法體內(nèi)部聲明的變量(包括形參)稱為局部變量:方法體內(nèi)部是指與方法對(duì)應(yīng)的大括號(hào)內(nèi)部在方法體外,類體內(nèi)聲明的變量成為成員變量publicvoidmethod(){inti;intj=i+5;//編譯出錯(cuò),變量i還未被初始化doubled=3.14;}Java局部變量與成員變量方法體內(nèi)部聲明的變量(包括形參)稱10數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)類(class)接口(interface)數(shù)組Java數(shù)據(jù)類型的劃分?jǐn)?shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾112.2Java語(yǔ)言的基本數(shù)據(jù)類型

基本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)據(jù)類型。Java語(yǔ)言有8種簡(jiǎn)單數(shù)據(jù)類型,分別是:boolean、byte、short、int、long、float、double、char。這8種數(shù)據(jù)類型習(xí)慣上可分為4大類型:邏輯類型:boolean字符類型:char整數(shù)類型:byte、short、int、long浮點(diǎn)類型:float、double2.2Java語(yǔ)言的基本數(shù)據(jù)類型

基本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)12基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型包括(4類8種)

boolean(true/false)byte(1)、short(2)、int(4)、

long(8)

float(4)、double(8)

char(2)。基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型包括(4類8種)131.邏輯類型booleanboolean類型適于邏輯運(yùn)算,一般用于程序流程控制。boolean類型數(shù)據(jù)只允許取值true或false,不可以0或非0的整數(shù)替代true和false,這點(diǎn)和C語(yǔ)言不同。用法舉例:

booleanflag;flag=true;if(flag){//dosomething}1.邏輯類型booleanboolean類型適于邏輯運(yùn)算142.整數(shù)類型Java各整數(shù)類型有固定的表數(shù)范圍和字段長(zhǎng)度,其不受具體操作系統(tǒng)的影響,以保證Java程序的可移植性。Java語(yǔ)言整型常量的三種表示形式:

十進(jìn)制整數(shù),如:12,-314,0。八進(jìn)制整數(shù),要求以0開頭,如:012。十六進(jìn)制數(shù),要求0x或0X開頭,如:0x12。Java語(yǔ)言的整型常量默認(rèn)為int型,聲明long型常量可以后加‘l’或‘L’,如inti1=600;//正確longl1=88888888888L;//必須加l否則會(huì)出錯(cuò)類型占用存儲(chǔ)空間表數(shù)范圍byte1字節(jié)

-128~127short2字節(jié)

-215~215-1int4字節(jié)

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

-263~263-12.整數(shù)類型Java各整數(shù)類型有固定的表數(shù)范圍和字段長(zhǎng)度,153.char型char型數(shù)據(jù)用來(lái)表示通常意義上的“字符”字符常量為用單引號(hào)括起來(lái)的單個(gè)字符,例如:chareChar='a';charcChar='中';Java字符采用

Unicode

編碼,每個(gè)字符占兩個(gè)字節(jié),因而可用十六進(jìn)制編碼形式表示,例如:charc1='\u0061';注:Unicode是全球語(yǔ)言統(tǒng)一編碼Java語(yǔ)言中還允許使用轉(zhuǎn)義字符‘\’來(lái)將其后的字符轉(zhuǎn)變?yōu)槠渌暮x,例如:charc2='\n';//‘\n’代表?yè)Q行符3.char型char型數(shù)據(jù)用來(lái)表示通常意義上的“字符”16JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件17Java中的字符型數(shù)據(jù)是16位的Unicode字符,漢字和英文字母占的內(nèi)存空間相同?!癑AVA你好”共12個(gè)字節(jié)。字符串常量是使用雙引號(hào)括起來(lái)的字符序列,注意:最后字符不是‘\0’。例如:"Let’slearnJava!"。Java中的字符型數(shù)據(jù)是16位的Unicode184浮點(diǎn)類型與整數(shù)類型類似,Java浮點(diǎn)類型有固定的表數(shù)范圍和字段長(zhǎng)度,不受平臺(tái)影響。Java浮點(diǎn)類型常量有兩種表示形式十進(jìn)制數(shù)形式,例如:3.14314.0.314科學(xué)記數(shù)法形式,如3.14e23.14E2100E-2Java浮點(diǎn)型常量默認(rèn)為double型,如要聲明一個(gè)常量為float型,則需在數(shù)字后面加f或F,如:doubled=12345.6;//正確floatf=12.3f;//必須加f否則會(huì)出錯(cuò)下面列出Java的各種浮點(diǎn)類型類型占用存儲(chǔ)空間表數(shù)范圍float4字節(jié)

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

-1.798E308~1.798E3084浮點(diǎn)類型與整數(shù)類型類似,Java浮點(diǎn)類型有固定的表數(shù)范圍19JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件20java中可以從任意基本類型轉(zhuǎn)型到另外的基本類型例外boolean類型不可以轉(zhuǎn)換為其他的數(shù)據(jù)類型。轉(zhuǎn)換分為默認(rèn)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換整型、字符型、浮點(diǎn)型的數(shù)據(jù)在混合運(yùn)算中相互轉(zhuǎn)換,轉(zhuǎn)換時(shí)遵循以下原則:容量小的類型默認(rèn)轉(zhuǎn)換為容量大的數(shù)據(jù)類型;數(shù)據(jù)類型按容量大小排序?yàn)椋篵yte,short,char->int->long->

float->doublebyte,short,char之間不會(huì)互相轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為int類型容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型時(shí),要加上強(qiáng)制轉(zhuǎn)換符,但可能造成精度降低或溢出;使用時(shí)要格外注意。有多種類型的數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)的將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那一種數(shù)據(jù)類型,然后再進(jìn)行計(jì)算。(看下頁(yè))實(shí)數(shù)常量(如:1.2)默認(rèn)為double。整數(shù)常量(如:123)默認(rèn)為int?;緮?shù)據(jù)類型轉(zhuǎn)換java中可以從任意基本類型轉(zhuǎn)型到另外的基本類型基本數(shù)據(jù)類型21

強(qiáng)制類型轉(zhuǎn)換的格式是:

(數(shù)據(jù)類型)變量名經(jīng)過(guò)強(qiáng)制類型轉(zhuǎn)換,將得到一個(gè)在“()”中聲明的數(shù)據(jù)類型的數(shù)據(jù),該數(shù)據(jù)是從指定變量所包含的數(shù)據(jù)轉(zhuǎn)換而來(lái)的。值得注意的是,指定變量本身不會(huì)發(fā)生任何變化。例如,doubley=3.14159d;inta=(int)y;強(qiáng)制類型轉(zhuǎn)換的格式是:22將占用位數(shù)較長(zhǎng)的數(shù)據(jù)轉(zhuǎn)化成占用位數(shù)較短的數(shù)據(jù)時(shí),可能會(huì)造成數(shù)據(jù)超出較短數(shù)據(jù)類型的取值范圍,造成“溢出”。如:longi=10000000000;intj=(int)i;因?yàn)檗D(zhuǎn)換的結(jié)果已經(jīng)超出了int型數(shù)據(jù)所能表示的最大整數(shù)(4294967295),造成溢出,產(chǎn)生了錯(cuò)誤。將占用位數(shù)較長(zhǎng)的數(shù)據(jù)轉(zhuǎn)化成占用位數(shù)較短的數(shù)據(jù)時(shí),可能會(huì)造成數(shù)23shorta,b,c;a=2;b=3;c=(short)(a+b);//類型轉(zhuǎn)換shorta,b,c;a=2;b=3;c=a+b;//類型錯(cuò)誤

shorta,b,c;shorta,b,c;24引用的概念(reference)程序運(yùn)行時(shí),操作系統(tǒng)為程序運(yùn)行分配的存儲(chǔ)空間按用途可劃分為下面幾個(gè)部分:引用的概念(reference)程序運(yùn)行時(shí),操作系統(tǒng)為程序運(yùn)25Point2DpointOne通常稱pointOne是Point2D類型的對(duì)象變量(或?qū)ο?;對(duì)于對(duì)象變量pointOne的聲明,操作系統(tǒng)會(huì)在棧(Stack)內(nèi)為pointOne分配一個(gè)32位的內(nèi)存空間;該內(nèi)存空間將來(lái)會(huì)存儲(chǔ)一個(gè)32位的地址數(shù)據(jù),就是為Point2D類型的對(duì)象分配的內(nèi)存空間的首地址;Point2DpointOne26類Point2D屬性:x:floaty:float方法:getX():返回x的值getY():返回y的值

類Point2D圖示類Point2D類Point2D圖示27Point2DpointOne=newPoint2D(10,100);每當(dāng)你需要?jiǎng)?chuàng)建對(duì)象,在程序代碼中使用new,當(dāng)它執(zhí)行時(shí),便會(huì)自堆(Heap)中分配對(duì)象所占的存儲(chǔ)空間---java對(duì)象存儲(chǔ)在堆(Heap)中。pointOne值指向?qū)ο髇ewPoint2D(10,100)實(shí)際分配的內(nèi)存空間的首地址。所以pointOne就是一個(gè)引用,其值指向?qū)ο髮?shí)際所在的內(nèi)存中的位置。Youmanipulateobjectswithreferences;pointOne.getX()Point2DpointOne=newPoint2D28pointOne對(duì)象實(shí)際所在的內(nèi)存空間堆(Heap)中分配一塊內(nèi)存區(qū)域,假設(shè)首地址為0xFF0032位地址數(shù)據(jù):0xFF00pointOne棧中分配32位的內(nèi)存空間nullpointOne對(duì)象實(shí)際所在的內(nèi)存空間堆(Heap)中分配一29對(duì)于Java中的基本數(shù)據(jù)類型。Java采取C/C++的方式,不用new為基本數(shù)據(jù)類型分配存儲(chǔ)空間,而是將此類變量直接存放數(shù)據(jù)值,并置于棧中。這樣在空間的分配和釋放上,操作這類極小、極簡(jiǎn)單的變量效率較高。為了保證處理數(shù)據(jù)的一致性,Java類庫(kù)也提供了基本數(shù)據(jù)類型的包裝類(wrappedclasses)。對(duì)于Java中的基本數(shù)據(jù)類型。30Javadefinesfourtypesofintegernumericdata:byte8-bitByteshort16-bitShortint32-bitIntegerlong64-bitLongPrimitivetypeSizeWrappertypeJavadefinestwofloatingpointnumerictype:float32-bitFloatdouble64-bitDoubleJavadefinesfourtypesofint31PrimitivetypeSizeWrappertypechar16-bitUnicodeCharacterchar:asinglecharacter,storedusing16bitUnicodeencodingversus8bitASCIIencodingthusenablingJavatohandleawiderangeofinternationalcharactersets.charc=‘x’;例如:想使用包裝類在堆內(nèi)產(chǎn)生代表該基本類型的對(duì)象:charc=‘x’; CharacterC=newCharacter(c);或?qū)懗桑? CharacterC=newCharacter(‘x’);PrimitivetypeSizeWrappertype32boolean1-bitBooleanPrimitivetypeSizeWrappertypeboolean:avariablethatmayonlyassumeoneoftwovalues-trueorfalseboolean1-bit33JDK1.5版本以前需要手動(dòng)封裝Integerit=newInteger(10);JDK1.5以后自動(dòng)完成類型封裝Integerit=10;inti=10;Integert1=i;//自動(dòng)裝包inty;y=t1;//自動(dòng)拆包Jdk1.5:自動(dòng)裝包/拆包(Autoboxing/unboxing)自動(dòng)裝包:基本類型自動(dòng)轉(zhuǎn)為包裝類自動(dòng)拆包:包裝類自動(dòng)轉(zhuǎn)為基本類型JDK1.5版本以前需要手動(dòng)封裝Jdk1.5:自動(dòng)裝包/拆34變量的聲明和賦值packagesample;publicclassAssign{publicstaticvoidmain(Stringargs[]){intx,y;//聲明int類型的變量floatz=3.414f;//聲明float類型的變量并賦值

doublew=3.1415;//聲明double類型的變量并賦值booleantruth=true;//聲明boolean類型的變量并賦值charc;//聲明char類型的變量并賦值Stringstr;//聲明String類型的變量Stringstr1="bye";//聲明String類型的變量并賦值c=‘A’;//給char類型的變量賦值

x=6;y=1000;//給int類型的變量賦值}}變量的聲明和賦值packagesample;35第2章標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型

2.1標(biāo)識(shí)符和關(guān)鍵字2.2Java語(yǔ)言的基本數(shù)據(jù)類型2.3Java的數(shù)組

第2章標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型

2.1標(biāo)識(shí)符和關(guān)鍵字362.1標(biāo)識(shí)符和關(guān)鍵字Java語(yǔ)言中,對(duì)各種變量、方法和類等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符。Java標(biāo)識(shí)符有如下命名規(guī)則:標(biāo)識(shí)符由字母、下劃線“_”、美元符“$”或數(shù)字組成。標(biāo)識(shí)符應(yīng)以字母、下劃線、美元符開頭。Java標(biāo)識(shí)符大小寫敏感,長(zhǎng)度無(wú)限制。約定俗成:Java標(biāo)識(shí)符選取因注意“見名知意”且不能與Java語(yǔ)言的關(guān)鍵字重名。合法的標(biāo)識(shí)符不合法的標(biāo)識(shí)符HelloWorldclassDataClassDataClass#_98398.3$bS5_c7HellWorld2.1標(biāo)識(shí)符和關(guān)鍵字Java語(yǔ)言中,對(duì)各種變量、方法和類37關(guān)鍵字Java中一些賦以特定的含義,用做專門用途的字符串稱為關(guān)鍵字(keyword)。所有Java關(guān)鍵字都是小寫英文字符串。goto和const雖然從未使用,但也作被為Java關(guān)鍵字保留。關(guān)鍵字38JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件39關(guān)鍵字原始數(shù)據(jù)類型byteshortintlongfloatdoublecharboolean循環(huán)關(guān)鍵字dowhileforbreakcontinue分支關(guān)鍵字ifelseswitchcasedefaultbreak方法、變量和類修飾符privatepublicprotectedfinalstaticabstractsynchronizedvolatilestrictfp關(guān)鍵字原始數(shù)據(jù)類型40異常處理trycatchfinallythrowthrows對(duì)象相關(guān)關(guān)鍵字 newextendsimplementsclassinstanceofthissuper

字面值常量falsetruenull方法相關(guān)關(guān)鍵字returnvoid包相關(guān)關(guān)鍵字packageimport異常處理字面值常量41Java常量Java的常量值用字符串表示,區(qū)分不同的數(shù)據(jù)類型。如整型常量123實(shí)型常量3.14字符常量‘a(chǎn)’邏輯常量true、false字符串常量“helloworld”null注意:區(qū)分字符常量和字符串常量區(qū)分null和“”Java常量Java的常量值用字符串表示,區(qū)分不同的數(shù)據(jù)類42Java變量Java變量是程序中最基本的存儲(chǔ)單元,其要素包括變量名,變量類型和作用域。Java程序中每一個(gè)變量都屬于特定的數(shù)據(jù)類型,在使用前必須對(duì)其聲明,聲明格式為:typevarName[=value][{,varName[=value]}]例如:

inti=100;

floatf=12.3f;

doubled1,d2,d3=0.123;

Strings=“hello”;從本質(zhì)上講,變量其實(shí)是內(nèi)存中的一小塊區(qū)域,使用變量名來(lái)訪問(wèn)這塊區(qū)域,因此,每一個(gè)變量使用前必須要先申請(qǐng)(聲明),然后必須進(jìn)行賦值(填充內(nèi)容),才能使用。值名字Java變量Java變量是程序中最基本的存儲(chǔ)單元,其要素包括43Java變量的分類按被聲明的位置劃分:局部變量:方法或語(yǔ)句塊內(nèi)部定義的變量成員變量:方法外部、類的內(nèi)部定義的變量注意:類外面(與類對(duì)應(yīng)的大括號(hào)外面)不能有變量的聲明按所屬的數(shù)據(jù)類型劃分:基本數(shù)據(jù)類型變量引用數(shù)據(jù)類型變量Java變量的分類按被聲明的位置劃分:44Java局部變量與成員變量方法體內(nèi)部聲明的變量(包括形參)稱為局部變量:方法體內(nèi)部是指與方法對(duì)應(yīng)的大括號(hào)內(nèi)部在方法體外,類體內(nèi)聲明的變量成為成員變量publicvoidmethod(){inti;intj=i+5;//編譯出錯(cuò),變量i還未被初始化doubled=3.14;}Java局部變量與成員變量方法體內(nèi)部聲明的變量(包括形參)稱45數(shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾型(boolean)整數(shù)類型(byte,short,int,long)浮點(diǎn)類型(float,double)類(class)接口(interface)數(shù)組Java數(shù)據(jù)類型的劃分?jǐn)?shù)據(jù)類型基本數(shù)據(jù)類型引用數(shù)據(jù)類型數(shù)值型字符型(char)布爾462.2Java語(yǔ)言的基本數(shù)據(jù)類型

基本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)據(jù)類型。Java語(yǔ)言有8種簡(jiǎn)單數(shù)據(jù)類型,分別是:boolean、byte、short、int、long、float、double、char。這8種數(shù)據(jù)類型習(xí)慣上可分為4大類型:邏輯類型:boolean字符類型:char整數(shù)類型:byte、short、int、long浮點(diǎn)類型:float、double2.2Java語(yǔ)言的基本數(shù)據(jù)類型

基本數(shù)據(jù)類型也稱作簡(jiǎn)單數(shù)47基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型包括(4類8種)

boolean(true/false)byte(1)、short(2)、int(4)、

long(8)

float(4)、double(8)

char(2)。基本數(shù)據(jù)類型Java的基本數(shù)據(jù)類型包括(4類8種)481.邏輯類型booleanboolean類型適于邏輯運(yùn)算,一般用于程序流程控制。boolean類型數(shù)據(jù)只允許取值true或false,不可以0或非0的整數(shù)替代true和false,這點(diǎn)和C語(yǔ)言不同。用法舉例:

booleanflag;flag=true;if(flag){//dosomething}1.邏輯類型booleanboolean類型適于邏輯運(yùn)算492.整數(shù)類型Java各整數(shù)類型有固定的表數(shù)范圍和字段長(zhǎng)度,其不受具體操作系統(tǒng)的影響,以保證Java程序的可移植性。Java語(yǔ)言整型常量的三種表示形式:

十進(jìn)制整數(shù),如:12,-314,0。八進(jìn)制整數(shù),要求以0開頭,如:012。十六進(jìn)制數(shù),要求0x或0X開頭,如:0x12。Java語(yǔ)言的整型常量默認(rèn)為int型,聲明long型常量可以后加‘l’或‘L’,如inti1=600;//正確longl1=88888888888L;//必須加l否則會(huì)出錯(cuò)類型占用存儲(chǔ)空間表數(shù)范圍byte1字節(jié)

-128~127short2字節(jié)

-215~215-1int4字節(jié)

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

-263~263-12.整數(shù)類型Java各整數(shù)類型有固定的表數(shù)范圍和字段長(zhǎng)度,503.char型char型數(shù)據(jù)用來(lái)表示通常意義上的“字符”字符常量為用單引號(hào)括起來(lái)的單個(gè)字符,例如:chareChar='a';charcChar='中';Java字符采用

Unicode

編碼,每個(gè)字符占兩個(gè)字節(jié),因而可用十六進(jìn)制編碼形式表示,例如:charc1='\u0061';注:Unicode是全球語(yǔ)言統(tǒng)一編碼Java語(yǔ)言中還允許使用轉(zhuǎn)義字符‘\’來(lái)將其后的字符轉(zhuǎn)變?yōu)槠渌暮x,例如:charc2='\n';//‘\n’代表?yè)Q行符3.char型char型數(shù)據(jù)用來(lái)表示通常意義上的“字符”51JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件52Java中的字符型數(shù)據(jù)是16位的Unicode字符,漢字和英文字母占的內(nèi)存空間相同。“JAVA你好”共12個(gè)字節(jié)。字符串常量是使用雙引號(hào)括起來(lái)的字符序列,注意:最后字符不是‘\0’。例如:"Let’slearnJava!"。Java中的字符型數(shù)據(jù)是16位的Unicode534浮點(diǎn)類型與整數(shù)類型類似,Java浮點(diǎn)類型有固定的表數(shù)范圍和字段長(zhǎng)度,不受平臺(tái)影響。Java浮點(diǎn)類型常量有兩種表示形式十進(jìn)制數(shù)形式,例如:3.14314.0.314科學(xué)記數(shù)法形式,如3.14e23.14E2100E-2Java浮點(diǎn)型常量默認(rèn)為double型,如要聲明一個(gè)常量為float型,則需在數(shù)字后面加f或F,如:doubled=12345.6;//正確floatf=12.3f;//必須加f否則會(huì)出錯(cuò)下面列出Java的各種浮點(diǎn)類型類型占用存儲(chǔ)空間表數(shù)范圍float4字節(jié)

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

-1.798E308~1.798E3084浮點(diǎn)類型與整數(shù)類型類似,Java浮點(diǎn)類型有固定的表數(shù)范圍54JAVA標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型課件55java中可以從任意基本類型轉(zhuǎn)型到另外的基本類型例外boolean類型不可以轉(zhuǎn)換為其他的數(shù)據(jù)類型。轉(zhuǎn)換分為默認(rèn)轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換整型、字符型、浮點(diǎn)型的數(shù)據(jù)在混合運(yùn)算中相互轉(zhuǎn)換,轉(zhuǎn)換時(shí)遵循以下原則:容量小的類型默認(rèn)轉(zhuǎn)換為容量大的數(shù)據(jù)類型;數(shù)據(jù)類型按容量大小排序?yàn)椋篵yte,short,char->int->long->

float->doublebyte,short,char之間不會(huì)互相轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為int類型容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型時(shí),要加上強(qiáng)制轉(zhuǎn)換符,但可能造成精度降低或溢出;使用時(shí)要格外注意。有多種類型的數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)的將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的那一種數(shù)據(jù)類型,然后再進(jìn)行計(jì)算。(看下頁(yè))實(shí)數(shù)常量(如:1.2)默認(rèn)為double。整數(shù)常量(如:123)默認(rèn)為int?;緮?shù)據(jù)類型轉(zhuǎn)換java中可以從任意基本類型轉(zhuǎn)型到另外的基本類型基本數(shù)據(jù)類型56

強(qiáng)制類型轉(zhuǎn)換的格式是:

(數(shù)據(jù)類型)變量名經(jīng)過(guò)強(qiáng)制類型轉(zhuǎn)換,將得到一個(gè)在“()”中聲明的數(shù)據(jù)類型的數(shù)據(jù),該數(shù)據(jù)是從指定變量所包含的數(shù)據(jù)轉(zhuǎn)換而來(lái)的。值得注意的是,指定變量本身不會(huì)發(fā)生任何變化。例如,doubley=3.14159d;inta=(int)y;強(qiáng)制類型轉(zhuǎn)換的格式是:57將占用位數(shù)較長(zhǎng)的數(shù)據(jù)轉(zhuǎn)化成占用位數(shù)較短的數(shù)據(jù)時(shí),可能會(huì)造成數(shù)據(jù)超出較短數(shù)據(jù)類型的取值范圍,造成“溢出”。如:longi=10000000000;intj=(int)i;因?yàn)檗D(zhuǎn)換的結(jié)果已經(jīng)超出了int型數(shù)據(jù)所能表示的最大整數(shù)(4294967295),造成溢出,產(chǎn)生了錯(cuò)誤。將占用位數(shù)較長(zhǎng)的數(shù)據(jù)轉(zhuǎn)化成占用位數(shù)較短的數(shù)據(jù)時(shí),可能會(huì)造成數(shù)58shorta,b,c;a=2;b=3;c=(short)(a+b);//類型轉(zhuǎn)換shorta,b,c;a=2;b=3;c=a+b;//類型錯(cuò)誤

shorta,b,c;shorta,b,c;59引用的概念(reference)程序運(yùn)行時(shí),操作系統(tǒng)為程序運(yùn)行分配的存儲(chǔ)空間按用途可劃分為下面幾個(gè)部分:引用的概念(reference)程序運(yùn)行時(shí),操作系統(tǒng)為程序運(yùn)60Point2DpointOne通常稱pointOne是Point2D類型的對(duì)象變量(或?qū)ο?;對(duì)于對(duì)象變量pointOne的聲明,操作系統(tǒng)會(huì)在棧(Stack)內(nèi)為pointOne分配一個(gè)32位的內(nèi)存空間;該內(nèi)存空間將來(lái)會(huì)存儲(chǔ)一個(gè)32位的地址數(shù)據(jù),就是為Point2D類型的對(duì)象分配的內(nèi)存空間的首地址;Point2DpointOne61類Point2D屬性:x:floaty:float方法:getX():返回x的值getY():返回y的值

類Point2D圖示類Point2D類Point2D圖示62Point2DpointOne=newPoint2D(10,100);每當(dāng)你需要?jiǎng)?chuàng)建對(duì)象,在程序代碼中使用new,當(dāng)它執(zhí)行時(shí),便會(huì)自堆(Heap)中分配對(duì)象所占的存儲(chǔ)空間---java對(duì)象存儲(chǔ)在堆(Heap)中。pointOne值指向?qū)ο髇ewPoint2D(10,100)實(shí)際分配的內(nèi)存空間的首地址。所以pointOne就是一個(gè)引用,其值指向?qū)ο髮?shí)際所在的內(nèi)存中的位置。Youmanipulateobjectswithreferences;pointOne.getX()Point2DpointOne=newPoint2D63pointOne對(duì)象實(shí)際所在的內(nèi)存空間堆(Heap)中分配一塊內(nèi)存區(qū)域,假設(shè)首地址為0xFF0032位地址數(shù)據(jù):0xFF00pointOne棧中分配32位的內(nèi)存空間nullpointOne對(duì)象實(shí)際所在的內(nèi)存空間堆(Heap)中分配一64對(duì)于Java中的基本數(shù)據(jù)類型。Java采取C/C++的方式,不用new為基本數(shù)據(jù)類型分配存儲(chǔ)空間,而是將此類變量直接存放數(shù)據(jù)值,并置于棧中。這樣在空間的分配和釋放上,操作這類極小、極簡(jiǎn)單的變量效率較高。為了保證處理數(shù)據(jù)的一致性,Java類庫(kù)也提供了基本數(shù)據(jù)類型的包裝類(wrappedclasses)。對(duì)于Java中的基本數(shù)據(jù)類型。65Javadefinesfourtypesofintegernumericdata:byte8-bitByteshort16-bitShortint32-bitIntegerlong64-bitLongPrimitivetypeSizeWrappertypeJavadefinestwofloatingpointnumerictype:float32-bit

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論