日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java 定义char_JAVA数据类型中的char类型

發(fā)布時(shí)間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 定义char_JAVA数据类型中的char类型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、JAVA中,char占2字節(jié),16位。可在存放漢字

2、char賦值

char a='a'; //任意單個(gè)字符,加單引號(hào)。

char a='中';//任意單個(gè)中文字,加單引號(hào)。

char a=111;//整數(shù)。0~65535。十進(jìn)制、八進(jìn)制、十六進(jìn)制均可。輸出字符編碼表中對(duì)應(yīng)的字符。

注:只能放單個(gè)字符。

3、char運(yùn)算

char類型是可以運(yùn)算的因?yàn)閏har在ASCII等字符編碼表中有對(duì)應(yīng)的數(shù)值。

在JAVA中,對(duì)char類型字符運(yùn)行時(shí),直接當(dāng)做ASCII表對(duì)應(yīng)的整數(shù)來(lái)對(duì)待。

示例1:

char m='a';  ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->a

char m='a'+'b';  ? ? ? ? ? ? ? ? ? ? ? ? -->?? ? ? ? ? ? //char類型相加,提升為int類型,輸出對(duì)應(yīng)的字符(a和b分別對(duì)應(yīng)

的數(shù)值為97和98,相加等于195,其對(duì)應(yīng)的字符為 ?)。

int m='a'+'b';  ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->195? ? ? ? //195沒(méi)有超出int范圍,直接輸出195。

char m=197;  ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->?? ? ? ? ? ? //輸出字符編碼表中對(duì)應(yīng)的字符。

char m='197;  ? ? ? ? ? ? ? ? ? ? ? ? ? -->報(bào)錯(cuò)? ? ? ?//因?yàn)橛袉我?hào),表示是字符,只允許放單個(gè)字符。

char m='a'+1;  ? ? ? ? ? ? ? ? ? ? ? ? ?-->b? ? ? ? ? ? ?//提升為int,計(jì)算結(jié)果98對(duì)應(yīng)的字符是b。

char m='中'+'國(guó)'; ? ? ? ? ? ? ? ? ? ?  -->42282

char m='中'+'國(guó)'+'國(guó)'+'國(guó)'; ? ? ? ? ?-->報(bào)錯(cuò)? ? ? ? ?//int轉(zhuǎn)char有損失。因?yàn)榻Y(jié)果已經(jīng)超出char類型的范圍。

int m='中'+'國(guó)'+'國(guó)'+'國(guó)'; ? ? ? ? ? -->86820

char m='中'+1;  ? ? ? ? ? ? ? ? ? ? ? ?-->丮? ? ? ? ? ? //1是int,結(jié)果提升為int,輸出對(duì)應(yīng)的字符。

char m='中'+"國(guó)"; ? ? ? ? ? ? ? ? ? ? ? -->報(bào)錯(cuò)? ? ? ? ?//String無(wú)法轉(zhuǎn)換為char。

System.out.println('中'+"國(guó)");  -->中國(guó)? ? ? ? ?//沒(méi)有變量附值的過(guò)程。String與任何字符用“+”相連,轉(zhuǎn)換為String。

示例2:

char a = 97;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->為char類型變量 a 賦值常量值 97。

char b = 'a'+3;? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->d? ? ? ? ? ? ? ?// 97+3=100,ASCII對(duì)應(yīng)的字符為 d。

char c = a+3;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-->報(bào)錯(cuò)? ? ? ? //無(wú)法從int類型轉(zhuǎn)換為char類型,接下來(lái)讓我們了解下為什么會(huì)不

能這樣運(yùn)算:

首先,我們先知道在jvm內(nèi)存機(jī)制中,char類型數(shù)據(jù)運(yùn)算是將字符在ASCII表對(duì)應(yīng)的整數(shù)以int類型參與運(yùn)算(可以認(rèn)為' a '=97),常量(97)與常量(3)運(yùn)算得到一個(gè)新的常量(100),常量賦值給變量(b),不存在強(qiáng)制轉(zhuǎn)換,只要這個(gè)接受變量(b)的類型范圍大于這個(gè)常量即可。而變量聲明時(shí)需要定義數(shù)據(jù)類型(例:char a),內(nèi)存就為這個(gè)變量劃分一個(gè)char類型大小的空間,其中變量(a)的值是可變的,而常量(3)的值是不變的,兩個(gè)運(yùn)算得到的還是一個(gè)變量,本例中(a+3)是int類型的變量,而int類型變量(a+3)賦值給char類型變量(c)需要強(qiáng)制轉(zhuǎn)換,因此會(huì)報(bào)錯(cuò)。

char c=(char)(a+3);? ? ? ? ? ? ? ? ? ?-->d

總結(jié):

用單引號(hào)' '標(biāo)識(shí),只能放單個(gè)字符。

char+char,char+int——類型均提升為int,附值char變量后,輸出字符編碼表中對(duì)應(yīng)的字符。

總結(jié)

以上是生活随笔為你收集整理的java 定义char_JAVA数据类型中的char类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。