java 定义char_JAVA数据类型中的char类型
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)題。
- 上一篇: 数值积分求解卫星轨道长(Python)
- 下一篇: 亿阳信通:不可表示的数