//char m='a';
//char res1=m+1; 为什么会出错
// char res2='a'+1; 为什么没错
ASCII?
不是 是java 基础中类型的基本关系
https://stackoverflow.com/questions/17124992/incrementing-char-type-in-java
char在 Java 中存储为 2 字节的 unicode 值。因此,如果chr m = 'a',则表示a以 unicode 格式存储。在 unicode 格式中,每个字符都表示为一个整数。因此,res2='a'+1,它实际上增加了a打印的 unicode 值b。
m是变量,'a'是常量,'a'+1在编译期间就能得到它的结果,类型转换是安全的的,m+1需要在运行期间才能得到结果,编译器会保险的认为返回int类型才是安全的,除非你自己强转。