class  TestPass
{
public static void main(String[] args) 
{

char ch0=2+'2';
char ch1=2+2;
char ch2='2'+'2';

System.out.println(ch0);
System.out.println(ch1);
System.out.println(ch2);

      
}
}运行结果如下:
4

d为什么会有这样的结果,分别解释一下。

解决方案 »

  1.   

    asc 码相加..        第一个就是 在 '2'的asc码上 再加2 就是'4'   以此类推..           第二个打印asc码的第四个.值
         
            第三个打印 '2'的asc码加上 '2' 的asc码值.. 
      

  2.   

    LS的也对的。
    然后告诉你
    System.out.println('2'+'2');
    这个的结果是100.
    在运算前会自动转化为ASCII码。
      

  3.   

    '2'的asc码是多少?System.out.println('2'+'2'); 
    这个的结果是100. ??
      

  4.   

    '2'的ascii吗是0x32,也就是3*16+2 =50
      

  5.   

    System.out.println('2'+'2'); 
    输出100
      

  6.   


    class  TestPass 

    public static void main(String[] args) 
    { char ch0=2+'2';   
    char ch1=2+2; 
    char ch2='2'+'2'; System.out.println(ch0); 
    System.out.println(ch1); 
    System.out.println(ch2);       


    进行字符运算的时候,字符会先被转换为整形,'2'的ASCII码是50
    cho = 2 + '2' ===>cho = 2 + 50 ===>cho =52('4'的ASCII码是52,所以打印出4)
    同理可得其它
      

  7.   

    char ch0=2+'2';   
    char ch1=2+2; 
    char ch2='2'+'2';
    这样看是感觉乱,你把字符换算成数值来看就清楚了
    char ch0=2+'2';   // char ch0 = 2 + 50;
    char ch1=2+2;     // char ch1 = 2 + 2;
    char ch2='2'+'2'; // char ch2 = 50 + 50;
      

  8.   

    char ch0=2+'2'; 
    char ch1=2+2; 
    char ch2='2'+'2'; System.out.println(ch0); 
    System.out.println(ch1); 
    System.out.println(ch2); 
    首先'2'是 2的ascii码  然后  +2 然后再转化为字符
    ascii->char
    打印的时候 就打印出字符了啊
      

  9.   

    第一个直接打印ASCII码值
    第二个打印ASCII码值的CHAR
    第三个也是直接打印ASCII码值
      

  10.   

    不要看成是整数或字符串计算
    看成ascii码值对应运算就可以了。
      

  11.   

    看成ascii码值对应运算就可以了
      

  12.   

    java认为字符运算都是Ascii码值的运算,需要输出字符
    时再进行相应的转换,可参考ASCII 码表
    Decimal Octal Hex Binary Value
    ...
    097 141 061 01100001 a
    098 142 062 01100010 b
    099 143 063 01100011 c
    100 144 064 01100100 d
    101 145 065 01100101 e
    ...
      

  13.   

    java认为字符运算都是Ascii码值的运算,需要输出字符
    时再进行相应的转换,可参考ASCII 码表
    Decimal Octal Hex Binary Value
    ...
    097 141 061 01100001 a
    098 142 062 01100010 b
    099 143 063 01100011 c
    100 144 064 01100100 d
    101 145 065 01100101 e
    ...
      

  14.   

    看了楼上的都晕了 怎么大家都在说ASCII码呢?怎么不是UNicode 码。 char ch0=2+'2'; '2'的unicode码是 50 (十进制数) 50+2 是52   52这个unicode码对应的字符是 4。   
    char ch1=2+2;      两个十进制数相加是4  而这个4 是一个unicode码 它所对应的字符是 就是楼主输出的那个 我打不出来 O(∩_∩)O哈哈~
    char ch2='2'+'2';  '2'的unicode码是 50(十进制数) 两个相加结果首先是十进制的100 这是个unicode码 它对赢的字符就是 d 
    给楼主几个 参考    '0' 字符0 (也就是数字0)  对应的unicode码是 48(十进制数)
                       'a' 字符a                对应的unicode码是  97(十进制数)
                       'A' 字符A                对应的unicode码是  65(十进制数)