1. java
  2. /basics
  3. /output

An Introduction to Java Output

Getting Started

As an aspiring Java programmer, learning the ins and outs of Java Output is a rite of passage. After all, it's how you'll connect with your users and breathe life into your programs. We'll explore fundamental concepts related to the process of displaying, formatting, and utilizing basic output techniques.

Displaying Output in Java

We can turn to two primary methods for displaying output in the console; System.out.println() and System.out.print(). While both methods serve the purpose of displaying output, their behaviors differ slightly.

Using the println() Method

The System.out.println() method not only prints a string to the console but also appends a newline character at the end. As a result, each successive call will display output on a new line. Let's illustrate this behavior.

System.out.println("Hello, World!"); // Hello, World!
System.out.println("Welcome to Java Output!"); // Welcome to Java Output!

The output of the above code snippet will appear as follows:

Hello, World!
Welcome to Java Output!

Using the print() Method

In contrast, the System.out.print() method prints a string to the console without adding a newline character. So, subsequent calls will print an output on the same line. We'll demonstrate the difference below.

System.out.print("Hello, "); // Hello,
System.out.print("World!"); // World!

The generated output will look like this:

Hello, World!

We can notice how the second call continues printing on the same line as the first one, due to the absence of the newline character.

Formatting Output

Java offers a variety of methods to format output, allowing us to tailor console messages for improved readability and presentation. Some common formatting techniques include using format specifiers, aligning output, and specifying precision. With them, we can achieve a polished output that is slightly more user-friendly.

Using Format Specifiers

Format specifiers act as placeholders within a string, which are then replaced by the value of a variable. These placeholders begin with a percent sign % and are followed by a letter that signifies the type of data to be displayed. Common format specifiers include %d for integers, %f for floating-point numbers, and %s for strings.

int age = 28;
double height = 1.83;
String name = "Alice";

System.out.printf("Name: %s, Age: %d, Height: %.2f meters", name, age, height);

We'll get an output as so:

Name: Alice, Age: 28, Height: 1.83 meters

We can observe how the format specifiers are replaced by the values of the variables in the order they appear, providing a neatly formatted output.

Specifying Precision

To control the precision of floating-point numbers, we can turn to the format specifier %.<number>f, where <number> represents the desired number of decimal places. This capability enables us to present numerical data with a specific level of accuracy, which can be crucial in certain applications.

double pi = 3.14159265359;

System.out.printf("Pi: %.2f", pi);

The Output:

Pi: 3.14

Displaying Strings

When showcasing strings, we can conveniently use the string variable within the System.out.println() or System.out.print() methods. This simplicity is one of Java's many strengths.

String name = "Marc";

System.out.println("Name: " + name);


Name: John

As you may have already noticed we can concatenate output using the + operator.

String firstName = "James";
String lastName = "Gosling";

System.out.println("Full Name: " + firstName + " " + lastName);


Full Name: James Gosling

Displaying Characters

To present a single character, we can use the %c format specifier, providing a clean and straightforward approach.

char letter = 'A';

System.out.printf("Letter: %c", letter);


Letter: A

Using Escape Characters

With this approach, we can handle special characters and formatting within strings. These characters allow us to represent non-printable characters or insert specific characters into a string that would otherwise be challenging to include. Some commonly used escape characters are:

  • \n: newline – creates a line break
  • \t: tab – inserts a horizontal tab
  • \\: backslash – includes a backslash in the text
  • \": double quote – enables the insertion of double quotes within a string

The following examples illustrate their use:

System.out.println("First Line\nSecond Line");
System.out.println("He said, \"Hello!\"");


First Line
Second Line
He said, "Hello!"

Final Thoughts

We should keep in mind that this is merely a stepping stone. As you progress, you'll encounter a myriad of ways to manipulate and handle data for more complex applications. Mastering the basics will help you gain much-needed confidence and serve as a precursor to increasing the complexity properly. We suggest you stay curious and be open to learning new concepts. As always, feel free to check out the adjacent resources below.

Useful Resources

The Basics of Java Syntax

Guide to Java Comments