在面试中面试官往往会考察 char 类型的知识和随机数的知识,部分开发人员很容易就掉入了坑中,下面我们通过两个例子来讲解一下 char 和随机数中的坑。
我们先来看一下面试题: 请写出下面代码段的输出值,
System.out.println('a'+'b');
针对上面的这段代码,部分程序员一定会给出答案是:ab,答案真的是这样吗?我们不妨把这段代码运行起来看一下。
程序输出的结果很出乎意料,竟然是 195。那么为什么是这个结果呢?这是因为编译器在计算表达式的时候进行了拓宽原始类型转换,首先将两个 char 类型的操作数转变为了 int 类型,然后再进行求和计算,针对上题编译器会先将 a 和 b 分别转换为 97 和 98 ,然后再进行求和&#