首页 新闻 会员 周边

java基础求解

0
[待解决问题]

//char m='a';
//char res1=m+1; 为什么会出错
// char res2='a'+1; 为什么没错

java小寇的主页 java小寇 | 菜鸟二级 | 园豆:202
提问于:2022-03-19 20:37
< >
分享
所有回答(4)
0

ASCII?

我要当程序源 | 园豆:202 (菜鸟二级) | 2022-03-20 09:04

不是 是java 基础中类型的基本关系

支持(0) 反对(0) java小寇 | 园豆:202 (菜鸟二级) | 2022-03-20 09:54
0

https://stackoverflow.com/questions/17124992/incrementing-char-type-in-java

talentzemin | 园豆:761 (小虾三级) | 2022-03-20 21:23
0

char在 Java 中存储为 2 字节的 unicode 值。因此,如果chr m = 'a',则表示a以 unicode 格式存储。在 unicode 格式中,每个字符都表示为一个整数。因此,res2='a'+1,它实际上增加了a打印的 unicode 值b。

愚生浅末 | 园豆:284 (菜鸟二级) | 2022-03-21 09:43
0

m是变量,'a'是常量,'a'+1在编译期间就能得到它的结果,类型转换是安全的的,m+1需要在运行期间才能得到结果,编译器会保险的认为返回int类型才是安全的,除非你自己强转。

韵小明 | 园豆:206 (菜鸟二级) | 2022-07-13 18:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册