




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章數(shù)據(jù)類型與運(yùn)算符本章要點(diǎn)目標(biāo)理解:常量、變量和表達(dá)式。掌握:Java中的八種原始數(shù)據(jù)類型。掌握:運(yùn)算符和表達(dá)式的應(yīng)用。重點(diǎn)掌握:熟練使用整型、浮點(diǎn)型、字符型常用的數(shù)據(jù)類型的定義,表示和引用。掌握:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符的應(yīng)用。難點(diǎn)掌握:自增、自減運(yùn)算符的不同用法。2.1.1常量定義:常量是在程序運(yùn)行過程中其值始終保持不變的量。聲明常量語法:final數(shù)據(jù)類型常量名=值;例如:finalintA=12;一般常量用大寫。2.1.2變量定義:變量是在程序運(yùn)行時值會發(fā)生變化的量。聲明變量語法:數(shù)據(jù)類型變量名1[,變量名2,……];數(shù)據(jù)類型變量名1[=初值][,變量名2[=初值],…];intk;//聲明一個存放整型且名是k的變量floatx,y;//聲明浮點(diǎn)型變量x,ycharch=‘w’;//聲明字符變量ch,初值為w2.1常量、變量和表達(dá)式2.1常量、變量和表達(dá)式【例2-1】源程序名“ComputeArea.java”,計算面積示例。
//ComputeArea為類名; publicclassComputeArea{ publicstaticvoidmain(Stringargs[]){
doubleradius,area; //聲明變量; finaldoublePI=3.1415926; //聲明常量; radius=20; //給變量賦值;
area=radius*radius*PI;
System.out.println(“area
is”+area); } }
2.2數(shù)據(jù)類型每個數(shù)據(jù)類型都有一個值域,或者叫做范圍。編譯器根據(jù)變量或常量的數(shù)據(jù)類型對其分配存儲空間。Java為數(shù)值、字符值和布爾值數(shù)據(jù)提供了幾種基本數(shù)據(jù)類型。Java語言的數(shù)據(jù)類型劃分如圖2-1。數(shù)據(jù)類型基本數(shù)據(jù)類型類class數(shù)據(jù)類型整數(shù)類型浮點(diǎn)類型字符類型char布爾類型boolean接口interface數(shù)組單精度浮點(diǎn)型float雙精度浮點(diǎn)型double字節(jié)型byte短整型short整型int長整型long圖2-1Java語言的數(shù)據(jù)類型2.2數(shù)據(jù)類型表2-1Java的基本數(shù)據(jù)類型數(shù)據(jù)類型關(guān)鍵字占用位數(shù)缺省數(shù)值取值范圍布爾型boolean8falsetrue,false字符型char16‘\u0000’'\u0000'~'\uFFFF'’字節(jié)型byte80–128~127短整型short160–32768~32767整型int320–2147483648~2147483647長整型long640–9223372036854775808~9223372036854775807單精度float320.0F-3.4E38~3.4E38雙精度double640.0D-1.7E308~1.7E3082.2數(shù)據(jù)類型2.2.1整數(shù)類型包括四種類型:byte、short、int、long。整數(shù)常量:十進(jìn)制整數(shù),如,10,-4;八進(jìn)制整數(shù),以0開頭,如010,-012。十六進(jìn)制整數(shù),以0x開頭,如0x10,零x。Java默認(rèn)整數(shù)常量類型為int;要表示long類型需要在整數(shù)后面加上L或l。整數(shù)變量:聲明整數(shù)類型變量:int
aintvar //聲明aintvar變量是int類型;long alongvar //聲明alongvar變量是long類型;注意:要根據(jù)變量可能處于的最大值選擇合適的整型。2.2.2浮點(diǎn)類型包括兩種類型:float和doubleJava默認(rèn)的浮點(diǎn)型是double類型;數(shù)字后面跟d或D,表示double類型;數(shù)字后面跟f或F,表示float類型;2.2數(shù)據(jù)類型【例2-2】源程序名“TypeMaxValue.java”,數(shù)值數(shù)據(jù)類型的最大值示例。
publicclassTypeMaxValue{
publicstaticvoidmain(Stringargs[])
{ bytelargestByte=Byte.MAX_VALUE; //定義byte類型變量 shortlargestShort=Short.MAX_VALUE; //定義short類型變量
int
largestInteger=Integer.MAX_VALUE; //定義int類型的變量 longlargestLong=Long.MAX_VALUE; //定義long類型的變量 floatlargestFloat=Float.MAX_VALUE; //定義float類型的變量 doublelargestDouble=Double.MAX_VALUE;//定義double類型變量 //在屏幕上顯示對應(yīng)類型的最大值
System.out.println("最大的byte值是:"+largestByte);
System.out.println("最大的short值是:"+largestShort); System.out.println("最大的integer值是:"+largestInteger);
System.out.println("最大的long值是:"+largestLong);
System.out.println("最大的float值是:"+largestFloat);
System.out.println("最大的double值是:"+largestDouble);}
}2.2數(shù)據(jù)類型運(yùn)行結(jié)果程序分析Java中每種數(shù)據(jù)類型都封裝為一個類,通過類型類的MAX_VALUE方法找到各種數(shù)值數(shù)據(jù)類型的取值最大值。2.2數(shù)據(jù)類型2.2.3字符類型字符型常量字符型常量就是用兩個單引號括起來的一個字符。如‘A’,‘1’,‘’表示空格。FinalcharNAME=‘A’;字符型變量字符型變量是char,用于表示單個字符。charletter=‘d’;charnumchar=‘2’; 字符串常量字符串常量就是括在兩個雙引號之間0個或多個字符組成的序列。Stringmessage=“WelcometoJava!”;//字符串必須用雙引號括住。
注意:字符型變量可以進(jìn)行增量減量運(yùn)算?!癆”是字符串;而‘A’是字符。2.2數(shù)據(jù)類型2.2.4布爾類型布爾數(shù)據(jù)類型的值域包括兩個值:真(true)和假(false)。boolean
doorOpen=true;布爾類型的值不能轉(zhuǎn)換成任何數(shù)據(jù)類型,true不等于1,false也不等于0。2.2.5類型之間的轉(zhuǎn)換自動類型轉(zhuǎn)換自動轉(zhuǎn)換按照低級類型轉(zhuǎn)換成高級類型的規(guī)則進(jìn)行,有系統(tǒng)自動實(shí)現(xiàn)。bye->short->int->long->float->double //從左到右依次自動轉(zhuǎn)換char->int //char類型可以直接轉(zhuǎn)換成int類型強(qiáng)制類型轉(zhuǎn)換由高級類型向低級類型轉(zhuǎn)換叫做強(qiáng)制類型轉(zhuǎn)換。格式:(目標(biāo)數(shù)據(jù)類型)變量名或表達(dá)式例如:inta=345; byteb; b=(byte)a;2.2數(shù)據(jù)類型【例2-3】源程序名“TypeTest.java”,數(shù)據(jù)類型轉(zhuǎn)換示例。
publicclassTypeTest{ publicstaticvoidmain(Stringargs[]){
intc; longd=6000; floatf; doubleg=123456789.987654321; c=(int)d;f=(float)g;//導(dǎo)致精度的損失.System.out.println("c="+c);System.out.println("d="+d);System.out.println("f="+f);System.out.println("g="+g);}}2.1簡單數(shù)據(jù)類型運(yùn)行結(jié)果
程序分析將long類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為int類型,有些情況可能導(dǎo)致數(shù)據(jù)溢出。將double類型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換為float類型,將導(dǎo)致精度的損失,通過運(yùn)行結(jié)果可以看出。所以,進(jìn)行數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換時一定需要慎重。2.2.6轉(zhuǎn)義序列轉(zhuǎn)義字符代表一些特殊字符。轉(zhuǎn)義字符主要通過在字符前加一個反斜杠“\”來實(shí)現(xiàn)。常用的轉(zhuǎn)義字符
轉(zhuǎn)義字符含
義轉(zhuǎn)義字符含
義'\b'退格'\uxxxx'用4位16進(jìn)制數(shù)表示字符'\t'制表符tab'\"'雙引號'\r'回車'\''單引號'\n'換行'\\'反斜線'\f'換頁'\ddd'用3位8進(jìn)制數(shù)表示字符2.2數(shù)據(jù)類型2.3運(yùn)算符和表達(dá)式運(yùn)算符是表明作何種運(yùn)算的符號。操作數(shù)是被運(yùn)算的數(shù)據(jù)。表達(dá)式是由操作數(shù)和運(yùn)算符組成的式子。表達(dá)式的運(yùn)算結(jié)果稱為表達(dá)式的值。Java提供的運(yùn)算符,按操作數(shù)的數(shù)目來分,可有:一元運(yùn)算符:需要一個操作數(shù)。++i,--i,+i,-i二元運(yùn)算符:需要二個操作數(shù)。a+b,a-b,a>b三元運(yùn)算符:需要三個操作數(shù)。表達(dá)式1?表達(dá)式2:表達(dá)式3三目表達(dá)式的運(yùn)算規(guī)則是:如果表達(dá)式1的值為true,則整個表達(dá)式的值取表達(dá)式2的值。如果表達(dá)式1的值為false,則整個表達(dá)式的值取表達(dá)式3的值。例如,4>3?4:3表達(dá)式的值為4。多數(shù)二元運(yùn)算符具有自左向右的結(jié)合性,一元運(yùn)算符具有自右向左結(jié)合性。運(yùn)算符按功能分為8類:算術(shù)運(yùn)算符;關(guān)系運(yùn)算符;邏輯運(yùn)算符;位運(yùn)算符;條件運(yùn)算符;賦值運(yùn)算符;擴(kuò)展運(yùn)算符;其他運(yùn)算符(分量運(yùn)算符,下標(biāo)運(yùn)算符等)。2.3運(yùn)算符和表達(dá)式2.3.1算術(shù)運(yùn)算符算術(shù)運(yùn)算符可以對數(shù)值型和字符型數(shù)據(jù)進(jìn)行運(yùn)算,但不能對布爾類型數(shù)據(jù)進(jìn)行運(yùn)算。表2-3Java定義的算術(shù)運(yùn)算符運(yùn)算符意義運(yùn)算符意義+加%求余-減++自增*乘--自減/除基本算術(shù)運(yùn)算符加,減,乘,除;注意:對整數(shù)進(jìn)行“/”除法運(yùn)算時,所有余數(shù)都去掉。doublei1=1.0/2.0;//i1的結(jié)果是0.5
inti2=1/2;//i2的結(jié)果是0inti3=5/2; //i3的結(jié)果是2doublei4=5.0/2.0//i4的結(jié)果是2.5 2.3運(yùn)算符和表達(dá)式2.3.1算術(shù)運(yùn)算符模運(yùn)算符整數(shù),浮點(diǎn)數(shù)都可以進(jìn)行模運(yùn)算,其結(jié)果是整數(shù)和浮點(diǎn)數(shù)。inti5=42%10 //i5的值為2doublei6=42.5%10//i6的值為2.5自增和自減運(yùn)算符x++,++x等同于x=x+1;x--,--x等同于x=x-1;++,--前置后置于變量使用不同若運(yùn)算符是前置于變量的,則變量先加1或減1,再參與表達(dá)式中的運(yùn)算。若運(yùn)算符是后置于變量的,則變量先參與表達(dá)式的運(yùn)算,再加1或減1。例如:inti=10;intn;n=10*i++;//先算10*i即10*10等于100,再計算機(jī)i++,i的值是11,n值是100另例:doublex=1.0;doubley=5.0;doublez=x--+(++y);三行都執(zhí)行完后,y變?yōu)?.0,z變?yōu)?.0,而x變?yōu)?.0。2.3運(yùn)算符和表達(dá)式2.3.2關(guān)系運(yùn)算符和邏輯運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算又稱比較運(yùn)算,用來比較兩個同類型數(shù)據(jù)的大小。關(guān)系運(yùn)算符都是雙目運(yùn)算符。關(guān)系運(yùn)算的結(jié)果是布爾值,即true(真)或false(假)。Java提供的關(guān)系運(yùn)算符見表2-4表。表2-4比較運(yùn)算符運(yùn)算符名稱例結(jié)果<小于1<3true<=小于等于1<=3true>大于1>2false>=大于等于1>=2false==等于1==2false2.3運(yùn)算符和表達(dá)式邏輯運(yùn)算符邏輯運(yùn)算又稱布爾運(yùn)算,是對布爾值進(jìn)行運(yùn)算,其運(yùn)算結(jié)果仍為布爾值。常用的邏輯運(yùn)算符如表2-5所示。
表2-5邏輯運(yùn)算符運(yùn)算符名稱舉例描述!非!x對x進(jìn)行取反運(yùn)算。例如,若x為true,結(jié)果為false&&與x&&y若x和y都為true,結(jié)果才為true||或x||y若x和y都為false,結(jié)果才為false^異或x^y假設(shè)變量x=1和y=2,則(x>1)^(y==2)的結(jié)果為true。2.3運(yùn)算符和表達(dá)式2.3.3位運(yùn)算符位運(yùn)算符用于對二進(jìn)制位(bit)進(jìn)行運(yùn)算。位運(yùn)算符的操作數(shù)和結(jié)果都是整數(shù)。常見的位運(yùn)算符如表2-6所示。表2-6位運(yùn)算符運(yùn)算符名稱應(yīng)用舉例運(yùn)算規(guī)則~按位取反~x對x每個二進(jìn)制位取反&按位與x&y對x,y每個對應(yīng)的二進(jìn)制位做與運(yùn)算|按位或x|y對x,y每個對應(yīng)的二進(jìn)制位做或運(yùn)算^按位異或x^y對x,y每個對應(yīng)的二進(jìn)制位做異或運(yùn)算<<按位左移x<<a將x各二進(jìn)制位左移a位>>按位右移x>>a將x各二進(jìn)制位右移a位>>>不帶符號的按位右移x>>>a將x各二進(jìn)制位右移a位,左面的空位要補(bǔ)02.3運(yùn)算符和表達(dá)式2.3.4賦值運(yùn)算符和條件運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符用于給變量或?qū)ο筚x值?;举x值運(yùn)算符使用形式:變量或?qū)ο?表達(dá)式“=”的作用是,把右邊表達(dá)式的值賦給左邊的變量或?qū)ο?。例如:j=k=i+2;//運(yùn)算順序是,先將i加2的值賦給k,再把k的值賦給j。x=12.45;y=2*x+1;i=(int)x;條件賦值運(yùn)算符:條件賦值運(yùn)算符(?:)是三元運(yùn)算符。一般形式:<表達(dá)式1>?<表達(dá)式2>:<表達(dá)式3>A=5;B=A>10?100:1000; //結(jié)果B為10002.3運(yùn)算符和表達(dá)式2.3.5擴(kuò)展運(yùn)算符擴(kuò)展運(yùn)算符是在基本賦值運(yùn)算符前面加上其他運(yùn)算符后構(gòu)成的賦值運(yùn)算符。Java提供的各種擴(kuò)展運(yùn)算符見表2-7所示。表2-7擴(kuò)展運(yùn)算符表2-7復(fù)合賦值運(yùn)算符運(yùn)算符名稱舉例功能+=加賦值運(yùn)算符a+=ba=a+b-=減賦值運(yùn)算符a-=ba=a-b*=乘賦值運(yùn)算符a*=ba=a*b/=除賦值運(yùn)算符a/=ba=a/b%=取余賦值運(yùn)算符a%=ba=a%b&=位與賦值運(yùn)算符a&=ba=a&b|=位或賦值運(yùn)算符a|=ba=a|b^=位異或賦值運(yùn)算符a^=ba=a^b<<=算術(shù)左移賦值運(yùn)算符a<<=ba=a<<b>>=算術(shù)右移賦值運(yùn)算符a>>=ba=a>>b2.3運(yùn)算符和表達(dá)式2.3.6其他運(yùn)算符分量運(yùn)算符(“.”):意為Sytem類的out方法;實(shí)例運(yùn)算符(instanceof):tinstanceofTread; //用來測試t是否是Tread的一個實(shí)例內(nèi)存分配運(yùn)算符(new):t=newThread(“T1”);
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB3709T 039-2025 泰山靈芝-羊肚菌周年輪作栽培技術(shù)規(guī)程
- 福建裝配式鋼板倉施工方案
- 進(jìn)入自然保護(hù)區(qū)施工方案
- 氧氣管道脫脂施工方案
- 采光井加陽光房施工方案
- 街道巷口硬化施工方案
- 吉林展會裝潢施工方案
- 耐高溫超輕硅酸鈣隔熱保濕材料項目風(fēng)險識別與評估綜合報告
- 智研咨詢發(fā)布:中國城市礦產(chǎn)行業(yè)市場現(xiàn)狀及投資前景分析報告
- 機(jī)電控制與可編程序控制器課程設(shè)計
- 布朗德戰(zhàn)略導(dǎo)向的薪酬管理體系
- SOP標(biāo)準(zhǔn)作業(yè)指導(dǎo)書樣板
- 食品經(jīng)營餐飲操作流程(共1頁)
- JTS 144-1-2010 港口工程荷載規(guī)范
- 產(chǎn)液剖面介紹
- 彎矩二次分配法EXCEL計算
- 美國UNF和unc螺紋標(biāo)準(zhǔn)
- 童話故事《老鼠搬雞蛋》.ppt
- 河北省省直行政事業(yè)單位資產(chǎn)(房屋)租賃合同書(共7頁)
- 220kV、110kV設(shè)備基礎(chǔ)施工方案
評論
0/150
提交評論