因爲有java基礎的,所以跳過了一些指導的章節,而且記錄的也不會很全面,僅僅是記錄下不足的java基礎。
一、
使用靜態導入可以使被導入類的靜態變量和靜態方法在當前類直接可見,使用這些靜態成員無需再給出他們的類名。
import static 包名.類名.靜態成員變量;
import static 包名.類名.靜態成員函數;
如下可以直接使用System的out變量:
import static java.lang.System.out;
@Test
public void test(){
out.println(Double.MIN_VALUE);
out.println(Float.MAX_VALUE);
}
二、
八進制的寫法是前綴0和後續的0-7,十六進制的寫法是前綴0x和後續的0-9或者字符a-f。
可以在常量的加上數據類型後綴指定數據類型:
long n1 = 100l;
long n2 = 100L;//兩者都是指定數據類型爲long其他的數據類型同理
三、
有幾個重要API記憶:
Integer.toBinaryString(int)//將int裝換爲二進制的字符串,同理的還有十進制和十六進制的。其他的包裝類也有類似方法。
Integer.paseInt(String str,int radix)//將某個String轉換爲int,並且可以指定進制轉換
以上的方法一定要注意一個exception:NumberFormatException,雖然不是強制需要加入的exception還是要注意。
四、
double和float數據類型在強制轉換的時候忽略尾部,如果需要四捨五入調用Math.round()方法
基本數據類型運算的時候默認運算結束後表示的數據爲位數長的數據,比如byte和int運算後結果爲int類型數據。
這裏有個重點記錄:char和int之間的運算,因爲char是Unicode存儲,所以它和int的計算是調用字符在編碼中的排序位置。
比如System.out.println('1'+1);輸出結果是50.
五、
==和equals,==的本質是比較兩個對象的引用是否相等,equals一般是重寫的方法接口,用於比較對象的內容是否相等,但是要注意,equals默認是比較兩個對象的引用,自己設計的時候記得重寫。
六、
有一點要注意,雖然Integer等包裝類和int之類的基本數據類型是自動拆裝包的,但是包裝類在數值爲-128到127之間是有個緩衝池。
Integer i = 11;
Integer j = 11;
System.out.println(i==j);
如果 i和j爲-128-127之間則i==j爲true,但是如果
Integer i = new Integer(11);
Integer j = new Integer(11);
i==j是永遠爲false