Chapter 3. Input and Output

The programs you’ve looked at so far simply display messages, which doesn’t really involve that much computation. This chapter shows you how to read input from the keyboard, use that input to calculate a result, and then format that result for output.

The System Class

We have been using System.out.println for a while, but you might not have thought about what it means. System is a class that provides methods related to the system, or environment. where programs run. It also provides System.out, which is a special value that has additional methods (like println) for displaying output.

In fact, we can use System.out.println to display the value of System.out:


The result is shown here:

This output indicates that System.out is a PrintStream, which is defined in a package called A package is a collection of related classes; contains classes for I/O which stands for input and output.

The numbers and letters after the @ sign are the address of System.out, represented as a hexadecimal (base 16) number. The address of a value is its location in the computer’s memory, which might be different on different computers. In this example, the address is 685d72cd, but if you run the same code, you will likely get something else.

As shown in Figure 3-1, System is defined in a file called, and PrintStream is defined in These files are part of the Java library, which ...

Get Think Java, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.