A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 抽烟男孩 中级黑马   /  2013-3-31 17:41  /  2178 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 抽烟男孩 于 2013-4-2 08:53 编辑

经常用System.out.println()输出字符串,但有时字符串太长。里面的需要转义字符的地方太多,修改起来不方便。该如何是好啊

例如以下代码: public class printTest{
public static void main(String[] args){
  System.out.println("Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。
JAVA&ECLIPSE(8张)Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。
");
}
}


有什么方法可以解决呢?最好是可以使字符串中的特殊符号不用再转义就像html里面的免转义标签一样。

5 个回复

倒序浏览
可以在字符串中加上   \n  换行
回复 使用道具 举报
你可以试一试以下几个转义字符
1,/n  换行转义字符
2,/v  垂直制表
3,/t  水平制表
或者你可以考虑用多个输出语句
System.out.println()
回复 使用道具 举报
用转义字符
1,/n  换行
2,/v  垂直 四个空格
3,/t  水平四个空格
可以封装一个输出的方法,这样就不用每次都写System.out.println()
回复 使用道具 举报
放stringbuilder里 然后toString输出 不用转译字符 ....  不知道还有什么更高效的办法欢迎补充
代码亲测可运行
  1.         public static void main(String[] args) {
  2.                 // TODO Auto-generated method stub
  3.                 StringBuilder sb = new StringBuilder();
  4.                 sb.append("Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和"+
  5.                 "Java应用程序接口(Java API)。JAVA&ECLIPSE(8张)Java平台由Java虚拟机(Java"+
  6.                 " Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming "+
  7.                 "Interface,简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统"+
  8.                 "的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,"+
  9.                 "Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译"+
  10.                 "一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平"+
  11.                 "台基于Java1.4,最近版本为Java1.7。Java分为三个体系J2SE(Java2 Platform Standard Edition,"+
  12.                 "java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform "+
  13.                 "Micro Edition,java平台微型版)。");
  14.         System.out.println(sb.toString());
  15.         }
复制代码
回复 使用道具 举报
个人认为,楼上的方法可以有点改进,因为用+会在内存中自动创建String的,你将两个字符串连接,其实就是创建了加号左右字符串对象,然后连接后实际又创建了一个连接后的字符串。其实完全可以通过方法链连接:
  1. sb.append("Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。).
  2. append(JAVA&ECLIPSE(8张)Java平台由Java虚拟机(Java Virtual Machine,简称JVM)).
  3. append(和Java 应用编程接口(Application Programming Interface,简称API)构成。).
  4. append(Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。).
  5. append(在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。).
  6. append(Java平台已经嵌入了几乎所有的操作系统。).
  7. append(这样Java程序可以只编译一次,就可以在各种系统中运行。).
  8. append(Java应用编程接口已经从1.1x版发展到1.2版。).
  9. append(常用的Java平台基于Java1.4,最近版本为Java1.7。).
  10. append(Java分为三个体系J2SE(Java2 Platform Standard Edition,java平台标准版),).
  11. append(J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),).
  12. append(J2ME(Java 2 Platform Micro Edition,java平台微型版)。);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马