Java 數據類型:
java 只有2中數據類型:基本數據類型:8種[布爾boolean,字符char,字節byte,短整形short,整形int,長整形long,單精度浮點float,雙精度浮點double]
引用數據類型:4種[類class,接口interface,數組array, 枚舉 enum]
詳細介紹:http://blog.csdn.net/mazhimazh/article/details/16799925
Java 對象賦值時注意別名問題(C在函數調用時會參數對象副本, 但是Java 在函數調用是傳遞的是對象引用,函數題內對對象的修改,直接影響函數體外的該對象)
++i 和i++的問題:
++i:前序遞增. i++:後序遞增
int i =1;
System.out.println(++i); 2 先加再傳值
System.out.println(i++); 1 先傳值再加1
關係運算符:
Integer n1 = new Integer(10);
Integer n2 = new Integer(10);
System.out.println(n1 == n2);
System.out.println(n1.equals(n2));
false
true
equals()的缺省行爲是拿references來比較,除非你在類中複寫equals(),否者就得不到你想要的結果。 上例子說明Integer 中複寫了 equals()方法;
位運算符:
&:同位都爲1時,結果爲1,否者結果爲0;
|:同位數只要有1,結果就位1,否者爲0;
^:異或:相同爲0, 不相同爲1。
位移運算符:
<<:左移運算符,低位補充0;
>>:有移運算符,高位看操作數正負判定補0 還是補1;
>>>:零擴展,不論原數是正是負,高位都補充0,注意下面的結果,不是簡單的負數改成正數;(C,C++中不存在)
如果 位移對象是char,byte,short,在位移操作前,其值都會變成int類型
Java 允許你將任意基本類型轉化爲另一個基本類型,但是boolean 除外。他不接受任何轉型操作。
Java 沒有sizeof():C的基本類型在不同的操作系統的長度是不一樣的,所以需要定義sizeof()函數,但是Java完全不需要,java 採用隔離操作系統的虛擬機實現,所以每個類型的大小在不同平臺上都是一樣的。
Math.random() 的輸出結果爲【0,1) 並不包括1;