黑马程序员技术交流社区

标题: 为什么这个代码不能通过编译? [打印本页]

作者: qq272936993    时间: 2014-11-13 20:59
标题: 为什么这个代码不能通过编译?
  1. public class StringLength {

  2.         public static void main(String[] args) {
  3.                 System.out.println("abc\u000a".length);
  4.         }
  5.        
  6. }
复制代码


出现错误:未结束字符串字面值


作者: Sxxjava    时间: 2014-11-13 21:42
本帖最后由 Sxxjava 于 2014-11-13 21:45 编辑

length后要加一对括号,而且\u000a是一个换行,换句话说,你那输出的代码就会变成:System.out.println("abc"
);
而本身println就会换行,所以我想是这个原因吧

作者: qq272936993    时间: 2014-11-13 21:55
Sxxjava 发表于 2014-11-13 21:42
length后要加一对括号,而且\u000a是一个换行,换句话说,你那输出的代码就会变成:System.out.println("abc"
) ...

我有点不明白,为什么编译的时候,就已经弄好换行了呢?
作者: Sxxjava    时间: 2014-11-13 22:01
这属于语法问题,编译的时候会检查的
作者: DamonZh    时间: 2014-11-13 22:05
.length是数组的用法,String应该是.length()吧




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