標籤:精度 size nic out blog 布爾類型 變數 最小值 注意
一、資料類型
1、基本類型(8種,又稱內建資料類型)。6種數字類型(byte,short,int,long,float,double),一種字元型(char),一種布爾類型(boolean)。
byte:
- byte資料類型是8位、有符號的,以二進位補碼錶示的整數;佔1個位元組;
- 最小值是-128(-2^7);
- 最大值是127(2^7-1);
- 預設值是0;
- byte類型用在大型數組中節約空間,主要代替整數,因為byte變數佔用的空間只有int類型的四分之一;
- 例子:byte a = 100,byte b = -50。
short:
- short資料類型是16位、有符號的以二進位補碼錶示的整數;佔2個位元組;
- 最小值是-32768(-2^15);
- 最大值是32767(2^15 - 1);
- Short資料類型也可以像byte那樣節省空間的。一個short變數是int型變數所佔空間的二分之一;
- 預設值是0;
- 例子:short s = 1000,short r = -20000。
int:
- int資料類型是32位、有符號的以二進位補碼錶示的整數;佔4個位元組;
- 最小值是-2,147,483,648(-2^31);
- 最大值是2,147,483,647(2^31 - 1);
- 一般地整型變數預設為int類型;
- 預設值是0;
- 例子:int a = 100000, int b = -200000。
long:
- long資料類型是64位、有符號的以二進位補碼錶示的整數;佔8個位元組;
- 最小值是-9,223,372,036,854,775,808(-2^63);
- 最大值是9,223,372,036,854,775,807(2^63 -1);
- 這種類型主要使用在需要比較大整數的系統上;
- 預設值是0L;必須在後面加“L”
- 例子: long a = 100000L,Long b = -200000L。
float:
- float資料類型是單精確度、32位、符合IEEE 754標準的浮點數;佔4個位元組;
- float在儲存大型浮點數組的時候可節省記憶體空間;
- 預設值是0.0f;必須在數字後面加“f”或“F”
- 浮點數不能用來表示精確的值,如貨幣;
- 例子:float f1 = 234.5f。
double:
- double資料類型是雙精確度、64位、符合IEEE 754標準的浮點數;佔8個位元組;
- 浮點數的預設類型為double類型;
- double類型同樣不能表示精確的值,如貨幣;
- 預設值是0.0d;
- 例子:double d1 = 123.4。
boolean:
- boolean資料類型表示一位的資訊;
- 只有兩個取值:true和false;
- 這種類型只作為一種標誌來記錄true/false情況;
- 預設值是false;
- 例子:boolean one = true。
char:
- char類型是一個單一的16位Unicode字元;佔2個位元組;前256個表示特殊字元;
- 最小值是’\u0000’(即為0);
- 最大值是’\uffff’(即為65,535);
- char資料類型可以儲存任何字元;
- 例子:char letter = ‘A’。
注意:整形預設值:int
浮點型預設值:double
執行個體:
說明:對於數實值型別的基本類型的取值範圍,我們無需強制去記憶,因為它們的值都已經以常量的形式定義在對應的封裝類中了。
public class PrimitiveTypeTest { public static void main(String[] args) { // byte System.out.println("基本類型:byte 二進位位元:" + Byte.SIZE); System.out.println("封裝類:java.lang.Byte"); System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); // short System.out.println("基本類型:short 二進位位元:" + Short.SIZE); System.out.println("封裝類:java.lang.Short"); System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE); System.out.println(); // int System.out.println("基本類型:int 二進位位元:" + Integer.SIZE); System.out.println("封裝類:java.lang.Integer"); System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE); System.out.println(); // long System.out.println("基本類型:long 二進位位元:" + Long.SIZE); System.out.println("封裝類:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); // float System.out.println("基本類型:float 二進位位元:" + Float.SIZE); System.out.println("封裝類:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE); System.out.println(); // double System.out.println("基本類型:double 二進位位元:" + Double.SIZE); System.out.println("封裝類:java.lang.Double"); System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); // char System.out.println("基本類型:char 二進位位元:" + Character.SIZE); System.out.println("封裝類:java.lang.Character"); // 以數值形式而不是字元形式將Character.MIN_VALUE輸出到控制台 System.out.println("最小值:Character.MIN_VALUE=" + (int) Character.MIN_VALUE); // 以數值形式而不是字元形式將Character.MAX_VALUE輸出到控制台 System.out.println("最大值:Character.MAX_VALUE=" + (int) Character.MAX_VALUE); } }
執行個體結果:
基本類型:byte 二進位位元:8封裝類:java.lang.Byte最小值:Byte.MIN_VALUE=-128最大值:Byte.MAX_VALUE=127基本類型:short 二進位位元:16封裝類:java.lang.Short最小值:Short.MIN_VALUE=-32768最大值:Short.MAX_VALUE=32767基本類型:int 二進位位元:32封裝類:java.lang.Integer最小值:Integer.MIN_VALUE=-2147483648最大值:Integer.MAX_VALUE=2147483647基本類型:long 二進位位元:64封裝類:java.lang.Long最小值:Long.MIN_VALUE=-9223372036854775808最大值:Long.MAX_VALUE=9223372036854775807基本類型:float 二進位位元:32封裝類:java.lang.Float最小值:Float.MIN_VALUE=1.4E-45最大值:Float.MAX_VALUE=3.4028235E38基本類型:double 二進位位元:64封裝類:java.lang.Double最小值:Double.MIN_VALUE=4.9E-324最大值:Double.MAX_VALUE=1.7976931348623157E308基本類型:char 二進位位元:16封裝類:java.lang.Character最小值:Character.MIN_VALUE=0最大值:Character.MAX_VALUE=65535
說明:“E+(-)數字”表示E之前的數字乘以10的“數字”次方
二、引用資料類型
參考型別指向一個對象,指向對象的變數是引用變數。這些變數在聲明時被指定為一個特定的類型,指向一個地址值,變數一旦聲明後,類型就不能被改變了。
- 對象、數組,介面都是引用資料類型。
- 所有參考型別的預設值都是null。
- 一個引用變數可以用來引用與任何與之相容的類型。
- 例子:Site site = new Site("Runoob")。
三、變數
資料類型 變數名 = 初始化值
eg;int a = 0;
四、常量
final 資料類型 常量名 = 初始化值
五、Java語言整型常量的四種表示形式:
二進位整數,0b或0B開頭,如:int a = 0B110;
十進位整數,如:int a = 17;
八進位整數,要求以0開頭,如 int a = 012;
十六進位整數,要求0X或0x開頭,如int a = 0x12;
六、資料類型轉換
顯示轉換: 容量小的類型自動轉換為容量大的類型,不需要用強轉符號
byte,short,char--->int--->long--->float--->double
eg:大容量 = 小容量
int a = ‘c’;
隱私轉換(強制轉換):容量大的強制轉換為容量小的,需要用強制符號,強制轉換會喪失精度
eg: 小容量 =(強制轉換)大容量
int a =(int)35.3;
java學習筆記----資料類型,變數,常量