java里不是说char类型自动向int型转换吗?那为什么.. Java中的char型怎样转换成int型?

java\u91cc\u9762\u662f\u4e0d\u662fint\u4e0d\u80fd\u81ea\u52a8\u8f6c\u6362\u4e3achar?

\u4e0d\u80fd
\u56e0\u4e3achar
\u662f
16\u4f4d\u7684
int\u662f
32\u4f4d\u7684
\u4ed6\u4eec\u90fd\u5c5e\u4e8e\u6574\u5f62
\u6574\u5f62\u5305\u62ec
char
byte
int
long\u8fd9\u4e9b
\u9047\u5230\u8fd0\u7b97\u7684\u65f6\u5019byte,char
\u53ef\u4ee5\u81ea\u52a8\u8f6c\u6362\u6210int
\u800cint\u4e0d\u4f1a\u8f6c\u6362\u6210char
byte
,\u9664\u975e\u5f3a\u5236\u7c7b\u578b\u8f6c\u6362

1\u3001\u5b9a\u4e49char\u578b\u5b57\u7b26
char r = 'a';2\u3001\u901a\u8fc7int\u5f3a\u8f6c\u6210int
int k = (int)r;//\u5f3a\u8f6c\u6210int\u578b\uff0c\u5c31\u662f\u5b57\u7b26\u6240\u8868\u793a\u7684\u6570\u5b57\u503c

你首先要明白,在基本类型数据当中,强制类型转换只发生在int、long、float和double之间。比int类型低或就是int型的像byte型、short型、char型、int型之间的转换不不要强制类型转换,也不存在着运算优先级和类型转换的问题,这是java官方规定的,你无权修改。至于运算后的结果是否能够被左边的类型容纳,你在输入的时候就能知道。

char b = 'a'+18; //因为char本身在码表中可以用数字表示的,然后运算玩之后还是char,应该输出s 
//另外,如果下面定义就是错的了。
char a = 'a';
char b = a + 18; // 这样就是错的,因为JVM运算完后不知道结果是多少,所以会提示损失精度的错误,关于一个类型变量值的问题。


应该跟运算符优先级没有关系,
char b = 'a' + 18;的执行顺序应该是这样:
'a'+18先将'a'转成int类型的,即变成了97+18,
最后再隐式转换(char)(97+18),即获取结果为's'

