導航:首頁 > 編程語言 > javacharcchar

javacharcchar

發布時間:2022-10-06 20:00:19

『壹』 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與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編譯器的一個缺陷,
你不能使用 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 c =(char)(Math.random()*26+'a')

首先你要知道,random()產生的隨機數的范圍是0—1,乘以26之後這個范圍就擴大到0—26(這是按我們的需要人為將其擴大);
然後,你要搞清楚數字與字元之間的轉換關系以及運算時的原理,小寫字母的ASCII碼是97—122;
現在分析一下這行代碼具體是怎麼運行的:
首先,Math.random()*26產生了一個0—26之間的數,這個就不解釋了,開始已經提到了,然後這個數要與字元a做運算,可是字元怎麼能與數字運算呢?我們知道,字元在計算機中是以ASCII碼的形式存儲的(其實也就是數字),所以,前邊的運算,就是數字與數字的運算,表面上整型數字與字元的運算;
好了,現在運算關系搞清楚了,那麼,前面產生的0—26的隨機數加上一個a(也就是加上a的ASCII碼97),就對應到26個字母中了,這個可以這樣理解,比如產生的隨機數就是0,那麼0加97還是97,就是字母a,如果隨機數是1,那加上97就變成98,對應的字母就是b,以此類推,後邊都是一樣的;
最後再將這個運算後的數字強制轉換成字元就行了:
隨機數 a的ASCII 字元(ASCII)
0****************** 97*************** a(97)
1 ******************97 ******************b(98)
2 ******************97 ******************c(99)
後邊的就不寫了!

『陸』 Java中,char+c=『\\『,c輸出什麼,為什麼

char c = '\';

輸出:

在Java 中,\ 叫轉義字元,用來輸入不可見或特殊的字元,在java 中 就是特殊字元,需要轉義輸入。


Java 中還有其他轉義字元,例如雙引號(")

java 中字元串的賦值是String text = "hello"; 以雙引號開始,雙引號結束的字元串,輸出:hello。但是如果我想輸出:he"llo ,中間出現雙引號怎麼辦呢?可以:String text = "he"llo"; 錄入轉義字元"。


其他字元參見:Java 轉義字元表

『柒』 java中char占幾個位元組C和C++中char占幾個位元組

C/C++:
char始終都是一個位元組。Java:
因為是跨平台的,無論在哪裡字元是用Unicode編碼的,所以char是兩個位元組。

『捌』 java中如何輸入char型數據

java如果從控制端輸入char類型數據,可以使用scanner來掃描用戶輸入的字元,實例如下:

Scannerin=newScanner(System.in);
inttemp=in.nextInt();
charc=(char)temp;
System.out.println("thecis:"+c);

如果是輸出為char類型,可以通過轉義字元來替代,形如:/n、/d等。

『玖』 關於JAVA中char的用法不是很明白,為什麼c

char c='a'+1中'a'是字元型常量,1是數字常量。在編譯器編譯的時候,會自動合並,不會做類型轉換。在編譯階段就完成。
char c='a'+x中'a'是字元型常量,但x是變數,在編譯階段無法合並,只能在運行時編譯,運行時發現x是整型,'a'+x自動轉換成整型,無法直接賦值給char型。需要進行強轉。(char)('a'+x)

『拾』 在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);

這樣即可獲取一個字元

閱讀全文

與javacharcchar相關的資料

熱點內容
程序員用得到數字區嗎 瀏覽:174
python求商 瀏覽:477
ipad能用c語言編譯器嗎 瀏覽:561
軟泥解壓球最新版 瀏覽:998
4萬程序員辭職創業 瀏覽:759
thinkingphp 瀏覽:597
安卓相冊移動文件夾 瀏覽:6
耳朵清潔解壓聲控99的人都睡得著 瀏覽:205
叉車出租網站源碼 瀏覽:874
共享單車的app是什麼 瀏覽:408
不帶gui的伺服器什麼意思 瀏覽:373
金剛經及PDF 瀏覽:102
php中冒號 瀏覽:358
php5432 瀏覽:352
命令在哪使用 瀏覽:172
php獲取網頁元素 瀏覽:708
為什麼需要硬體驅動編譯 瀏覽:885
pm編程怎樣看導柱孔對不對稱 瀏覽:138
農業大學選課找不到伺服器怎麼辦 瀏覽:660
路由配置網關命令 瀏覽:935