- 基本數據類型:基本數據類型的數據只能保存單一的值,因此也被稱爲原始類型、或簡單類型
- Java中定義了四類/八種基本數據類型:
邏輯型—Boolean
文本型—char
整數型—byte、short、int、long
浮點型—float、double - 整形:整形數據用於保存整數的信息,Java提供了四種不同的整數類型,各有固定的表數範圍和字段長度,而不受具體操作系統的影響,以保證Java程序的可移植性
byte 1字節 -128~127
short 2字節 -2(15)~2(15)-1
int 4字節 -2(31)~2(31)-1
long 8字節 -2(63)~2(63)-1 - 整形常量表示:Java語言中整形常量中的三種表現形式:
十進制整數:如12,-89,0
八進制整數:要求以0開頭,如012
十六進制整數:要求0x或0X開頭,如0x12
Java語言的整數常量默認爲int型,聲明long型常量可以後加“l”或“L‘
public class test {
public static void main(String[] args) {
int a = 39;
int b = 0x4b;
int c = 021;
int d = a+0x12+012;
long m = 3L;
long n = m + 40;
System.out.println(a+" "+b+" "+c+" "+d+" "+m+" "+n);
}
}//運行結果: 39 75 17 67 3 43
- 浮點型常量表示
Java浮點類型常量有兩種表示形式
十進制—必須含有小數點,也可採用科學計數法表示,例如:3.65 0.12 .12 4.2e2 1.2E-3
十六進制—從JDK5.0開始引入,十六進制浮點數只能採用科學計數法表示,其格式爲:<0x/0X><十六進制尾數><p/P><以2爲底的指數>
例如:0x1.2p3,轉化爲十進制的計算方法爲:
0x1.2p3=(11+21/16)*3=9.0
Java浮點型常量默認爲double型,如要聲明float型常量,則需在數字後加f或F
double d = 3.14;
float f = 3.14f - 字符型:
基本類性:字節、字符、字符集、字符編碼。
Char型數據類型用來表示通常意義上的“字符“,Java語言採用16位Unicode編碼保存,c語言採用8位Unicode編碼保存.
字符常量的三種表示方法:
(1) 使用單引號括起來的單個字符:char c = ‘A’;
(2) 十六進制編碼:char c1 = ‘\u0061’;
(3) 使用轉義符:char c2 = ‘\n’; //換行 - 布爾類型:
Boolean類型數據用來表示只有兩種狀態的邏輯值,分別表示現實生活中的特定條件成立與否,通常用於邏輯運算和程序流程控制。
Boolean類型數據只允許取值true或false,不可以0或非0的整數替代true和flase。
public class test {
public static void main(String[] args) {
boolean b = true;
if(b == false){
System.out.println("haha");
}else{
System.out.println("hehe");
}
}
}
-
引用數據類型:Java中除八種基本數據類型以外,其他的數據類型統稱爲引用類型,具體包括:類、接口、數據、枚舉和註解類型。
引用類型數據以對象的形式存在。
引用類型變量的值是某個對象的句柄,而不是對象本身。
聲明引用類變量時,系統只爲該變量分配引用空間,並未創建一個具體的對象。
數組:有[ ] 例: String[] args -
引用數據類型:類、接口、數據、枚舉和註解類型。
引用數據類型可以用戶自定義
引用數據類型都爲對象
引用數據類型是引用的對象的句柄
創建引用數據類型只分配引用空間不去創建對象。
註明:使用引用數據類型時可以表述爲引用該對象的內存地址。 -
對象構造和初始化(1)
爲引用類型變量分配引用空間 :語句MyDate d1;
創建新對象—爲新對象分配內存空間,並進行屬性(實例變量)的默認初始化:語句d1 = new MyDate(8,8,2008); -
對象構造和初始化(2)
Java對象默認初始化規則
public class test {
public static void main(String[] args) {
int a;//基礎數據類型
//int e = a + 2; //錯誤,整形值爲默認初始化值時不能做運算
long b;
char c ;
float d;
double f;
Student student;//引用數據類型
//System.out.println("我是整形的默認初始化:"+a); //錯誤,
//System.out.println("我是整形的默認初始化:"+student); //錯誤,
}
}
//雖然數據類型都有默認初始化規則,但是在Java中引用變量時也必須對該變量進行初始化操作,否則會報未初始化錯誤。
12. 對象構造和初始化(3)
進行屬性的顯示初始化,顯示初始化取值來自於類的定義中屬性聲明部分。
語句:private int day = 17;
private int month = 2;
private int year = 2007;
說明:如果屬性在聲明時未指定缺省值,則在這個環節就不對其進行賦值操作。
初始化規則是在內存空間中使用的。
13. 對象構造和初始化(4)
執行構造方法體中的語句。
語句:
MyDate(int d, int m ,int y){
day = d;
month = m ;
year = y;
}
說明:此時新建對象和先前聲明的變量d1間還是沒有建立任何關聯。
有關聯:實例化後。
14. 對象構造和初始化(5)
爲引用類型表量賦值
語句:d1 = new MyDate(8,8,2008);
說明:此時變量d1保存的並不是新建對象封裝的具體信息、如屬性值等,而該是對象的句柄。