这个不是这样理解的,等号两边存在等级关系,但是是不能比较的,等号左边b的类型是你在前面已经声明了的是不能变的,18是int类型,但是它表示的是unicode表中字符a往后的第18个位置所表示的字符,如果你在前面声明的b是int类型,那么等号左边就是int类型,如果右边不变,a就是97

  • Java涓璫har鑳芥帴鍙楁眽瀛楀悧?
    绛旓細鍙互鐨勶紝浣嗗彧鑳芥帴鏀朵竴涓眽瀛楋紝鍥犱负char绫诲瀷鍦↗AVA鐜涓彧鍗犱竴涓瓧鑺傦紝鑰JAVA涓殑姣忎竴涓眽瀛椾篃鏄崰涓涓瓧鑺傦紝鎵浠ュ彲浠ュ瓨鏀句竴涓眽瀛椼傚锛歝har Cha = '涓';
  • java涓璫har鐨勬暟鎹绫诲瀷
    绛旓細char绫诲瀷鏄寜鏁村瀷瀛樻斁鐨勶紝瀛樻斁鐨勬槸瀹冪殑ASCII鐮佸硷紝ASCII鏄8浣嶇殑锛屼粠0-128锛堝崄杩涘埗锛塡144 鏄寚ASCII鍊硷紙8杩涘埗锛夋槸144 瀵瑰簲鐨勬槸鈥榓鈥橽rn涔熶笉瀵癸紝鐢╘琛ㄧず杞Щ瀛楃鐨勬椂鍊欐槸涓涓猏鍚庨潰璺熶竴涓瓧绗︽瘮濡俓r 鎴栬匼n鍒嗗埆琛ㄧず鍥炶溅鍜屾崲琛屻傚悗闈袱涓牸寮忎篃涓嶅銆傛棦鐒跺瓧绗﹀彉閲忔槸鎸夋暣鍨嬪瓨鏀剧殑锛岄偅涔堝畠鐨勮绠楀氨鏄...
  • 闂竴涓java閲鐨char鍒板簳鏄粈涔
    绛旓細鍓嶉潰2涓97鏄緭鍏ョ殑2涓猘a鐨凙NSC缂栫爜锛岀揣鎺ョ潃灏辨槸13鍜10锛屽叾涓13浠g爜鍥炶溅锛10浠g爜鎹㈣ 涔熷氨鏄褰撹緭鍏ヤ竴涓瓧绗︿覆涔嬪悗鍥炶溅锛屽湪绯荤粺鐨勮緭鍏ョ紦鍐茬殑瀛楄妭鐮侀噷闈㈠氨浼氳嚜鍔ㄥ姞鍏13鍜10杩2涓彲浠ョО涓烘爣绀虹殑瀛楄妭鐮 杩欐牱鐪婰Z鐨勯棶棰樺氨鍙戠幇鍜屽彲浠ヨВ鍐充簡 銆佷负浠涔堣緭鍏鍜宎涔嬪悗涓嶈兘鍦ㄨ緭鍏ヤ簡锛岃緭鍏 + 鍥炶溅 + a 鍥炶溅...
  • Java鐨刢har绫诲瀷鍖呭惈鍝簺鏁版嵁?
    绛旓細鍦java涓殑char鍜宑璇█鐨char鏄涓嶅悓鐨勶紝瀹冩槸浣跨敤unicode缂栫爜鐨勶紝涔熷氨鏄粬鏄敤2涓8bit鏉ュ瓨鍌ㄧ殑銆倁nicode缂栫爜鏄寘鍚玜scii瀛楃闆嗙殑
  • 鍦java涓byte绫诲瀷涓轰粈涔堜笉鑳借嚜鍔ㄨ浆鎹负char绫诲瀷
    绛旓細Java涓byte銆乻hort銆char涓夌绫诲瀷鐨勪紭鍏堢骇鏄浉鍚岀殑锛岀浉鍚屼紭鍏堢骇涔嬮棿鏄笉鑳借繘琛岃嚜鍔ㄨ浆鎹㈢殑锛屽彧鑳藉皢浣庣被鍨嬭嚜鍔ㄨ浆鎹负楂樼被鍨嬶紝渚嬪锛屽彲浠ュ皢byte鑷姩杞崲涓篿nt绫诲瀷銆
  • Java涓殑char绫诲瀷
    绛旓細閫氳繃 ASCii 鐮佽繘琛屾瘮杈冦傛瘡涓瓧绗﹀搴斾竴涓猘scii鐮佸笺傝鑾峰緱瀛楃鐨刟scii鐮佸煎彧闇鎶char绫诲瀷杞寲鎴恑nt銆傛瘮濡 int asc = 'a';灏辫幏寰椾簡a鐨刟scii鍊笺傛垨鑰呯洿鎺ヤ袱瀛楃鐩告瘮锛('a'=='b')锛屽氨杩斿洖false銆傛澶栦篃鍙互鏌ヨ〃锛歨ttp://www.weste.net/tools/ASCII.asp ...
  • Java涓,char绫诲瀷搴旇鏄彧鑳芥斁涓涓嫳鏂囧瓧绗,浣嗗張鐭ラ亾涓枃浠h〃涓や釜鑻辨枃瀛...
    绛旓細java 涓 鐢ㄧ粺涓鐮 閮芥槸姣忎釜瀛楁瘝鍗犱簩瀛楄妭锛 涓枃涔熷崰浜屽瓧鑺 鎵浠ョ涓涓湁闂 鍔犱笂 cd 鏄瓧绗︿覆涓嶆槸瀛楃锛屾牸寮忎笂鏄庢樉閿欒銆
  • java涓string鍜char鐨勫尯鍒
    绛旓細char 涓哄瓧绗︾被鍨,杩欎釜娌¢敊 鑰宻tring 鍙兘鏄char绫诲瀷鐨涓涓鍣绫荤被鍨,瀹炰緥浜嗗畠浠ュ悗,瀹冨氨鏄竴涓鍣,鍙互鐢ㄥ畠鏉ヨ瀛楃.鎶妔tring 褰撲綔鏄瓧绗︿覆鍜屽瓧绗︿覆绫诲瀷閮芥槸涓嶅噯纭殑 鎵撲釜姣旀柟:string *p=new string("123456");鎰忔濅负瀹炰緥浜嗕竴涓瓧绗﹀鍣,瀹冮噷闈㈣鐨勪负"123456".姝ゆ椂p鐨勫艰窡瀹冮噷闈㈠瓧绗︿覆鐨勯鐨...
  • java涓璫har绫诲瀷鏄崰涓や釜瀛楄妭鐨!涔熷氨鏄瀹氫箟 char='A'鍏跺疄鏄崰涓や釜瀛楄妭...
    绛旓細char绫诲瀷鐨纭槸涓や釜瀛楄妭銆俫etBytes()鏂规硶鐨勫姛鑳芥槸浣跨敤绯荤粺榛樿瀛楃闆嗗瀛楃涓茶繘琛岀紪鐮侊紝杩斿洖瀛楄妭鏁扮粍銆備腑鏂囩郴缁熼粯璁BK缂栫爜銆侴BK鍏煎ASCII缂栫爜锛屽氨鏄锛127浠ュ唴鐨勫瓧绗﹀拰ASCII缂栫爜琛ㄤ竴鏍蜂竴鏍锋淮銆傘"AAA".getBytes()鎸夌収榛樿GBK缂栫爜杩斿洖鐨勫氨鏄暱搴︿负3瀛楄妭鐨勬暟缁勶紝鎵浠ラ暱搴︿负3銆"鍝堝搱鍝".getBytes()鎸夌収榛樿...
  • 扩展阅读:java windowbuilder ... java char类型的取值范围 ... nchar和char类型的区别 ... char对应java什么类型 ... java键盘输入char类型 ... star chart ... java的char类型怎么输入 ... char 类型怎么输出 ... java中char是什么数据类型 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网