基本數(shù)據(jù)類型
邏輯類型 整數(shù)類型 ?字符類型 浮點類型 數(shù)據(jù)轉(zhuǎn)換 輸入和輸出數(shù)據(jù)
?
?
1.邏輯類型
?
Java語言一共有8種基本數(shù)據(jù)類型,分別是:
boolean、byte、short、int、long、float、double、char。
這8種基本數(shù)據(jù)類型在習慣上可以分為以下四大類型:
邏輯類型:boolean
整數(shù)類型:byte、short、int、long
字符類型:char
浮點類型:float、double
?
2.整數(shù)類型
?
1.int 型
常量:123,6000(十進制),077(八進制),0x3ABC(十六進制)。
變量:使用關(guān)鍵字int來聲明int型變量,聲明時也可以賦給初值,
例如:int x= 12,平均=9898,jiafei;
對于int型變量,內(nèi)存分配給4個字節(jié)(byte),占32位。
2.byte型
常量:Java中不存在byte型常量的表示法,但可以把一定范圍內(nèi)的int型常量賦值給byte型變量。
變量:使用關(guān)鍵字byte來聲明byte 型變量
例如:byte x= -12,tom=28,漂亮9;
對于byte型內(nèi)存分配給1個字節(jié),占8位。
3 .short 型
常量:和byte型類似,Java中也不存在short型常量的表示法,但可以把一定范圍內(nèi)的int型常量賦值給short型變量。
變量:使用關(guān)鍵字short來聲明short型變量
例如:short x=12,y=1234;
對于short型變量,內(nèi)存分配給2個字節(jié),占16位。
4. long 型
常量:long型常量用后綴L來表示,例如108L(十進制),07123L(八進制)、0x3ABCL(十六進制) 。
變量:使用關(guān)鍵字long來聲明long型變量,
例如:long width=12L,height=2005L,length;
對于long型變量,內(nèi)存分配給8個字節(jié),占64位。
1.???? 字符類型
1. 常量:‘A’,‘b’,‘?’,‘!’,‘9’,‘好’,‘\t’,‘き’,‘モ’等,即用單引號擴起的Unicode表中的一個字符。
2. 變量:使用關(guān)鍵字char來聲明char型變量,
例如:char ch=‘A’,home=‘家’,handsome=‘酷’;
對于char型變量,內(nèi)存分配給2個字節(jié),占16位。
3. 轉(zhuǎn)意字符常量:有些字符(如回車符)不能通過鍵盤輸入到字符串或程序中,就需要使用轉(zhuǎn)意字符常量,
例如:\n(換行),\b(退格),\t(水平制表), \‘(單引號),\“(雙引號),\(反斜線)等。
4. 要觀察一個字符在Unicode表中的順序位置,可以使用int型顯示轉(zhuǎn)換,如(int)'a'或int p='a'。
5. 如果要得到一個0~65536之間的數(shù)所代表的Unicode表中相應(yīng)位置上的字符必須使用char型顯示轉(zhuǎn)換。
5.浮點類型
1. float型
常量:453.5439f,21379.987F,231.0f(小數(shù)表示法),2e40f(2乘10的40次方,指數(shù)表示法)。需要特別注意的是:常量后面必須要有后綴“f”或“F”。?
變量:使用關(guān)鍵字float來聲明float型變量,
例如:float x=22.76f,tom=1234.987f,weight=1e-12F;
精度:float變量在存儲float型數(shù)據(jù)時保留8位有效數(shù)字,實際精度取決于具體數(shù)值。
對于float型變量,內(nèi)存分配給4個字節(jié),占32位。
?2. double 型
常量:2389.539d,2318908.987,0.05(小數(shù)表示法),1e-90(1乘10的-90次方,指數(shù)表示法)。對于double常量,后面可以有后綴“d”或“D”,但允許省略該后綴。
變量:使用關(guān)鍵字double來聲明double型變量,
例如:double height=23.345,width=34.56D,length=1e12;
對于double型變量,內(nèi)存分配給8個字節(jié),占64位。
精度:double變量在存儲double型數(shù)據(jù)時保留16位有效數(shù)字,實際精度取決于具體數(shù)值。
數(shù)據(jù)轉(zhuǎn)換
Java中數(shù)據(jù)的基本類型(不包括邏輯類型)按精度從“低”到“高”排列:
byte? short? char int? long? float? double
?
★當把級別低的變量的值賦給級別高的變量時,系統(tǒng)自動完成數(shù)據(jù)類型的轉(zhuǎn)換。例如:
??? float x=100;
?
★當把級別高的變量的值賦給級別低的變量時,必須使用顯示類型轉(zhuǎn)換運算。顯示轉(zhuǎn)換的格式:(類型名)要轉(zhuǎn)換的值;
? 例如
??? int x=(int)34.89;
?
★當把一個int型常量賦值給一個byte和short型變量時,不可以超出這些變量的取值范圍,否則必須進行類型轉(zhuǎn)換運算;例如,常量128的屬于int型常量,超出byte變量的取值范圍,如果賦值給byte型變量,必須進行byte類型轉(zhuǎn)換運算(將導致精度的損失),如下所示:
???? byte a=(byte)128;
?
★另外一個常見的錯誤就是把一個double型常量賦值給一個float型變量時沒有進行強制轉(zhuǎn)換,如下所示:
???? float x=12.4;
輸入和輸出數(shù)據(jù)
1、輸入數(shù)據(jù)
Scanner是JDK1.5新增的一個類,可以使用Scanner類創(chuàng)建一個對象:
Scanner reader=new Scanner(System.in);
reader對象調(diào)用下列方法,讀取用戶在命令行輸入的各種基本類型數(shù)據(jù):
nextBoolean()、nextByte()、 nextShort()、 nextInt()、 nextLong()、nextFloat()、nextDouble()。
上述方法執(zhí)行時都會堵塞,程序等待用戶在命令行輸入數(shù)據(jù)回車確認。
2、輸出數(shù)據(jù)
用System.out.println()或System.out.print()可輸出串值、表達式的值,二者的區(qū)別是前者輸出數(shù)據(jù)后換行,后者不換行。
允許使用并置符號:“+”將變量、表達式或一個常數(shù)值與一個字符串并置一起輸出,如:
System.out.println(m+"個數(shù)的和為"+sum);
System.out.println(“:”+123+“大于”+122)?
JDK1.5新增了和C語言中printf函數(shù)類似的數(shù)據(jù)輸出方法,該方法使用格式如下:
System.out.printf("格式控制部分",表達式1,表達式2,…表達式n)
格式控制部分由格式控制符號:%d、%c、%f、%s和普通的字符組成,普通字符原樣輸出。格式符號用來輸出表達式的值。
%d:輸出int類型數(shù)據(jù)值.
%c:輸出char型數(shù)據(jù).
%f:輸出浮點型數(shù)據(jù),小數(shù)部分最多保留6位.
%s:輸出字符串數(shù)據(jù)。
輸出數(shù)據(jù)時也可以控制數(shù)據(jù)在命令行的位置,例如:
%md:輸出的int型數(shù)據(jù)占m列? %m.nf:輸出的浮點型數(shù)據(jù)占m列,小數(shù)點保留n位。
電子發(fā)燒友App















評論