byte 是位元組資料型別 ,是有符號型的,佔1 個位元組,大小範圍為-128—127 。char 是字元資料型別 ,是無符號型的,佔1個位元組(unicode碼 。
下面用例項來比較一下二者的區別:
1.char是無符號型的,可以表示乙個整數,不能表示負數;而byte 是有符號型的,可以表示-128—127 的數。 例:
char c = (char) -3; // char不能識別負數,必須強制轉換否則報錯,即使強制轉換之後,也無法識別
byte d3 = 127; // 如果是byte d3 = 128;會報錯
byte d4 = -128; // 如果是byte d4 = -129;會報錯
2.char可以表中文字元,byte不可以。 例:
char e1 = '中', e2 = '國';
byte f= (byte) '中'; //必須強制轉換否則報錯
3. char、byte、int對於英文本元,可以相互轉化。 例:
byte g = 'b'; //b對應ascii是98
char h = (char) g;
char i = 85; //u對應ascii是85
int j = 'h'; //h對應ascii是104
system.out.println(g);
結果為: 98
char 與char 型別的區別
參考文章 char s 和 char s 的區別小結 char s1 hello char s2 hello 區別所在 char s1 的s1是指標變數,而指標是指向一塊記憶體區域,它指向的記憶體區域的大小可以隨時改變,但當指標指向常量字串時,它的內容是不可以被修改的,否則在執行時會報錯。char ...
char 與char 的區別
乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放,存放函式的引數值,區域性變數的值等。其操作方式類似於 資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os 注意它與資料 結構中的堆是兩回事,分配方式倒...
char 與 char 的區別
hello world 作為靜態字串實際上儲存在資料區,但寫程式的人不知道這個位址,而程式本身知道。當某一函式以 方式使用此靜態字串時,實際上相當於 char p 12 strcpy p,hello world p 12 是在棧裡臨時分配的。雖然p指向的內容是 hello world 但是這是複製品...