比較c語言和java的字元資料型別?2020-10-06 19:50:42

1。 資料型別:

共同點:資料型別決定了記憶體中儲存資料的型別及所需記憶體的大小。

都滿足自動型別轉換和強制型別轉換。

都透過定義變數來申請資料儲存空間,並透過變數名獲取或改變儲存的值。

常量是值不可變的變數,即不能重新賦值。

不同點:

Java:Java的資料型別可分為兩大類:

-基本資料型別:byte、short、int、long、double、float、boolean、char

-引用資料型別:類、介面、陣列、列舉、註解

變數與常量:

-常量有final關鍵字修飾。

基本資料型別引用:

-定義float型別時,賦值時一定要在浮點數後加f,否則自動視為double型別,且會編譯失敗。

-Java中當高精度賦值給低精度型別時,會編譯失敗,顯示不相容的型別。

-Java中字元型中字元對應的Unicode編碼。

-Java字元型佔兩個位元組。

C語言:C語言的資料型別可分為:

-基本資料型別:short int、int、long int、double、float、char、long longint(C99增加)、long double、bool(C99增加)、float_complex、double_complex、long long _complex

-列舉型別:enum

-空型別:void

-派生型別:指標型別(*)、陣列型別([])、結構體型別(struct)、共用體型別(union)、函式型別

變數與常量:

-常量由#define定義。

基本資料型別引用:

-C語言中定義浮點型不會出現類似問題。

-C語言中當高精度賦值給低精度型別時,會有精度缺失,但並不會造成編譯失敗。

-C語言中字元型中字元對應ASCII碼。

-C語言中字元型佔一個位元組。

2。 計算機內的儲存原理:

共同點:補碼是計算機用於規範計算的一種二進位制表示方式,由於計算機使用數值的第一位來表示資料的正負,例如:00000011表示+3,而10000011表示-3,這些非0數值在邏輯上的表示都是沒有問題的,這中表示方法稱為源碼錶示法。但是用00000000表示+0,而10000000表示-0,則出現邏輯上的偏差,即:+0 不等於 -0。為了解決這個問題,提出了補碼錶示法。

• 補碼的計算公式:

正數:原始碼、反碼和補碼都相同。

負數:補碼 = 反碼(符號位保持不變)+ 1

• 注意:

負數在計算補碼的時候,在原始碼取反的過程中要保留符號位不變,其他位取反,例如:10001010取反11110101(第一個1不變)。

不同點:

Java:先將編碼轉換為位元組碼檔案,再透過JVM虛擬機器轉換為二進位制碼,再儲存到計算機中,由計算機輸出內容。

C語言:直接將編碼轉換為二進位制碼,由計算機識別輸出。

3。 識別符號:

共同點:各種資料型別的定義都需要識別符號。

識別符號標準的比較:

Java:Java識別符號有如下命名規則:

1、識別符號由字母、數字、 “_”、 “$”組成,且首字母不能是數字;

2、不能把Java關鍵字作為識別符號;

3、識別符號沒有長度限制;

4、識別符號對大小寫敏感。

5、自定義識別符號最好取具有一定意義的字串,便於記憶和理解。

C語言:C語言識別符號有如下規則:

1、識別符號必須以字母a~z、 A~Z或下劃線開頭,後面可跟任意個(可為0)字元,這些字元可以是字母、下劃線和數字,其他字元不允許出現在識別符號中。

2、識別符號區分大小寫字母

3、識別符號的長度,c89規定31個字元以內,c99規定63個字元以內

4、C語言中的關鍵字,有特殊意義,不能作為識別符號

5、自定義識別符號最好取具有一定意義的字串,便於記憶和理解。

4。 運算子:

兩者運算子基本相同,如下:

算術運算子:+、-、*、/、%、++、- -

賦值運算子:=、+=、-=、*=、/=等等

位運算子:~、&、|、^

邏輯運算子:!、&&、||

關係運算符:>、<、>=、<=、= = 、!=

移位運算子>>、<<、>>>(無符號右移)

運算子優先順序:

• 運算子的優先順序從高到低的順序進行,優先順序相同的運算子按照事先約定的結合方向進行,運算子優先順序如下:

以上就是一些關於JAVA和C語言的比較,只是一些在基礎語法上的比較,其實無論是JAVA還是C語言,都是很接近人的語言的,使用者應當選擇合適自己,合適環境的語言,並且要學會抽象,學會注意細節,再加以理論上的理解和實際的一些操作便可以很好地運用了。