Java語(yǔ)言的基本數(shù)據(jù)類型.ppt
《Java語(yǔ)言的基本數(shù)據(jù)類型.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《Java語(yǔ)言的基本數(shù)據(jù)類型.ppt(24頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第2章 基本數(shù)據(jù)類型、數(shù)組和枚舉類型,2.1 標(biāo)識(shí)符和關(guān)鍵字 2.2 Java語(yǔ)言的基本數(shù)據(jù)類型 2.3 從命令行輸入、輸出數(shù)據(jù) 2.4 Java的數(shù)組 2.5 枚舉類型(jdk1.5新引入),,,2.1 標(biāo)識(shí)符和關(guān)鍵字,2.1.1標(biāo)識(shí)符 用來(lái)標(biāo)識(shí)類名、變量名、方法名、類型名、數(shù)組名、文件名的有效字符序列稱為標(biāo)識(shí)符。簡(jiǎn)單地說(shuō),標(biāo)識(shí)符就是一個(gè)名字。 Java語(yǔ)言規(guī)定標(biāo)識(shí)符由字母、下劃線、美元符號(hào)和數(shù)字組成,并且第一個(gè)字符不能是數(shù)字字符。 下面是幾個(gè)有效的標(biāo)識(shí)符: identifier thisone UserName User_name _system_varl $max,,,Java所使用的字母不僅包括通常的拉丁字母a,b,c等,也包括漢語(yǔ)中的漢字、日文的片假名和平假名、朝鮮文、 希臘字母等許多文字。,,下面是幾個(gè)非法的變量名: 3max (變量名不能以數(shù)字開頭) room# (包含非法字符“#”) class (“class”為保留字) 標(biāo)識(shí)符不能是關(guān)鍵字,但是它可以包含關(guān)鍵字作為它的名字的一部分。例如,thisone是一個(gè)有效標(biāo)識(shí)符,但this卻不是,因?yàn)閠his是一個(gè)Java關(guān)鍵字。,2.1.2 關(guān)鍵字,關(guān)鍵字對(duì)Java編譯器有特殊的含義,它們可標(biāo)識(shí)數(shù)據(jù)類型名或程序構(gòu)造名。,2.2 Java語(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、double,,,1.邏輯類型,常量:true ,false。 變量的定義 使用關(guān)鍵字boolean來(lái)定義邏輯變量,定義時(shí)也可以賦給初值: boolean x=true,tom=false,jiafei; 注意:在Java編程語(yǔ)言中boolean類型只允許使用boolean值,在整數(shù)類型和boolean類型之間無(wú)轉(zhuǎn)換計(jì)算。在C語(yǔ)言中允許將數(shù)字值轉(zhuǎn)換成邏輯值,這在Java編程語(yǔ)言中是不允許的。,,,2.int 型,使用關(guān)鍵字int來(lái)定義int型整型變量,定義時(shí)也可以賦給初值: int x= 12,tom=-1230,height=9898,number; 對(duì)于int型變量,內(nèi)存分配給4個(gè)字節(jié)(byte),一個(gè)字節(jié)由8位(bit)組成,4個(gè)字節(jié)占32位。 int型變量的取值范圍是:-231~231-1,,,3.byte 型,使用關(guān)鍵字byte 來(lái)定義byte 型整型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值: byte m=-12,deep=28,speed=98; 對(duì)于byte型變量,內(nèi)存分配給1個(gè)字節(jié),占8位,因此byte型變量的取值范圍是: -27~27-1。,,,4.short long型,使用關(guān)鍵字short來(lái)定義short型整型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值: short x=12,tom=1234,漂亮=9876,jiafei; 對(duì)于short型變量,內(nèi)存分配給2個(gè)字節(jié),占16位,因此short型變量的取值范圍是: -215~ 215-1。 整數(shù)類型缺省為int類型,如在其后有一個(gè)字母“L”表示一個(gè)long值。 long width=15L,h=2000L; 對(duì)于long型變量,內(nèi)存分配給8個(gè)字節(jié),占64位,取值是 -263~ 263-1。,,,6.char型,常量 Java使用unicode字符集,uincode表中的字符就是一個(gè)字符常量,字符常量需使用單引號(hào)擴(kuò)起,例如:'A'、 'b'、 '?' 、'!' 、'9'、 '好' 、'\t' 、 'δ' 變量 使用關(guān)鍵字char來(lái)定義字符變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值: char x='A',tom='爽',jiafei; 對(duì)于char型變量,內(nèi)存分配給2個(gè)字節(jié),占16位,最高為不用來(lái)表示符號(hào) 。 轉(zhuǎn)義字符 有些字符不能通過(guò)鍵盤輸入到字符串或程序中,這時(shí)就需要使用轉(zhuǎn)義字符常量,如\n,\b,\t,\’,\”等。,,,例子1,public class Example2_1 { public static void main (String args[ ]) { char chinaWord='你',japanWord='ぁ'; int p1=36328,p2=38358; System.out.println(“漢字\‘你\’在unicode表中的順序位 置:“+(int)chinaWord); System.out.println(“日語(yǔ)\'ぁ\'在unicode表中的順序位置:“+(int)japanWord); System.out.println(“unicode表中第20328位置上的字符是:“+(char)p1); System.out.println(“unicode表中第12358位置上的字符是:“+(char)p2); } },,,7.float 型,常量 123.5439f,12389.987F,123.0f,2e40f(2乘10的40次方,科學(xué)計(jì)數(shù)法) 變量 使用關(guān)鍵字float來(lái)定義float型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值: float x= 12.76f,tom=1234.987f; 對(duì)于float型變量,內(nèi)存分配給4個(gè)字節(jié),占32位 .,,,8.double 型,常量 12389.5439d(d可以省略),12389908.987,123.0,6e-140(6乘10的-140次方,科學(xué)計(jì)數(shù)法) 變量 使用關(guān)鍵字double來(lái)定義double型變量,可以一次定義幾個(gè),定義時(shí)也可以賦給初值: double x=12.76,tom=1234098.987; double型變量,內(nèi)存分配給8個(gè)字節(jié),占64位,,,public class SimpleTypes { public static void main(String args[]) { byte a=0x44; short b=044; int c=1000000; long d=0xfffL; char e='A'; float f=0.45F; double g=0.05; boolean h=true; System.out.println(“a=“+a); System.out.println(“b=“+b); System.out.println(“c=“+c); System.out.println(“d=“+d); System.out.println(“e=“+e); System.out.println(“f=“+f); System.out.println(“g=“+g); System.out.println(“h=“+h); } },9.基本數(shù)據(jù)類型的轉(zhuǎn)換,當(dāng)我們把一種基本數(shù)據(jù)類型變量的值賦給另一種基本類型變量時(shí),就涉及到數(shù)據(jù)轉(zhuǎn)換?;绢愋蛿?shù)據(jù)的下列類型會(huì)涉及到數(shù)據(jù)轉(zhuǎn)換,不包括邏輯類型和字符類型。我們將這些類型按精度從“底”到“高”排列了順序。 byte short char int long float double 當(dāng)把在級(jí)別低的變量的值賦給級(jí)別高的變量時(shí),系統(tǒng)自動(dòng)完成數(shù)據(jù)類型的轉(zhuǎn)換。例如, float x=100; 如果輸出x的值,結(jié)果將是100.0 例如 int x=50; float y; y=x; 如果輸出y的值,結(jié)果將是50.0。 當(dāng)把在級(jí)別高的變量的值賦給級(jí)別底變量時(shí),必須使用顯示類型轉(zhuǎn)換運(yùn)算。顯示轉(zhuǎn)換的格式:(類型名)要轉(zhuǎn)換的值; 例如: int x=(int)23.89; long y=(long)34.98F; 如果輸出x,y的值將是23和34,強(qiáng)制轉(zhuǎn)換運(yùn)算可能導(dǎo)致精度的損失,,,例子2,public class Example2_2 { public static void main (String args[ ]) { int c=2200; long d=8000; float f; double g=1234.123456789; c=(int)d; f=(float)g; //導(dǎo)致精度的損失. System.out.print(“c= “+c); System.out.println(“ d= “+d); System.out.println(“f= “+f); System.out.println(“g= “+g); } },,,2.3 從命令行輸入、輸出數(shù)據(jù),Scanner是JDK1.5新增的一個(gè)類,可以使用該類創(chuàng)建一個(gè)對(duì)象,如: Scanner reader=new Scanner(System.in); 然后reader對(duì)象調(diào)用下列方法,讀取用戶在命令行輸入的各種數(shù)據(jù)類型:nextBoolean(),nextByte(),nextShort(),nextInt(),nextLong(),nextFloat(),nextDouble(); 舉例。,import java.util.Scanner; public class Ex3 { public static void main(String args[]) { System.out.println(“請(qǐng)輸入若干個(gè)數(shù),每輸入一個(gè)數(shù)回車確認(rèn)“); System.out.println(“最后輸入數(shù)字0結(jié)束輸入操作“); Scanner reader=new Scanner(System.in); double sum=0; int m=0; double x=reader.nextDouble(); while(x!=0) { m=m+1; sum=sum+x; x=reader.nextDouble(); } System.out.println(m+“個(gè)數(shù)的和為“+sum); System.out.println(m+“個(gè)數(shù)的平均值“+sum/m); } },2.4 Java的數(shù)組,數(shù)組是相同類型的數(shù)據(jù)按順序組成的一種復(fù)合數(shù)據(jù)類型。通過(guò)數(shù)組名加數(shù)組下標(biāo),來(lái)使用數(shù)組中的數(shù)據(jù)。下標(biāo)從0開始排序。 1、聲明數(shù)組 數(shù)組的元素類型 數(shù)組名字[] 數(shù)組的元素類型[] 數(shù)組名字 例:int a[]; float[] boy; 2、創(chuàng)建數(shù)組 數(shù)組名字=new 數(shù)組元素的類型[數(shù)組元素的個(gè)數(shù)]; 如: a=new int[3]; 聲明和創(chuàng)建數(shù)組一起完成 如:int a[]=new int[3];,,,與c/c++不同,java不允許在聲明數(shù)組中的方括號(hào)內(nèi)指定數(shù)組元素的個(gè)數(shù)。,創(chuàng)建數(shù)組后,系統(tǒng)會(huì)給每個(gè)數(shù)組元素一個(gè)默認(rèn)的值,如int型是0,float型是0.0.,,3、數(shù)組的初始化 int a[]={1,2,3}; String str[]={“java”,”program”,”welcome”}; 4、數(shù)組長(zhǎng)度 “數(shù)組名字.length”求數(shù)組中元素的個(gè)數(shù)。 如a.length值為3.,,,,舉例: public class UseIntArray { public static void main(String args[]) { int intArray[]={8,9,12}; int sum=0; for(int i=0;iintArray.length;i++) sum+=intArray[i]; for(int i=0;iintArray.length;i++) System.out.print(“ intArray[“+i+“]=“+intArray[i]); System.out.println(); System.out.println(“ sum=“+sum); } },,,舉例,public class Example2_4 { public static void main(String args[]) { int a[]={100,200,300}; int b[]={10,11,12,13,14,15,16}; b=a; b[0]=123456; System.out.println(“數(shù)組a:“+a[0]+“,“+a[1]+“,“+a[2]); System.out.println(“數(shù)組b:“+b[0]+“,“+b[1]+“,“+b[2]); System.out.println(“數(shù)組b的長(zhǎng)度:“+b.length); } },,,舉例,import java.awt.Graphics; import java.applet.Applet; public class RefArray extends Applet { public void paint(Graphics g) { int intArray[]={18,-9,81,96,12}; int refArray[],max; refArray=intArray; g.drawString(“intArray數(shù)組:“,20,20); for(int i=0;iintArray.length;i++) g.drawString(“ “+intArray[i],120+i*20,20); g.drawString(“refArray數(shù)組:“,20,40);,,,,for(int i=0;i max ) max=intArray[i]; } g.drawString(“intArray數(shù)組元素的最大值: max=“+max,20,80); } },,,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Java 語(yǔ)言 基本 數(shù)據(jù)類型
鏈接地址:http://www.3dchina-expo.com/p-1830874.html