1. 程式人生 > >java入門【五】java中的char型別

java入門【五】java中的char型別

char的初始化

 

char是Java中的保留字,與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode。不過8位的ASCII碼包含在Unicode中,是從0~127的。

 

但是English,Spanish,German, French根本不需要這麼表示,所以它們其實採用ASCII碼會更高效。這中間就存在一個權衡問題。

 

因為char是16位的,採取的Unicode的編碼方式,所以char就有以下的初始化方式:

 

//字元,可以是漢字,因為是Unicode編碼

char c = 'c';

 

//可以用整數賦值

char c = 十進位制數,八進位制數,十六進位制數等等;

//用字元的編碼值來初始化

char c = '\u數字';

 

 

 

關於char佔幾個位元組的問題

 

1.“位元組”是byte,“位”是bit ;

2.1 byte = 8 bit ;

char 在Java中是2個位元組。Java採用unicode,2個位元組(16位)來表示一個字元。

 

char型別賦值

 

char a = 'a';  //任意單個字元,加單引號。

char a = '中';//任意單箇中文字,加單引號。

char a = 111;//整數。0~65535。十進位制、八進位制、十六進位制均可。輸出字元編碼表中對應的字元。

注:char只能放單個字元。 

 

char運算

 

char型別是可以運算的因為char在ASCII等字元編碼表中有對應的數值。

在Java中,對char型別字元執行時,直接當做ASCII表對應的整數來對待。

 

示例:

char m = 'a';

char m = 'a' + 'b';   //char型別相加,提升為int型別,輸出對應的字元。

int m = 'a' + 'b';    ——結果是195。//195沒有超出int範圍,直接輸出195。

char m = 'a' + b;  ——會報錯。//因為b是一個賦值的變數。

char m = 197;     //輸出字元編碼表中對應的字元。

char m = '197';     ——會報錯。//因為有單引號,表示是字元,只允許放單個字元。

char m = 'a' + 1;  ——輸出結果是b。//提升為int,計算結果98對應的字元是b。

 

 

總結

 

用單引號''標識,只能放單個字元。

char + char,char + int——型別均提升為int,附值char變數後,輸出字元編碼表中對應的字元。

轉載於