刚开始学JAVA。
看到一本书中有这样一段:
char c = (char)(Math.random() * 26 + 'a');
说可以随机产生字母。
不太明白啊
我知道Math.random() * 26 是产生一个[0,26)之间的double值,然后与‘a’进行字符串连接,根据运算符过载原理“如果将一个数值“加”到一个字串身上,会自动将那个数值(int,float等等)转换成字串,再进行连接。”
不是应该生成一个类似1.5a这样的字符串吗?
为什么是生成a~z之间的字母呢?
问题在哪里?请教!
谢谢各位。
明白了‘a’是char,不是string。
但是又有新的问题:
我查到说1—127兼容了ASCII码。是不是说如果如果1—127之间的数值强制转换为char时,会得到ASCII码对应的字母或其他?
那如果1~127之外的数值强制转换为char类型,会得到什么呢?