感言:JAVA是一種強類型語言,JAVA的安全性和健狀有部分來源與此,JAVA區分大小寫。定義資料的時候可以有兩種寫法。
(先聲明變量)<b>double</b> num11;
(不預先定義,直接上,學名叫“<b>動态初始化</b>”)<b>float</b>
num = (<b>float</b>)1.3666222222222222222222222;
也可以這樣<b>float</b> num =
1.3666222222222222222222222f;
num11 =
1.36662222222222222222222222222222222222222222
資料類型分基本類型和引用類型,基本類型無需NEW,隻要聲明就可以建立 int
data =
10,基本類型的運作速度快,是因為基本類型建立的并不是一個引用的“自動”變量,這個變量直接存儲“值”,并置于“堆棧”中(我在另一本關于虛拟機的書上看到的卻是說存在“寄存器”中,無論是在哪,肯定都比引用類型要高效是肯定的),JAVA中基本類型的存儲空間是固定不變的,見表。
引用類型需要用NEW來開創一個空間 new string
= "im new data",NEW将對象存于“堆”中
八大基本類型:
基本類型
最小值
大小
最大值
包裝器類型
預設值
boolena
-
-
Boolean
false
Char
Unicode 0
16-bit
Unicode 2(16次)-1
Character
‘\u0000’
Byte
-128
8 bits
+127
(byte)0
Short
-2(15次)
16 bits
+2(125次)-1
(short)0
Int
-2(31次)
32 bits
+2(31次)-1
Integer
Long
-2(63次)
64 bits
+2(63次)-1
0L
Float
Ieee754
0.0f
Double
0.0d
基本類型為什麼要有包裝類型,因為包裝類可以在堆中建立一個非基本對象,用來表示對應的基本類型。如下:
char c = 'x';
Character ch = new Character();
也可以這樣
Character ch = new Character('x');
1.5以上的自動拆裝箱功能可以直接:Character ch = 's';并可以反向轉換 char c = ch;
在實際的使用中,基本類型和包裝因型有什麼用呢?我一直想不太明白,後來總結了一下,大緻歸于下:
int
一般做為數值參數就夠了
integer
一般做類型轉換的時候用的較
基本類型和引用類型的差別還于作用域
{
int = 10;
}
變量的作用域隻可用于域結束之前
String s = new String("aaa");
引用S在作用域終點就消失了,然而,S指向的的string對象仍繼續占據記憶體空間。由NEW建立的對象,會一直存在下去,當然了,有垃圾回收器在監視的它,有必要的時候會把它删除。
(位元組型,寬度8)Byte,(短整型,寬度16)short,(整型,寬度32)int,(長整型,寬度64)long
細節:
1.
隻要整數表達式包含byte,short,int.整個表達式會被提升為int類型
2.
類型決定行為,決定系統怎麼去處理它,而不是大小。
(單精度,位寬32)Float(最多顯示小數點後7位),(雙精度,位寬64)double(最多顯示小數點後16位),
他們其實差不多,都可以表示小數但有一定差別
FLOAT的占用空間隻有DOUBLE的一半,當值很大或很小時,會變的不精确。
超越函數,如SIN(),COS()等,傳回都是DOUBLE
在JAVA中,CHAR是用來存儲字元資料的。用Unicode來表示字元。
CHAR和String的差別:
原始資料類型(也稱基本資料類型)(primitive data type):byte,short, char, int,
long,float,double,boolean. 一共8種
對象(也稱引用類型)(Object):8中除外的都是對象,包括數組。
顯然char屬于基本資料類型(即原始資料類型),string屬于對象
BOOLEAN的值隻有真假。它有一個特點,它可以控制條件表達式。也就是說可以寫成IF(true)
(不預先定義,直接上,學名叫“<b>動态初始化</b>”)<b>float</b> num =
(<b>float</b>)1.3666222222222222222222222;
5.變量
變量可以預先聲明,如:
int a,b;
也可以
int a =1,b=3;
也可以在程式中需要使用的時候進行動态聲明,從程式性能上來說,後期動态聲明更符合優化的目标。
變量聲明可以使用常量,當然也可以使用表達式。如 double a =
Math.sqrt(a*a+b*b);
6.數組
一:數組可以看成是多個相同類型的資料集合
二:數組變量屬于引用類型,數組也可以看成是對象,數組中的每一個元素相當于該對象的成員變量
三:
數組中的元素可以是任何資料類型,包括基本類型和引用類型。(除了基本類型以外,其它的全是引用類型)
建立一個數組 new type var[]