java字符串基础,字符串相加

 public class Test {
    public static void main(String[] agrs){
        System.out.println('a' + 'b');
        System.out.println('a' + 4);
        System.out.println((char)('a' + 4));
    }
}

195
101
e
这是输出内容,为什么 ‘a’ + 'b' 不是 = ‘ab’
为什么 ‘a’+ 4 不是等于a4的字符串 不是说字符串跟数字相加会把数字转成字符串吗,求解。

字符串跟数字相加会把数字转成字符串吗
字符串是双引号,你这个是单引号,是字符(char)

System.out.println('a' + 'b');
是a的ascii + b的ascii,也就是97+98

单引号不是字符串,你要字符串相加需要使用双引号

单引号说明是两个字符相加,自然是数值相加
如果用双引号,就是字符串相加,自然就是字符拼接。。。。
基础的知识 啊。。。

单引号不是字符串,你要字符串相加需要使用双引号

byte,short,char,类型的数据在运算的时候都会自动转化成int类型.像'a'是char类型和4相加就会转换成int的,而char会转化成对应的ascii值.