Java provides powerful formatting options using printf()
method:
public class FormattingDemo {
public static void main(String[] args) {
// Numeric formatting
System.out.printf("Integer: %d%n", 100);
System.out.printf("Floating point: %.2f%n", 3.14159);
// String formatting
System.out.printf("String: %s%n", "LabEx");
}
}
Specifier |
Description |
Example |
%d |
Integer |
42 |
%f |
Floating-point |
3.14 |
%s |
String |
"Hello" |
%n |
New line |
- |
%% |
Percent sign |
% |
Width and Precision
public class AdvancedFormattingDemo {
public static void main(String[] args) {
// Width specification
System.out.printf("%5d%n", 42); // Right-aligned
// Precision for floating-point
System.out.printf("%.2f%n", 3.14159); // Two decimal places
// Combining width and precision
System.out.printf("%10.2f%n", 3.14159);
}
}
graph TD
A[Input Data] --> B{Formatting Method}
B --> |printf()| C[Formatted Console Output]
B --> |String.format()| D[Formatted String]
B --> |DecimalFormat| E[Custom Number Formatting]
public class StringFormatDemo {
public static void main(String[] args) {
String formattedString = String.format("Name: %s, Age: %d", "John", 25);
System.out.println(formattedString);
}
}
Flag |
Description |
Example |
- |
Left-justify |
%-5d |
0 |
Zero-pad |
%05d |
+ |
Show sign |
%+d |
, |
Use locale-specific grouping |
%,d |
public class ComplexFormattingDemo {
public static void main(String[] args) {
double[] prices = {10.5, 200.75, 1000.0};
System.out.println("Price Report:");
for (double price : prices) {
System.out.printf("Price: $%,.2f%n", price);
}
}
}
Best Practices
- Choose appropriate formatting method
- Use precision for floating-point numbers
- Consider readability and performance
- Leverage LabEx resources for advanced formatting techniques
Mastering output formatting helps create more professional and readable Java applications.