『壹』 char在java裡面是什麼意思
char 在java裡面表示一個16位的unicode的字元, 相當於c++裡面的 wchar_t 或者 TCHAR 類型。String 可以轉成char[], char[] 也可以轉成String, 比如:
String s = "......";
char[] cs = s.toCharArray();
String s2 = new String(cs);
『貳』 java char的用法
char在java中稱為「字元型」
佔2個位元組
字元常量是用單引號括起的一個字元
且字元常量在內存中存儲的是該字元在Unicode字元集中的排序位置,即整數
eg:char
x='a'
內存x中存儲的是字元a在Unicode字元集中的排序位置97
因此允許將上面的語句寫成char
x=97;
『叄』 Java中char能接受漢字嗎
可以的,但只能接收一個漢字,因為char類型在JAVA環境中只佔一個位元組,而JAVA中的每一個漢字也是佔一個位元組,所以可以存放一個漢字。
如:char
Cha
=
'中';
『肆』 Java語言中char和varchar有何區別
1、最大長度
char最大長度是255字元,varchar最大長度是65535個位元組。
2、定長
char是定長的,不足的部分用隱藏空格填充,varchar是不定長的。
3、空間使用
char會浪費空間,varchar會更加節省空間。
4、查找效率
char查找效率會很高,varchar查找效率會更低。
5、尾部空格
char插入時可省略,vaechar插入時不會省略,查找時省略。
『伍』 java中的「char」指的是什麼
char是Java中的保留抄字,表示一種數據類型。與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode編碼。不過8位的ASCII碼包含在Unicode編碼中,其值對應於0~127。
char初始化方式
char c='c'; //字元,可以是漢字,因為是Unicode編碼
char c=十進制數,八進制數,十六進制數等等; //可以用整數賦值
char c='\u數字'; //用字元的編碼值來初始化,如:char='\0',表示結束符,它的ascll碼是0,這句話的意思和 char c=0 是一個意思。
『陸』 java中char與String的區別
1、類型不同
char是字元類型, String是字元串類型。
2、包含
String字元串是用來包含串的, char是用來包含單字元的。
例如:
char a='1';//定義一個字元
String b="dadsa";//定義一個字元串
3、存儲
String內部用來存儲的結果是一個char字元數組。
private final char value[];//這是string中用來存儲值的結構。
4、定義
char 定義時用單引號 ,只能有一個字母數字。
String定義時用雙引號 ,可以是一個,或者多個字母或漢字等,就是所謂的字元串。
使用方法
1、char
#include<iostream>
using namespace std;
int main()
{
char* pstr = "hello world";
pstr = "aa";
pstr[1] = "a"; //報錯
cout<<pstr<<endl;
}
2、string的定義字元串
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str1;
str1= "hello world";
str1="aa";
str1[1]="a";
cout<<str1<<endl;
}
『柒』 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形式的字元,很容易產生奇怪的錯誤,而且不方便查看和修改
『捌』 在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);
這樣即可獲取一個字元