System.out.println(""+'a'+1);
输出是a1
为什么不是98呢?

解决方案 »

  1.   

    这样是变成字符串连接了
    可以改成(JDK 5。0)
    System.out.printf();括号内按C语言的格式了 
      

  2.   

    System.out.println(""+'a'+1);//因为你+了"",他先把他转化成了 字符串了System.out.println(""+('a'+1));
      

  3.   

    凡是这种带引号''或""的都将其认为是一个字符或字符串,+就编程字符拼接,实现数字相加必须是int这样型的int a = 5; 则a +1 = 6,'a' + 1 = a1
      

  4.   

    +可以作为加法运算符,也可以作为字符串连接符,根据你的运算数决定。
    ‘a’+ 1 = 98  "a"+1=a1
    字符型可以当成对应的ASCII编码的对应整数值对待。
    “只要是有字符串参与的"+" 都是字符串连接”
      

  5.   

    System.out.println(""+1+'a');
    试下,应该就是98
      

  6.   

    java中println的有趣特性,以string类型与其他类型连接,会把string类型以后的表达式后的变量转换为string然后再连接。可以通过加括号改变优先级。
    "" 属于string类型, 1属于int类型, 'a'属于char类型
    System.out.println(""+(1+'a'));
      

  7.   

    字符与数字相加时,先把字符转换成ascii码再与数字相加,即:'a'+1=97+1=98
      

  8.   

    System.out.println('a'+1);
    =========================--
      

  9.   

    "" 是字符串,'' 才是字符,才能与 int 数据相加,改成下面的就是 98 了。System.out.println("" + ('a' + 1));
      

  10.   

    java中println的有趣特性,以string类型与其他类型连接,会把string类型以后的表达式后的变量转换为string然后再连接。可以通过加括号改变优先级。 
    ""   属于string类型,   1属于int类型,   "a "属于char类型 
    System.out.println(""+(1+ "a "));
    ===================================================================
    "a"不是char类型,也是string型的,
    System.out.println(1 + 'a');//打印出98
    System.out.println(1 + "a");//打印出1a
      

  11.   

    + 是重写了的
    如果有字符串表示字符串连接
    并且整型1 也会调用toString()方法