System.out.println in Java

28 Nov, 2019
Java System.out.println() is used to print an argument that is passed to it. The statement can be broken into 3 parts which can be understood separately as:
System: It is a final class defined in the java.lang package.out: This is an instance of PrintStream type, which is a public and static member field of the System class.println(): As all instances of PrintStream class have a public method println(), hence we can invoke the same on out as well. This is an upgraded version of print(). It prints any argument passed to it and adds a new line to the output. We can assume that System.out represents the Standard Output Stream.
System: It is a final class defined in the java.lang package.
out: This is an instance of PrintStream type, which is a public and static member field of the System class.
println(): As all instances of PrintStream class have a public method println(), hence we can invoke the same on out as well. This is an upgraded version of print(). It prints any argument passed to it and adds a new line to the output. We can assume that System.out represents the Standard Output Stream.
Syntax:
System.out.println(parameter)
Parameters: The parameter might be anything that the user wishes to print on the output screen.
Example 1:
// Java code to illustrate// System.out.println();  import java.io.*;  class GFG {    public static void main(String[] args)    {        System.out.println("Welcome");        System.out.println("To");        System.out.println("GeeksforGeeks");    }}
Welcome
To
GeeksforGeeks

Example 2:
// Java code to illustrate// System.out.println();  import java.io.*;  class GFG {    public static void main(String[] args)    {          // Declaring variable        int num1 = 10, num2 = 20, sum;          // Printing the variables        System.out.print("The addition of ");        System.out.println(            num1 + " and " + num2 + " is:");          // Printing the result after operation        System.out.println(num1 + num2);    }}
The addition of 10 and 20 is:
30

Just like System.out, Java provides us with two other standard or default input-output streams:
System.in: This is the standard input stream that is used to read characters from the keyboard or any other standard input device.Example:InputStreamReader inp = new InputStreamReader(System.in);
System.err: This is the standard error stream that is used to output all the error data that a program might throw, on a computer screen or any standard output device.Example:System.err.print("Error");

System.in: This is the standard input stream that is used to read characters from the keyboard or any other standard input device.Example:InputStreamReader inp = new InputStreamReader(System.in);

InputStreamReader inp = new InputStreamReader(System.in);

System.err: This is the standard error stream that is used to output all the error data that a program might throw, on a computer screen or any standard output device.Example:System.err.print("Error");

System.err.print("Error");

Overloads of println() method
As we know, Method Overloading in Java allows different methods to have the same name, but different signatures or parameters where each signature can differ by the number of input parameters or type of input parameters or both. From the use of println() we observed that it is a single method of PrintStream class that allows the users to print various types of elements by accepting different type and number of parameters.
For example:
System.out.println(), 
System.out.println(int), 
System.out.println(double), 
System.out.println(string), 
System.out.println(character), 
etc. 

PrintStream has around 10 different overloads of println() method that are invoked based on the type of parameters passed by the user.
Example:
// Java code to illustrate method// overloading in println()  import java.io.*;  class PrintLN {    public static void main(String[] args)    {          // Declaring different datatypes        int num = 10;        char ch = 'G';        String str = "GeeksforGeeks";        double d = 10.2;        float f = 13.5f;        boolean bool = true;          // Various overloads of println() method        System.out.println();        System.out.println(num);        System.out.println(ch);        System.out.println(str);        System.out.println(d);        System.out.println(f);        System.out.println(bool);        System.out.println("Hello");    }}

10
G
GeeksforGeeks
10.2
13.5
true
Hello

Difference between System.out.print() and System.out.println()
System.out.print(): This method prints the text on the console and the cursor remains at the end of the text at the console. The next printing takes place from just here. This method must take atleast one parameter else it will throw an error.
System.out.println(): This method prints the text on the console and the cursor remains at the start of the next line at the console. The next printing takes place from the next line. This method may or may not take any parameter.
Example:
// Java code to illustrate difference// between print() and println()  import java.io.*;  class Demo_print {    public static void main(String[] args)    {        System.out.println("Using print()");          // using print()        // all are printed in the        // same line        System.out.print("GfG! ");        System.out.print("GfG! ");        System.out.print("GfG! ");          System.out.println();        System.out.println();        System.out.println("Using println()");          // using println()        // all are printed in the        // different line        System.out.println("GfG! ");        System.out.println("GfG! ");        System.out.println("GfG! ");    }}
Output:
Using print()
GfG! GfG! GfG! 

Using println()
GfG! 
GfG! 
GfG! 
Performance Analysis of System.out.println()
println() is a method that helps display output on a console. This might be dependent on various factors that drives the performance of this method. The message passed using println() is passed to the server’s console where kernel time is required to execute the task. Kernel time refers to the CPU time. Since println() is a synchronized method, so when multiple threads are passed could lead to the low-performance issue. System.out.println() is a slow operation as it incurs heavy overhead on the machine compared to most IO operations.
There is an alternative way of performing output operations by invoking PrintWriter or the BufferedWriter class.
They are fast as compared to the println() of the PrintStream class.
Related Articles:
Difference between print() and println()Input-Output in JavaPrintStream println() method in Java with ExamplesRedirecting System.out.println() output to a file in Java
Difference between print() and println()
Input-Output in Java
PrintStream println() method in Java with Examples
Redirecting System.out.println() output to a file in Java
java-basics
Java-IO package
Java-lang package
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Interfaces in Java
Queue Interface In Java
Multidimensional Arrays in Java
HashMap in Java with Examples
Math pow() method in Java with Example
PriorityQueue in Java
Stack Class in Java
List Interface in Java with Examples
Initialize an ArrayList in Java
ArrayList in Java