int i  =   1;
char c  = '1';
System.out.println(i);//打印结果:1
System.out.println((char)c);//打印结果:1
System.out.println(c);//打印结果:1
我弄不明白 ,这是怎么回事!

解决方案 »

  1.   

    不知道哪地方不明白,println既可以识别int类型也能识别char类型,照原样输出就是了,结果没什么奇怪的
      

  2.   

    第一个打印,整数1,输出1,没错吧?你想他输出几?第二个,本来是个char,你再强转一次,他还是char,也没错吧??你强转成int试试.第三个,字符1,输出1,也没错吧..字符1和数字1是两回事..不是一个东西.
      

  3.   

    在你的程序中,如果你用System.out.println((int)c);这样才会输出49,因为你指定为int类型了
    如果你直接System.out.println('1');刚才说了,println方法的参数有char的形式,它就识别为char了,那就是1
      

  4.   

    在java中,byte ,short,Char他们在计算时都先转为Int型,在输出时,不同数据类型的数据调用各自的toString()方法,进行输出。我建议你去看下JDK ,查下相应的类的方法。
      

  5.   

    是哈。println()识别int 和char 可以直接输出。。又不象C,输出时还要指定类型。