java字符打印输出ascii码为什么会这样?

为什么这样打印输出的是 a
         char c = 'a';
         System.out.println(c);

加一个int b = c;
打印输出的就是ascii码

        char c = 'a';
        int b=c;
        System.out.println(b);

正常情况下,char变量c就是字符'a',所以输出c就输出了'a',但是int b=c,整型变量b就被赋值了'a'所对应的ASCII码值,输出b自然就输出了ASCII码值

1)因为c变量是char,输出直接就是字符了
2)第二个你是定义了一个int整型,就是输出字符整型值,就是ascii
所以,你只需要把char改为int就可以了

 int c = 'a';
System.out.println(c);

因为函数重载。
System.out.println有很多重载,不同的重载结果不一样。
可以参考这里:
https://blog.csdn.net/PengZyi/article/details/117395614

img