摘要:數(shù)據(jù)類型結(jié)構(gòu)圖基本數(shù)據(jù)類型布爾值數(shù)值類型定點(diǎn)類型字符字節(jié)短整數(shù)整數(shù)長(zhǎng)整數(shù)浮點(diǎn)類型單精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)引用數(shù)據(jù)類型類或枚舉或接口數(shù)組基本數(shù)據(jù)類型由上圖可知,基本數(shù)據(jù)類型只有種。變量的變量一般有四個(gè)基本屬性變量名數(shù)據(jù)類型儲(chǔ)存單元變量值。
數(shù)據(jù)類型結(jié)構(gòu)圖
基本數(shù)據(jù)類型
布爾值 (true / false)
數(shù)值類型
定點(diǎn)類型
字符 char
字節(jié) byte
短整數(shù) short
整數(shù) int
長(zhǎng)整數(shù) long
浮點(diǎn)類型
單精度浮點(diǎn)數(shù)
雙精度浮點(diǎn)數(shù)
引用數(shù)據(jù)類型
類或枚舉或接口
數(shù)組
基本數(shù)據(jù)類型由上圖可知,java基本數(shù)據(jù)類型只有8種。即布爾值(boolean),字符(char),字節(jié)(byte),短整數(shù)(short),整數(shù)(int),長(zhǎng)整數(shù)(long),單精度浮點(diǎn)(float)、雙精度浮點(diǎn)(double)。
類型 | 占用位數(shù) | 數(shù)值范圍 | 初始值 | 標(biāo)準(zhǔn) |
---|---|---|---|---|
boolean | 8 | 只有true和false | false | |
char | 16 | 從"u0000"到"uFFFF",即0到65535 | "u0000" | ISO Unicode字符集 |
byte | 8 | 從-128到+127,即-2^7 - 2^7-1 | (byte)0 | |
short | 16 | -2^16 - 2^16-1 | (short)0 | |
int | 32 | -2^31 - 2^31-1 | 0 | |
long | 64 | -2^63 - 2^63-1 | 0L | |
float | 32 | 范圍不知道怎么算 | 0.0f | IEEE 754標(biāo)準(zhǔn) |
double | 64 | 范圍不知道怎么算 | 0.0d | IEEE 754標(biāo)準(zhǔn) |
java中,在書寫一個(gè)數(shù)組時(shí),可以用后綴標(biāo)示數(shù)據(jù)類型。例如
0L 長(zhǎng)整數(shù)類型的0 0.0f 代表單精度浮點(diǎn) 0.0d 代表雙精度浮點(diǎn)直接量
直接量通俗的講法就是這里顯式地表示基本數(shù)據(jù)類型數(shù)據(jù)、字符串值和空引用值的表達(dá)式,該表達(dá)式中沒(méi)有運(yùn)算符號(hào)。
直接量其實(shí)是與之前的基本數(shù)據(jù)類型是一一相關(guān)的。
只有true和false。
字符(char)直接量java采用的是ISO規(guī)定的Unicode字符集。每個(gè)字符占2個(gè)字節(jié),即16位。字符的寫法由4種:
采用整數(shù)直接量的寫法。該整數(shù)的取值范圍為0~65535
System.out.print((char)88); //輸出 X
用單引號(hào)括起來(lái)的單個(gè)字符。例如"h","奧"等。
用單引號(hào)括起來(lái)的Unicode字符。例如"u0061"等。用"u"引導(dǎo),后面接著4位16進(jìn)制
用單引號(hào)括起來(lái)的轉(zhuǎn)義字符。例如"t"表示制表符。
字節(jié)、短整數(shù)和整數(shù)的直接量三者的表示方式類似。僅僅是整數(shù)的范圍不一致。其可以有下列三種進(jìn)制。
十進(jìn)制。由+、-、0~9組成的整數(shù)形式。需要注意,除了整數(shù)0之外,其余整數(shù)的第一個(gè)數(shù)字不能是0,否者會(huì)被java理解成8進(jìn)制
八進(jìn)制。由數(shù)字0引導(dǎo),用+、-、0~9組成。
十六進(jìn)制。由0x或者0X引導(dǎo)。由+、-、數(shù)字0~9和字符a~f, A~F組成。
長(zhǎng)整數(shù)直接量與整數(shù)類似,但是需要在整數(shù)后直接加上L或者l。
單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)通常由+、-、十進(jìn)制消暑、指數(shù)再加上表示精度的后綴表示。
小數(shù)點(diǎn)前或后可以有一側(cè)沒(méi)有數(shù)字。
例如.02f, 2.f
例如:"Hello word"
null直接量標(biāo)示空的引用值,不指向任何對(duì)象。
變量java的變量一般有四個(gè)基本屬性:變量名、數(shù)據(jù)類型、儲(chǔ)存單元、變量值。
變量名和數(shù)據(jù)類型沒(méi)啥好說(shuō)的。
每一個(gè)變量都擁有一個(gè)存儲(chǔ)單元。存儲(chǔ)單元的大小由數(shù)據(jù)類型決定。在變量的純粗單元中存放的事該變量的變量值。
如果變量值的數(shù)據(jù)類型是基本數(shù)據(jù)類型,那么該變量的儲(chǔ)存的是具體的數(shù)值。
如果變量值的數(shù)據(jù)類型是引用數(shù)據(jù)類型,則在變量的存儲(chǔ)單元中存放的事引用值。引用值指向的是一個(gè)具體的變量。
java在使用一個(gè)變量之前,必須線定義該變量。
定義后需要對(duì)變量進(jìn)行初始化。
初始化之前,該變量的存儲(chǔ)單元中存放的內(nèi)容是該變量的初始值。引用類型的變量初始值是null。
各個(gè)數(shù)據(jù)類型在數(shù)據(jù)類型轉(zhuǎn)換中具有強(qiáng)弱關(guān)系。
byte < short -| |- < int < long < float < double char -|
這里的強(qiáng)弱其實(shí)是指哪個(gè)數(shù)據(jù)類型覆蓋的范圍更廣。
boolean 不能與其它數(shù)據(jù)類型進(jìn)行互相轉(zhuǎn)換。
弱類型可以通過(guò)直接賦值的方式,隱式地轉(zhuǎn)換為強(qiáng)類型。
例如 double x = 1;
強(qiáng)類型的數(shù)據(jù)可以轉(zhuǎn)化成弱類型的數(shù)據(jù)。這叫強(qiáng)制轉(zhuǎn)換。該轉(zhuǎn)換過(guò)程可能會(huì)伴隨著信息的丟失。
int i = (int)2.03
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/66379.html
摘要:本文參照深入了解虛擬機(jī)周志明,純粹做做筆記,寫寫自己覺(jué)得較為重要的內(nèi)容方便理解虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)如下程序計(jì)數(shù)器程序計(jì)數(shù)器寄存器是一塊較小的內(nèi)存空間,看做是當(dāng)前線程所執(zhí)行的字節(jié)碼的行指示器。異常情況也與虛擬機(jī)棧一致。 本文參照深入了解Java虛擬機(jī)-周志明,純粹做做筆記,寫寫自己覺(jué)得較為重要的內(nèi)容方便理解 Java虛擬機(jī)運(yùn)行時(shí)數(shù)據(jù)區(qū)如下: showImg(https://segmentf...
摘要:程序是寫給人讀的只是偶爾讓計(jì)算機(jī)執(zhí)行一下當(dāng)你剛剛組建一個(gè)團(tuán)隊(duì)時(shí)團(tuán)隊(duì)中的每個(gè)人都各自有一套編程習(xí)慣畢竟每個(gè)成員都有著不同的背景有些人可能來(lái)自某個(gè)皮包公司身兼數(shù)職在公司里面什么事都做還有些人會(huì)來(lái)自不同的團(tuán)隊(duì)對(duì)某種特定的做事風(fēng)格情有獨(dú)鐘或恨之入骨 程序是寫給人讀的,只是偶爾讓計(jì)算機(jī)執(zhí)行一下. Donald Knuth 當(dāng)你剛剛組建一個(gè)團(tuán)隊(duì)時(shí),團(tuán)隊(duì)中的每個(gè)人都各自有一套編程習(xí)慣.畢竟,...
摘要:此內(nèi)存區(qū)域是唯一一個(gè)在虛擬機(jī)規(guī)范中沒(méi)有規(guī)定任何情況的區(qū)域。其中位長(zhǎng)度的和類型的數(shù)據(jù)會(huì)占用個(gè)局部變量空間,其余數(shù)據(jù)類型只占用個(gè)。內(nèi)存區(qū)域異常線程請(qǐng)求棧深度大于虛擬機(jī)允許的深度,將拋出。上限控制異常直接內(nèi)存 showImg(https://segmentfault.com/img/bVbundc?w=800&h=559); 運(yùn)行時(shí)數(shù)據(jù)區(qū)域 程序計(jì)數(shù)器 線程正在執(zhí)行時(shí),如果執(zhí)行的是一個(gè)Jav...
摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過(guò)程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。堆虛擬機(jī)所管理的內(nèi)存中最大的一塊,堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記 1 概述 對(duì)于Java程序員來(lái)說(shuō),在虛擬機(jī)自動(dòng)內(nèi)存管理機(jī)制下,不再需要像C/C++程序開(kāi)發(fā)程序員這樣為內(nèi)一個(gè)new 操作去寫對(duì)應(yīng)的delete/...
摘要:深入理解虛擬機(jī)高級(jí)特性與最佳實(shí)踐第二版讀書筆記與常見(jiàn)面試題總結(jié)本節(jié)常見(jiàn)面試題介紹下內(nèi)存區(qū)域運(yùn)行時(shí)數(shù)據(jù)區(qū)。運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過(guò)程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記與常見(jiàn)面試題總結(jié) 本節(jié)常見(jiàn)面試題: 介紹下Java內(nèi)存區(qū)域(運(yùn)行時(shí)數(shù)據(jù)區(qū))。 對(duì)象的訪問(wèn)定位的兩種方式。 1 概述 對(duì)于Java...
閱讀 646·2021-09-22 10:02
閱讀 6410·2021-09-03 10:49
閱讀 571·2021-09-02 09:47
閱讀 2157·2019-08-30 15:53
閱讀 2936·2019-08-30 15:44
閱讀 908·2019-08-30 13:20
閱讀 1822·2019-08-29 16:32
閱讀 895·2019-08-29 12:46