結構化程序設計Chapter2

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章