java中的數(shù)據(jù)類型
我要詳細(xì)一點(diǎn)的介紹java中的數(shù)據(jù)類型分兩大類分別是基本類型和引用數(shù)據(jù)類型。
一、基本類型
1)Java中的數(shù)據(jù)類型有八種,即基本類型。具體如下:
數(shù)據(jù)類型 位數(shù) 取值范圍:
Boolean 1 True|False
Byte 8 -128~127
Short 16 -32768~32767
Int 32 -2e31~2e31-1
Long 64 -2e63~2e63-1
Float 32 略
Double 64 略
Char 16 0~65535
‘ /u0000’ ~’uFFFF‘
二、引用數(shù)據(jù)類型
1)定義一個(gè)byte變量 如:byte b= -256;
由于-256超出了’Byte’的取值范圍,所以要使程序不報(bào)錯(cuò),有一下幾種解決方法:
A:更改變量的數(shù)據(jù)類型(如:將byte改為int);
B:更改變量名的賦值,使其包括在變量的數(shù)據(jù)類型的值域內(nèi);
C:進(jìn)行強(qiáng)制轉(zhuǎn)換:如: byte b=(byte)-256:
‘進(jìn)行強(qiáng)制轉(zhuǎn)換后,雖然程序不在報(bào)錯(cuò),但是有可能會(huì)使原值的精度收到影響’
D:定義一個(gè)浮點(diǎn)類型數(shù)時(shí),記得要在數(shù)值的后面加上“f”或“F”。(如:Float f=10000.0f;)
E:若定義 Char c=a;定義 int n=c;則輸出的n值為“a“的ASCII值,即97。
2)引用數(shù)據(jù)類型的定義
A:對(duì)象都是引用數(shù)據(jù)類型
B:應(yīng)用類型使用NEW調(diào)用構(gòu)造方法進(jìn)行賦值
C:在Java中,除了基本數(shù)據(jù)類型以外,其余的全都屬于引用數(shù)據(jù)類型, 如:
a:API中的類,如String,F(xiàn)ile等;
b:數(shù)據(jù);
c:自定義的類,如Cars,Student
d:對(duì)象全部是引用數(shù)據(jù)類型。
擴(kuò)展資料
其他數(shù)據(jù)類型:
在java中,String本身也提供了很多的方法供我們使用:
獲取到指定索引位置的字符:char c = 字符串.charAt(索引位置);
獲取到指定索引位置的字符:char c = 字符串.charAt(索引位置);
獲取第一次出現(xiàn)在字符串中的字符:int index = 字符串.index('a');
獲取在字符串中字符的索引位置:int index = 字符串.index('a',1);
如果想比較兩個(gè)字符串是否相等:字符串.equeals(字符串);
判斷字符串是否為空:字符串.isEmpty();
獲取字符串的長度:字符串.length();
根據(jù)某一個(gè)條件,將字符串進(jìn)行分割:字符串.split("abc");
根據(jù)條件取出內(nèi)容:字符串.substring(開始位置,結(jié)束位置);
JAVA數(shù)據(jù)類型分基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。
基本數(shù)據(jù)類型
Java里面包含8個(gè)基本數(shù)據(jù)類型,分別是:
boolean、byte、char、short、int、float、douboe、long
byte 字節(jié)
byte是JAVA中最小的數(shù)據(jù)類型,它在內(nèi)存中占8位(8個(gè)bit),取值范圍從-128到127
賦值:byte I = 127
short 短整型
short類型在內(nèi)存中占2個(gè)字節(jié),取值范圍從 -32768到32767
賦值:short i = 32767;
char 字符型
char類型在內(nèi)存中占2個(gè)字節(jié)。表示一個(gè)字符,也可以使用ASCII碼范圍內(nèi)的值來給char型的變量賦值。由于字符在內(nèi)存中的取值不存在負(fù)數(shù)范圍,所有取值范圍從 0 到 65535
賦值:char i = ‘a(chǎn)’; 或者 char i = 97;
int 整型
int型在內(nèi)存中占4個(gè)字節(jié)。取值范圍從 -2147483648 到 2147483647
賦值:int i = 10;
float 單精度浮點(diǎn)型
float型在內(nèi)存中占4個(gè)字節(jié)。取值范圍從 -3.4E38 到 3.4E38
賦值:float i = 1.0f;
long 長整型
long型在內(nèi)存中占8個(gè)字節(jié)。取值范圍從 -9223372036854775808 到 9223372036854775807
double 雙精度浮點(diǎn)型
double 型在內(nèi)存中占8個(gè)字節(jié)。取值范圍從 -1.7E308 到 1.7E308
boolean 布爾型
boolean類型只有兩個(gè)值:true和false。
基本數(shù)據(jù)類型的相互轉(zhuǎn)換
轉(zhuǎn)型規(guī)則
JAVA中所有的數(shù)字變量都是有符號(hào)(正負(fù))的。
JAVA不允許類型的隨意轉(zhuǎn)換。只有數(shù)字變量可以進(jìn)行轉(zhuǎn)換,但是不能隨意。
帶有小數(shù)點(diǎn)的數(shù)字變量默認(rèn)都為double型。定義float型必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
所占字節(jié)數(shù)小的數(shù)字型變量賦值給所占字節(jié)數(shù)比它大的類型時(shí)不用強(qiáng)制類型轉(zhuǎn)換,此時(shí)是自動(dòng)轉(zhuǎn)型。
int型變量賦值給char型變量時(shí),JVM會(huì)以int型變量值到ASCII碼表中查找出所對(duì)應(yīng)的字符,再賦值給char型變量。反之也是。但是遵循第4條規(guī)則。
初始化簡單數(shù)據(jù)類型時(shí)要注意賦值的范圍,超出則會(huì)產(chǎn)生編譯錯(cuò)誤。
基本數(shù)據(jù)類型默認(rèn)初值
類型 初始值
boolean false
byte 0
char 0
short 0
int 0
float 0.0
double 0.0
long 0
基本數(shù)據(jù)類型默認(rèn)初值表
引用數(shù)據(jù)類型
JAVA中,非簡單數(shù)據(jù)類型的類型都是引用數(shù)據(jù)類型。
Java一共有8種基本數(shù)據(jù)類型(原始數(shù)據(jù)類型):
類型 存儲(chǔ)要求 范圍(包含) 默認(rèn)值 包裝類
整 int 4字節(jié)(32位) -231~ 231-1 0 Integer
數(shù) short 2字節(jié)(16位) -215~215-1 0 Short
類 long 8字節(jié)(64位) -263~263-1 0 Long
型 byte 1字節(jié)(8位) -27~27-1 0 Byte
浮點(diǎn) float 4字節(jié)(32位) -3.4e+38 ~ 3.4e+38 0.0f Float
類型 double 8字節(jié)(64位) -1.7e+308 ~ 1.7e+308 0 Double
字符 char 2字節(jié)(16位) u0000~uFFFF(‘’~‘?’) ‘0’ Character
(0~216-1(65535))
布爾 boolean 1/8字節(jié)(1位) true, false FALSE Boolean
java的基本數(shù)據(jù)類型有哪些
整數(shù)類型:
byte:字節(jié)占用 1字節(jié) 8位,用來表達(dá)最小的數(shù)據(jù)單位,儲(chǔ)存數(shù)據(jù)長度為 正負(fù) 127;
short:字節(jié)占用 2字節(jié) 16位,儲(chǔ)存數(shù)值長度為 -32768-32767
int:字節(jié)占用 4字節(jié) 32位,最為常用的整數(shù)類型,儲(chǔ)存長度為,-2^31-1~2^31 (21 億)
long:字節(jié)占用 8字節(jié) 64位,當(dāng)?shù)竭_(dá)int數(shù)值極限時(shí)使用,儲(chǔ)存長度為 看圖片:
浮點(diǎn)數(shù)類型:
float:單精度浮點(diǎn)型 32位 取值范圍 3.4e-38~3.4e-38
double:雙精度浮點(diǎn)型 64位 ,java中默認(rèn)的浮點(diǎn)類型 取值范圍 1.7e-308~1.7e-308
字符類型:
char:16位 ,java字符使用Unicode編碼;
布爾類型
boolean : true 真 和 false 假
引用數(shù)據(jù)類型:
類 class
接口 interface
數(shù)組
java基本數(shù)據(jù)類型就8種,記住就好了。除了這些都是引用型的了。
java四類八種基本數(shù)據(jù)類型
第一類:整型 byte short int long
第二類:浮點(diǎn)型 float double
第三類:邏輯型 boolean(它只有兩個(gè)值可取true false)
第四類:字符型 char
在棧中可以直接分配內(nèi)存的數(shù)據(jù)是基本數(shù)據(jù)類型。
引用數(shù)據(jù)類型:是數(shù)據(jù)的引用在棧中,但是他的對(duì)象在堆中。
要想學(xué)好Java必須知道各種數(shù)據(jù)的在內(nèi)存中存儲(chǔ)位置。 對(duì)內(nèi)存有了很好的了解,可以有助你分析程序。
字節(jié):
boolean 布爾型 1/8
byte 字節(jié)類型 1
char 字符型 2 一個(gè)字符能存儲(chǔ)一個(gè)中文漢字
short 短整型 2
int 整數(shù)類型 4
float 浮點(diǎn)類型(單精度) 4
long 長整形 8
double 雙精度類型(雙精度) 8
java中默認(rèn)的整數(shù)類型是int類型,如果要定義為float型,則要在數(shù)值后加上l或L;
默認(rèn)的浮點(diǎn)型也是雙精度浮點(diǎn),如果要定義為float型,則要在數(shù)值后加上f或F。
一個(gè)字節(jié)等于8位,一個(gè)字節(jié)等于256個(gè)數(shù),就是-128到127一共256。
kB就是kBytes Bytes就是“字節(jié)”的意思!
K就是千的意思,因?yàn)橛?jì)算機(jī)是通過二進(jìn)制來計(jì)算,10個(gè)1正好是1024
1111111111(二進(jìn)制)=1024(十進(jìn)制)
1Bytes(字節(jié))=8bit(比特)
一個(gè)英文字母或一個(gè)阿拉伯?dāng)?shù)字就是一個(gè)字符,占用一個(gè)字節(jié)
一個(gè)漢字就是兩個(gè)字符,占用兩個(gè)字節(jié)。
一般講大小是用Bytes,大寫的“B”,講網(wǎng)絡(luò)速率是用bit,注意是小寫的“b”。
例:一個(gè)文件有8MBytes
例:我下載文件的速率是256KB/s,即2Mbit,這通常就是我們寬帶上網(wǎng)的速率。
基本數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換
byte->short,char -> int -> long
float -> double
int -> float
long -> double
記住:小可轉(zhuǎn)大,大轉(zhuǎn)小會(huì)失去精度!!!
java的基本數(shù)據(jù)類型可以簡稱為“四類八種”:
1)四種整數(shù)類型(byte、short、int、long):整數(shù)數(shù)據(jù)類型默認(rèn)是int
2)兩種浮點(diǎn)數(shù)類型(float、double)
3)一種字符類型(char)
4)一種布爾類型(boolean):true 真 和 false 假
變量就是申請(qǐng)內(nèi)存來存儲(chǔ)值。也就是說,當(dāng)創(chuàng)建變量的時(shí)候,需要在內(nèi)存中申請(qǐng)空間。
內(nèi)存管理系統(tǒng)根據(jù)變量的類型為變量分配存儲(chǔ)空間,分配的空間只能用來儲(chǔ)存該類型數(shù)據(jù)。
布爾類型(boolean)、字節(jié)類型(byte)、短整型(short)、整形(int)、長整形(long)、字符型(char)、單精度浮點(diǎn)類型(float)、雙精度浮點(diǎn)類型(double)
java語言中,128位的文件hash值用什么數(shù)據(jù)類型存儲(chǔ)比較好?要求定長。
用16個(gè)字節(jié)的byte a[]=byte[16];
或者2個(gè)long存儲(chǔ),long a[]=new long[2];
用位運(yùn)算處理java的“有符號(hào)”
比如取有符號(hào)的byte,用容量大一級(jí)的short或int保存轉(zhuǎn)換后的無符號(hào)數(shù)據(jù);
byte b=-1;
short s=(short) b&0xff; //轉(zhuǎn)換成無符號(hào)
取long的最高字節(jié),(包括符號(hào)位在內(nèi))
long l=l>>>56;
數(shù)組行不
請(qǐng)問你是怎么解決的?我最近也遇到這個(gè)問題……
相關(guān)推薦:
身份證遺失如何辦理(公民身份證遺失如何補(bǔ)辦)
網(wǎng)貸逾期怎么處罰(網(wǎng)貸逾期會(huì)怎么樣會(huì)受到什么處罰)
離婚后如何遷戶口(離婚后戶口怎么遷出來)
房子拆遷和戶口有關(guān)嗎(拆遷和戶口本上所有人都有關(guān)嗎)
行政處罰包括哪些處罰(行政處罰的處罰有哪些種類)