char fire=(char)(a+b);
这段代码是多余的,,不要也一样!~!

解决方案 »

  1.   

    因为a是整数类型的,要执行a+b,jvm会将b隐式转换为整数类型((int)b=51),所以a+b=6+51=57,输出57
      

  2.   

    class Hello 

    public static void main(String[] args) { 
    int a=6;
    char b='3';
    System.out.println(a+b);
    char fire=(char)(a+b);


    }   这段代码只要a+b不超过10的话运行结果为什么无缘无故的前面硬有个5????字符'3'的ASCII的值为51。System.out.println(a+b);这段代码是先将变量b转换成相应的ASCII值,然后再与a进行相加,结果为57.char fire=(char)(a+b);
    这段代码是将整型57强制转换成char字符类型,即将57的数值转换成相应对的ASCII的字符,即‘9’,所以显示结果如下:
    57
    9就是这个形式,你还没有明白吗???!!!!!!