int 在C和C++的占用2個字節,在java中4個字節
char在C和C+中占一個字節
Java中無論是漢字還是英文字母都是用
Unicode編碼來表示的,一個Unicode碼是16位,每字節是8位,所以一個Unicode碼占兩字節。但是英文字母比較特殊,源自於8位(1字節)的ASCII嗎,於是在Unicode碼僅使用了低8位(1字節)就可以表示,高8位的話不使用也無所謂。所以
char c='a';
System.out.println(c.getBytes().lenth()),得到的是1(字節)
但漢字就完整地使用了16位(2字節)的Unicode,所以
char c='中';
System.out.println(c.getBytes().lenth()),得到的是2(字節)