其實我認為語言語法之間是沒有可比性的!
但是因為額曾經學過C/C++,而今又學Java,有趙本山說的話:“知識都學雜了!”,所以我個人總結一下,望提醒自己!
Java | C++ |
double 要用%f; | double 要用%d |
布爾型:boolean; | 布爾型:bool |
字符型占2個字節,Unicode編碼格式 | 字符型占1個字節,Assci編碼格式 |
If , while,for 中進行真假判斷時只能使用邏輯表達式,不能用1和0數字來表示真假 |
可以用0和1來表示真假 |
如果你定義了有參的構造函數,則當你調用無參的構造函數時,必須自己定義無參的構造函數; | 不需要 |
java 中數組是引用類型,只能在堆中創建 | 數組可以在棧中創建 |
較長的整數后要加L,隱含為long類型 |
較長的整數不需要加L |
安全性高:當高級類型轉換為低級類型會報錯!例;想要將double轉換為float, float a=2.0f(F) |
|
取余時:被除數和除數可以是實數;但所得余數的正負只和被除數相同 |
|
Java中沒有指針:A a=new A(); | A *a=new A(); |
java中不行 | C和C++ 中枚舉類型enum是可以用0,1……來表示的 |
例:enum MyColor { red, green, blue };
MyColor m= red;//C或C++中定義枚舉類型新變量
MyColor m= MyColor.red;//java中定義枚舉類型新變量
C和C++的簡單區別:
C中沒有String引用類型,它是用字符數組表示,用‘\0’表字符結束;而C++和java中有String引用類型;
另外,C++中的String對象可以用s[i]進行操作,而Java中則不可以,需要轉換為char[]才行;