Printing Integers
An integer is a whole number, such as 776, 0 or 52, that contains no decimal point. Integer values are displayed in one of several formats. Figure 28.1 describes the integral conversion characters.
Conversion character |
Description |
---|---|
d |
Display a decimal (base 10) integer. |
o |
Display an octal (base 8) integer. |
x or X |
Display a hexadecimal (base 16) integer. X causes the digits 09 and the letters AF to be displayed and x causes the digits 09 and af to be displayed. |
Figure 28.2 prints an integer using each of the integral conversions. In lines 910, note that the plus sign is not displayed by default, but the minus sign is. Later in this chapter (Fig. 28.14) we will see how to force plus signs to print.
Figure 28.2. Using integer conversion characters.
1 // Fig. 28.2: IntegerConversionTest.java 2 // Using the integral conversion characters. 3 4 public class IntegerConversionTest 5 { 6 public static void main( String args[] ) 7 { 8 System.out.printf( "%d ", 26 ); 9 System.out.printf( "%d ", +26 ); 10 System.out.printf( "%d ", -26 ); 11 System.out.printf( "%o ", 26 ); 12 System.out.printf( "%x ", 26 ); 13 System.out.printf( "%X ", 26 ); 14 } // end main 15 } // end class IntegerConversionTest
|
The printf method has the form
printf( format-string, argument-list );
where format-string describes the output format, and argument-list contains the values that correspond to each format specifier in format-string. There can be many format specifiers in one format string.
Each format string in lines 810 specifies that printf should output a decimal integer (%d) followed by a newline character. At the format specifier's position, printf substitutes the value of the first argument after the format string. If the format string contained multiple format specifiers, at each subsequent format specifier's position, printf would substitute the value of the next argument in the argument list. The %o format specifier in line 11 outputs the integer in octal format. The %x format specifier in line 12 outputs the integer in hexadecimal format. The %X format specifier in line 13 outputs the integer in hexadecimal format with capital letters.