黑马程序员技术交流社区

标题: 小问题,求指点12 [打印本页]

作者: bushangkoukou    时间: 2013-5-14 15:56
标题: 小问题,求指点12
本帖最后由 刘胜寒 于 2013-5-18 03:23 编辑

1.                System.out.println(0);这代码和System.out.println(“0”);


2.               System.out.println("a="+x);//x是具体代码中的变量

            System.out.println("a="x);

以上两组的区别各是什么,小问题哈,小问题不容忽视哈~~~~
作者: eycrckag    时间: 2013-5-14 16:07
1打印的都是字符串。2system.oit.print("a="x)编译会失败
作者: 白磊    时间: 2013-5-14 16:11
1, System.out.println(0);这个输出0,但是这个是一个Integer类型的对象0;
      System.out.println(“0”);这个也是输出0,但是这个输出的是一个字符串类型的值。
2. System.out.println("a="+x);   如果这个x有多个,则这个x就是最小作用域下的那个
      System.out.println("a="x);    这个明显就是错的啊  ,不能这么写的
作者: eycrckag    时间: 2013-5-14 16:11
2缺少连接符
作者: 李志敏    时间: 2013-5-14 16:13
第一个 :前者是打印的int类型的0,后者是打印的一个字符串(0的双引号貌似你也写错了 应该是英文的双引号)
第二个:前者书写正确 后者书写错误,字符串与变量之间要有加号连接
作者: eycrckag    时间: 2013-5-14 16:13
第一个说的不准确,是自动装箱成Integer类型的打印出来的
作者: xuemeng    时间: 2013-5-14 17:02
本帖最后由 xuemeng 于 2013-5-14 17:05 编辑

System.out.println(0);这代码和System.out.println(“0”);  关于这句代码,其实你没必要深究, 因为等你学到IO之后你就明白了, 不过你既然问了我就解释一下把
System.out, 标准输出流, 它返回的是一个PrintStream 类型的对象, 而该对象 有一个方法名为println的重载方法,   
System.out.println(0),其实就是PrintStream类型的对象调用  void println(int x)的方法     这个代码可以这样拆分   PrintStream p = System.out;    p.println(0);
System.out.println("0), 其实是PrintStream类型的对象调用   void println(String x)的方法   这个代可以这样拆分   PrintStream p = System.out;    p.println("0");

System.out.println("a="+x),  这个是正确的, 为什么呢? 就目前来讲,你可以记个死的, 这个就是java语法规定的, 其实细究起来, 和上面一样  "a=" + x 其中 "a="是字符串, 在java中, "+" 在这里表示连接符, 在java中任何类型的数据和 String连接起来, 都会变成String类型, 而通过上面的分析 System.out返回的是一个PrintStream类型的对象, 该对象的println方法 其中一个就包含了 一个参数类型为string的方法, 所以也就是说, 你给println(String x)方法传递了一个String类型的参数, 那么当然正确啊!!
System.out.println("a="x) 这个是错的, println其实是一个方法, 既然是一个方法,那么我们肯定要传递参数进去, "a="x, 这个是什么类型的参数呢??   java中没有这种类型的变量吧, 所以就是错的,   而且就算如果真有, 也还要考虑是否有println()方法中是否有形参为这种类型的参数的方法!!
作者: 刘胜寒    时间: 2013-5-18 03:22
楼主我趁这黑夜给你结贴,希望楼主海涵。楼主问题解决了吧。。
作者: bushangkoukou    时间: 2013-5-18 20:39
刘胜寒 发表于 2013-5-18 03:22
楼主我趁这黑夜给你结贴,希望楼主海涵。楼主问题解决了吧。。

必须的哈~
作者: 刘胜寒    时间: 2013-5-19 11:22
bushangkoukou 发表于 2013-5-18 20:39
必须的哈~

那你不结贴,让我趁着夜幕,,给你结贴。节操何在
作者: bushangkoukou    时间: 2013-5-19 11:29
刘胜寒 发表于 2013-5-19 11:22
那你不结贴,让我趁着夜幕,,给你结贴。节操何在

哈哈,可以说是忘了吗,哈哈哈,真是个尽职的小斑竹
作者: muma    时间: 2014-3-22 23:05
1、中第一个输出时数字0;第二个输出字符串0   2、中第二个编译失败




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