当前位置: 代码迷 >> J2SE >> java小程序中的奇怪有关问题
  详细解决方案

java小程序中的奇怪有关问题

热度:28   发布时间:2016-04-24 02:07:59.0
java小程序中的奇怪问题
package BangBean;

public class CastingNumbers {[code=Java][/code]
public static void main(String[] args){
double above=1.7,below=0.4;
System.out.println("above:"+above);
System.out.println("below:"+below);
System.out.println("(int)above:"+(int)above);
System.out.println("(int)below:"+(int)below);
System.out.println("(char)('a'+above):"+(char)('a'+above));
System.out.println("(char)('a'+below):"+(char)('a'+below));
}
}
打印的结果为:
above:1.7
below:0.4
(int)above:1
(int)below:0
(char)('a'+above):b
(char)('a'+below):a
为什么会打印出b呢?

------解决方案--------------------
System.out.println("(char)('a'+above):"+(char)('a'+above));
首先计算‘a’+above = 98.7
转为char为‘b’

------解决方案--------------------
探讨
System.out.println("(char)('a'+above):"+(char)('a'+above));
首先计算‘a’+above = 98.7
转为char为‘b’
  相关解决方案