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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘朋朋 黑马帝   /  2011-10-7 17:53  /  3846 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘朋朋 于 2011-10-7 17:53 编辑

他们的功能是一样的吧?但是又有什么差异呢?

8 个回复

倒序浏览
要看在什么操作系统上执行了。
linux或unix系统,效果相同。而Window系统,是不同的,window的是System.out.println()和System.out.print("\r\n")一样,一般可以通过String str = System.getProperty("line.separator");来获得这个行尾结束字符串
回复 使用道具 举报
LS的,谢谢了~~~~~~{:soso_e189:}
回复 使用道具 举报
你可以调试一下,效果是一样啊!
查文档:println
public void println()通过写入行分隔符字符串终止当前行。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 ('\n')。
查看源码:
/**
     * Terminates the current line by writing the line separator string.  The
     * line separator string is defined by the system property
     * <code>line.separator</code>, and is not necessarily a single newline
     * character (<code>'\n'</code>).
     */
    public void println() {
        newLine();
    }

自己去体验下!

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1 赞一个!

查看全部评分

回复 使用道具 举报
刘朋朋 发表于 2011-10-7 18:00
LS的,谢谢了~~~~~~

客气啥,都是兄弟。
回复 使用道具 举报
System.out.println()中的println方法的原始代码如下:
public void println(String x) {
        synchronized (this) {
            print(x);
            newLine();
        }
从中可以看出有newLine()方法,此方法可以在打印完行后自动换行。
而System.out.pirnt()中的方法print()的源码如下:
public void print(String s) {
        if (s == null) {
            s = "null";
        }
        write(s);
    }
从中可以看出没有换行方法,但由于操作系统知道"\n"表示的是换行,所以System.out.print("\n")也可以换行。

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2 赞一个!

查看全部评分

回复 使用道具 举报
陈晓东 黑马帝 2011-10-8 01:01:13
7#
System.out.println()是根据系统自动选择换行符且println()源代码有{newline()}这样一句。 这个意思就是换行。在BufferReader类中也有一个这样的方法newLine
public void newLine()
             throws IOException写入一个行分隔符。行分隔符字符串由系统属性 line.separator 定义,并且不一定是单个新行 ('\n') 符。

System.out.print("\n")需要根据系统手动输入换行符。windos系统是"\r\n"  Linux系统是"\n"。

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黄新灵 黑马帝 2011-10-8 11:03:41
8#
String str = System.getProperty("line.separator");
System.out.println()==System.out.print(str)
回复 使用道具 举报
李文肖 黑马帝 2011-10-8 11:10:09
9#
System.out.println()功能是输出并换行;
System.out.print()功能是输出但不换行.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马