JAVA中System.out.println和System.out.print有什么区别

java里常用的控制台输出语句有System.out.println和System.out.print

一:两者之间的区别如下:

1. 参数有区别:

System.out.println() 可以不写参数

System.out.print(参数) 参数不能为空.必须有

2.效果有区别

println :会在输出完信息后进行换行,产生一个新行

print: 不会产生新行

3.println更简洁, print更灵活

print可以后面跟"\n"来达到和println一样的效果

也可以跟"\t" 制表符, 等.

二:通过阅读java源代码来理解

System.out.println(字符串参数); 源代码如下


1

2

3

4

5

6

 public void println(String x) {

        synchronized (this) {

            print(x);//先调用print(x)来打印信息

            newLine();//然后换行

        }

    }

System.out.print(字符串参数); 源代码 如下


1

2

3

4

5

6

 public void print(String s) {

        if (s == null) {

            s = "null";

        }

        write(s);

    }

三注意事项: 虽然有略微的区别,但是两个方法经常一起搭配使用,更加灵活和方便.

四参考实例和注释

我们对数组元素进行输出时,往往并不希望每输出1个就换行1次,一般我们会在输出数组前换行,输出完毕后才再次换行.


1

2

3

4

5

6

7

8

9

10

public class OutDemo {

    public static void main(String[] args) {

        String[] name = {"tom","jack","jerry","lucy"};

        System.out.println("-------输出信息------");//输出完信息后换行

        for (int i = 0; i < name.length; i++) {

            System.out.print(name[i]+" ");//输出元素,并且追加1个空白,用于隔开元素

        }

        System.out.println("\n-------------------");// "\n"先输出换行,然后输出信息,最后再换行

    }

}

效果


1

2

3

-------输出信息------

tom jack jerry lucy 

-------------------

时间: 2025-01-03 15:52:43

JAVA中System.out.println和System.out.print有什么区别的相关文章

java中System.out.print()与System.out.println()与System.out.printf()的差别

System.out.print()与System.out.println()与System.out.printf()的差别 1.System.out.print(): 输出不换行,比如: System.out.print("a"); System.out.print("b"); 结果: ab 2.System.out.println():输出后换行,比如: System.out.println("a"); System.out.println(

关于System.out.println()与System.out.print(&quot;\n&quot;)的区别

这是在写junit测试的时候发现的. 1 import java.io.ByteArrayOutputStream; 2 import java.io.PrintStream; 3 4 public class Test { 5 public static void main(String[] args) { 6 PrintStream out=System.out; 7 ByteArrayOutputStream outContent = new ByteArrayOutputStream()

System.out.println()和System.out.write()的区别

这两个函数一个是System.out.write()输出字符流,System.out.println()是输出字节流,很简单.看下面这个程序就明白了. //import java.util.*; public class Test { public static void main(String[] args){ // Scanner in = new Scanner(System.in); int a = 65; System.out.write(a); System.out.println(

System.out.println与System.err.println的区别

public class Test2 { static { System.out.println("1"); } { System.out.println("2"); } public Test2() { System.out.println("3"); System.err.println("3"); } public static void main(String[] args) { new Test2(); } } Sy

Java中的Runnable、Callable、Future、FutureTask的区别与示例

Java中存在Runnable.Callable.Future.FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别. Runnable 其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值.然后使用某个线程去执行该runnable即可实现多线程,Thread类在调用start()函数后就是执行的是Runnable的run()函数.Runnable的声明如下

java中super的几种用法,与this的区别

1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位. class Base { Base() { System.out.println("Base"); } } public class Checket extends Base { Checket() { super();//调用父类的构造方法,一定要放在方法的首个语句 System.out.println("Checket"); } public static void main(Str

java中 HashMap和Hashtable,list、set和map 的区别

摘自: http://blog.chinaunix.net/uid-7374279-id-2057584.html HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许.HashMap把Hashtable的contains方法去掉了,改成contains

java 标准输出与标准错误 out与 err 区别 用法 联系 java中的out与err区别 System.out和System.err的区别 System.out.println和System.err.println的区别 Java重定向System.out和System.err

操作系统一般都有三个标准文件描述符:标准输入,标准输出,标准出错 这是操作系统的一种抽象表达 不同的语言需要有不同的具体表达方式,当然也不过是另一种包装抽象 比如c++的  cin cout cerr Java中则是的System.in,System.out,System.err 示例 输出结果: ---------------- ---------------- 可以看得出来: 运行多次  err的打印信息位置是不固定的 看下JDK文档:   /** * The "standard"

System.out.println()和System.err.println()

在一次笔试中遇到了一个System.err.println()的输出,之前没有见过,回来查一查,自己还是见识太短,来补充一下. 首先看一看jdk中 来一个简单的实验 第一次显示 第二次显示 1. 发现并不是顺序输出的,而且err输出不是抢在out之前,就是紧跟在之后,之间的换行没有作用了,这是为什么呢? 顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两个流,由于缓存原因导致输出顺序不同. 2.System.out.println   能重定向到别的输出流,这样的话你在屏幕上将