一、數據類型
在C語言中我們已經知道的數據類型有
整型: short int long longlong
浮點型:float double
字符型:char
JAVA中沒有longlong類型,但是多了字符串類型、字節類型和布爾類型
字節類型 byte
字符串型 String
布爾類型 boolean
雖然數JAVA中這些數據類型和C都大同小異,但是由於JAVA虛擬機的存在,在JAVA中每個類型所佔的字節數是固定的
數據類型 | 所佔字節 |
---|---|
short | 2 |
int | 4 |
long | 8 |
float | 4 |
double | 8 |
char | 2 |
byte | 1 |
boolean | 1 |
JAVA中對於char型所佔內存做了調整,將其改變爲2個字節,那麼這與C中的char型數據有什麼不同呢?
我所瞭解到的是能表示得到數據範圍不同,相對於C中的char來說,JAVA中的char能表示的範圍更廣,
JAVA中的char | C中的char |
---|---|
\u0000~\uFFFF | -128~127 |
無符號 | 有符號 |
在JAVA中有byte字節類型,它所佔內存是1個字節,和C中的char所佔內存一樣大,那麼這兩個又有什麼區別或者聯繫呢?
我也有點懵,畢竟兩個表示的數據範圍一樣。
但是我個人認爲兩者是沒有關係的,畢竟一個是字節型,一個是字符型,能有什麼關係QAQ。
字符串類型
JAVA好用的一點包括他有字符串類型String,在表示一個字符串的時候不需要像C中定義一個字符數組,而且C中字符數組是以“/0”結尾的,一個不注意,就可能出錯。
那麼JAVA中如何定義一個字符串類型的數據呢?
目前我所掌握的有這麼幾種方法: String str1 = "hello"; //直接定義
String str2 = new String("World"); //通過new一個String實例定義
char[] tmp = {'a','b','c'};
String str3 = Arrays.toString(tmp);//通過字符數組來定義
在我看來呢,直接定義的這種方法最快速簡便,因爲它不僅好用,耗費的內存也是最少的
我們可以看到,這裏直接就在內存池裏創建了一個“hello”,然後將地址給引用str1
在看一下第二種方法是如何創建的:
相比於第一種方法,這種方法明顯耗費了內存空間
我們再來看一下第三種方法,這和第二種方法有“異曲同工”之妙,我個人認爲這種方法是最不可取的。
字符串類型的數據一般情況下也是不能隨便改變它的值得,但是有時候我們可以通過其他手段改變字符串數據的值,這個方法我還沒有掌握,就不和大家解釋了,只曉得好像是通過映射。
二、運算符
Java中的運算符和C中的並沒有什麼特別大的區別,想了解的話可以去我學C時寫的文章看看C運算符介紹。