JAVA ——數據類型與運算符

一、數據類型

在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運算符介紹

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