Ⅰ java中char的用法
char在java中稱為「字元型」 佔2個位元組
字元常量是用單引號括起的一個字元 且字元常量在內存中存儲的是該字元在Unicode字元集中的排序位置,即整數
eg:char x='a'
內存x中存儲的是字元a在Unicode字元集中的排序位置97 因此允許將上面的語句寫成char x=97;
Ⅱ java中的char與C++中的char的區別
java的char是Unicode(UCS-2)編碼,所以是雙位元組的,C++中的wchar_t類似於此。C++里的char是指ASCII編碼的字元,就只有一個位元組了。
Ⅲ java中的「char」指的是什麼
char是Java中的保留字,表示一種數據類型。與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode編碼。不過8位的ASCII碼包含在Unicode編碼中,其值對應於0~127。
Ⅳ Java中char到底是多少位元組
java中的char佔2個位元組
1:「位元組」是byte,「位」是bit ;
2: 1 byte = 8 bit ;
char 在java中是2個位元組。java採用unicode,2個位元組(16位)來表示一個字元。
代碼如下:
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr="中";
charx='中';
byte[]bytes=null;
byte[]bytes1=null;
try{
bytes=str.getBytes("utf-8");
bytes1=charToByte(x);
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println("bytes大小:"+bytes.length);
System.out.println("bytes1大小:"+bytes1.length);
}
publicstaticbyte[]charToByte(charc){
byte[]b=newbyte[2];
b[0]=(byte)((c&0xFF00)>>8);
b[1]=(byte)(c&0xFF);
returnb;
}
}
結果如下:
bytes 大小:3
bytes1大小:2
Ⅳ java中 char='\0'表示哪種字元
java中,八進制轉義可以用\。
\0表示空字元。如cuichangyang66 舉的例子,因為c[3]--c[7]是沒有賦值的,為空,所以被替換成空格。(PS:貌似\0本來就會列印成空格)
\1表示1
\8會報錯。因為八進制只有0-7.
\9也會報錯,原因如上。
\10表示十進制的8.
public class Test {
public static void main(String[] args) {
int a=013;
char b='\13';
System.out.println(b==a);//結果true
}
}
Ⅵ Java中怎麼輸入一個字元(用char來定義)
1.先創建一個scanner對象
2.調用scanner對象的next()方法獲取控制台輸入,返回的是一個string類型,因為沒有nextchar()方法
3.調用string的charat(0)方法獲取第一個字元
scanner
sc
=
new
scanner(system.in);
string
s
=
sc.next();
char
c
=
s.charat(0);
Ⅶ char在java裡面是什麼意思
char是Java中的保留字,表示一種數據類型。與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode編碼。不過8位的ASCII碼包含在Unicode編碼中,其值對應於0~127。
Ⅷ 在java中如何輸入一個char型字元。
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
這樣即可獲取一個字元。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
這樣即可獲取一個字元
Ⅸ java char的用法
這是java編譯器的一個缺陷,
你不能使用 Unicode的換行,斜杠等字元,至於為什麼,舉個例子:
public static void main(String[] args) {
if ( false == true ) { //these characters are magic: \u000a\u007d\u007b
System.out.println("false is true!");
}
}
你可以運行上面的方法,會輸出 false is true!
java在編譯時會先將Unicode字元進行 呈現(或翻譯),然後再進行編譯 ,上面的方法會變成
public static void main(String[] args) {
if ( false == true ) { //these characters are magic:
}{
System.out.println("false is true!");
}
}
再來看你的代碼
char a='\U000d';
會變成:
char a='
';
這樣就會產生語法錯誤。
這就是原因了
下面的代碼是可以通過編譯的
char c=' ';\u000d;
可以這樣理解,代碼中的 Unicode並不能理解為單純的 字元或字元串,他們本身就是你的代碼
如:
System.out.println("Unicode print ");
這一行代碼你可以寫成
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0022\u0055\u006e\u0069\u0063\u006f\u0064\u0065\u0020\u0070\u0072\u0069\u006e\u0074\u0020\u0022\u0029\u003b\u0020
其實都是一樣的,只是書寫和查看都很不方便 。
建議不要在代碼中書寫Unicode形式的字元,很容易產生奇怪的錯誤,而且不方便查看和修改
Ⅹ char在JAVA編程裡面該如何應用
字元類型char是Java原語(也稱簡單或基本)數據類型之一。在Java中,字元不像其他計算機語言中那樣是8個二進制位的,它使用的是Unicode。Unicode定義了一個字元集合,該集合可以表示所有人類語言中的字元。因此,在Java中,char是一個無符號16位類型,取值范圍為0到65535。標準的8為ASCII字元集是Unicode的子集,其取值范圍為0到127。因此,ASCII字元依然是有效的Java字元。字元變數可以由一對單引號中的字元賦值。例如:class CharDemo{ public static void main(String[] args){ char ch; ch='A'; System.out.println("The char of ch is: "+ch); }}值得注意的是,Java中的char字元並非像C語言中char那樣可以進行算術運算,因為在Java中,char是無符號16為類型,對char變數進行算術運算是沒有意義的。但是,可以把0到65535范圍內的值賦給char變數。把上面的程序中「ch='A'」改為「ch=65」,列印出來的結果是一致的。