public class DataType {
/** 數據類型:
基本類型:4類8種
引用類型:類,接口,數組。
基本類型:
整數:占用的內存空間
byte1字節
01111111
10000000(1既表示符號位,又表示數值 -128)
short2字節
int4字節
long8字節
浮點數:
float4字節
double8字節
字符:
char2字節
布爾:
boolean未知。1字節
整數默認是int類型
浮點數默認是double類型
long類型的變量,要加l或者L。
float類型的變量,要加f或者F。
*/
public static void main(String[] args) {
//定義變量的格式:
//數據類型 變量名 = 初始化值;
//定義byte類型的變量
byte b = 1;
System.out.println(1);
System.out.println(b);
//定義short類型的變量
short s = 100;
System.out.println(s);
//定義int類型的變量
int i = 100000;
System.out.println(i);
//報錯
//int j = 2147483648;
//System.out.println(j);
//定義long類型的變量
long l = 2147483648L;
System.out.println(l);
//定義float類型的變量
float f = 12.34F;
System.out.println(f);
//定義double類型的變量
double d = 23.56;
System.out.println(d);
//定義char類型的變量
char ch = 'a';
System.out.println(ch);
//定義boolean類型的變量
boolean flag = true;
System.out.println(flag);
}
}
Java 的兩大數據類型:
內置數據類型
引用數據類型
內置數據類型
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。
byte:
byte 數據類型是8位、有符號的,以二進制補碼表示的整數;
最小值是 -128(-2^7);
最大值是 127(2^7-1);
默認值是 0;
byte 類型用在大型數組中節約空間,主要代替整數,因為 byte 變量占用的空間只有 int 類型的四分之一;
例子:byte a = 100,byte b = -50。
short:
short 數據類型是 16 位、有符號的以二進制補碼表示的整數
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
Short 數據類型也可以像 byte 那樣節省空間。一個short變量是int型變量所占空間的二分之一;
默認值是 0;
例子:short s = 1000,short r = -20000。
int:
int 數據類型是32位、有符號的以二進制補碼表示的整數;
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
一般地整型變量默認為 int 類型;
默認值是 0 ;
例子:int a = 100000, int b = -200000。
long:
long 數據類型是 64 位、有符號的以二進制補碼表示的整數;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
這種類型主要使用在需要比較大整數的系統上;
默認值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理論上不分大小寫,但是若寫成"l"容易與數字"1"混淆,不容易分辯。所以最好大寫。
float:
float 數據類型是單精度、32位、符合IEEE 754標准的浮點數;
float 在儲存大型浮點數組的時候可節省內存空間;
默認值是 0.0f;
浮點數不能用來表示精確的值,如貨幣;
例子:float f1 = 234.5f。
double:
double 數據類型是雙精度、64 位、符合IEEE 754標准的浮點數;
浮點數的默認類型為double類型;
double類型同樣不能表示精確的值,如貨幣;
默認值是 0.0d;
例子:double d1 = 123.4。
boolean:
boolean數據類型表示一位的信息;
只有兩個取值:true 和 false;
這種類型只作為一種標志來記錄 true/false 情況;
默認值是 false;
例子:boolean one = true。
char:
char類型是一個單一的 16 位 Unicode 字符;
最小值是 \u0000(即為0);
最大值是 \uffff(即為65,535);
char 數據類型可以儲存任何字符;
例子:char letter = 'A';。
Float和Double的最小值和最大值都是以科學記數法的形式輸出的,結尾的"E+數字"表示E之前的數字要乘以10的多少次方。比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。
實際上,JAVA中還存在另外一種基本類型void,它也有對應的包裝類 java.lang.Void,不過我們無法直接對它們進行操作。
public class DataType {
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
Java語言支持一些特殊的轉義字符序列。
符號
字符含義
\n
換行 (0x0a)
\r
回車 (0x0d)
\f
換頁符(0x0c)
\b
退格 (0x08)
\0
空字符 (0x20)
\s
字符串
\t
制表符
\"
雙引號
\'
單引號
\\
反斜杠
\ddd
八進制字符 (ddd)
\uxxxx
16進制Unicode字符 (xxxx)