黑马程序员技术交流社区

标题: 看看+的使用 [打印本页]

作者: demown    时间: 2014-4-22 19:48
标题: 看看+的使用
class io
{
  public static void main(String[] args)
{      
char a='你',b,c,d,e;
b='在';
c='哪';
d='里';
e='啊';
System.out.print(a+b+c+d+e);
}
}
打印结果是 123528
帮忙解析一下

作者: osully    时间: 2014-4-22 19:59
字符相加 那就得运算 ,运算 字符就自动查表 对应的值进行相加了
你要得到汉字 那就得字符串         System.out.print(""+a + b + c + d + e);
作者: yanzhendong    时间: 2014-4-22 20:02
+运算符不能对char类型的数据进行操作,但可以对String类型的数据进行操作,a+b+c+d+e实际上是将abcde转型成int 在做整数的加法运算,调用的是Print(int i)函数

QQ截图20140422200231.png (15.29 KB, 下载次数: 38)

QQ截图20140422200231.png

作者: demown    时间: 2014-4-22 20:50
yanzhendong 发表于 2014-4-22 20:02
+运算符不能对char类型的数据进行操作,但可以对String类型的数据进行操作,a+b+c+d+e实际上是将abcde转型 ...

那我要打印 应该如何打印呢 求解

作者: skill20    时间: 2014-4-22 21:22
在输出语句加上字符串就可以。如:
System.out.print( " " + a + b + c + d + e);
作者: 蔡先苼    时间: 2014-4-22 21:24
你这样写只能打印出对应汉字的ASCII码,因为输出的a+b+c+d+e的类型是字符串类型了,而定义的是字符类型,所以是这个结果,若是想得到汉字字符串的结果,可以把abcdeq全部定义成String类型的,这样结果就会是“你在哪里啊”。。
作者: 你为谁归来    时间: 2014-4-22 21:35
楼上说的都对的,但是你一定要想用个方法的话,也可以试试我的这个,结果能达到你要的,就是麻烦点!
  1. public class Iotest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 char a = '你', b, c, d, e;
  6.                 b = '在';
  7.                 c = '哪';
  8.                 d = '里';
  9.                 e = '啊';

  10.                 String str2 = String.valueOf(a);
  11.                 System.out.print(str2+b+c+d+e);
  12.         }
  13. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2