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