Java 中的8種基本數據類型爲:boolean, byte, short, int, long, float, double, charjava
c++ 中的數據類型較多,且部分寫法有所區別:bool, short, int, long, float, double, charc++
Java 中的boolean, byte 一個字節, char,short 兩個字節, int, float 四個字節, long, double八個字節。函數
c++ 中,規定了最小尺寸,bool, char一個字節,int, short兩個字節,long 四個字節,規定了大數據類型不得小於小數據類型。好比long 所佔字節數不得小於int所佔字節數。大數據
在c++中,當有符號數跟無符號數相加的時候,有符號數會轉換爲無符號數,因此在c++中有符號和無符號相加也許是出現異常。指針
Java中,若是變量在類中,那麼建立對象的時候,會爲其賦與默認值。code
c++的變量若是在函數外定義,未賦值,也會被賦予默認值。可是在函數內的話,值取決於內存的位置。對象
public class Learn{ public static void main(String[] args) { Test test = new Test(); System.out.println(test.a); } } class Test{ int a; } //輸出 //0
int b; int main() { int a; cout << b << endl; cout << a << endl; } // 輸出 //0 //4354430
int main() { int a{1}; int b = 2; int c = {3}; int d(4); cout << a << endl; cout << b << endl; cout << c << endl; cout << d << endl; }
引用是對對象的綁定,一旦綁定後就不容許進行修改。因此必定須要對引用進行初始化操做。內存
int a = 1; int &b = a;
指針是一個對象,因此能夠不對其進行賦值初始化操做。指針能夠進行屢次賦值操做。若是想爲空指針,能夠有下面的幾種方式:編譯器
int *p = 0; int *p = NULL; int *p = nullptr;