java中System.out.printf();print();println();各种用法?
java中System.out.printf(); print(); println();各种用法?有什么技巧掌握其中的各种用法。 在Java中,System.out.printf(), System.out.print() 和 System.out.println() 是用于在控制台输出内容的三种常用方法。它们分别有不同的用法和特点。
1、System.out.print():
print() 方法用于在控制台输出内容,但不会在内容后面自动添加换行符。连续多次调用 print() 方法时,输出的内容将紧密相邻。例如:
System.out.print("Hello, ");
System.out.print("world!");
输出结果:Hello, world!
2、System.out.println(): println 中的 ln 是 行(line) 的意思
println() 方法类似于 print() 方法,但它会在输出内容后自动添加一个换行符。连续多次调用 println() 方法时,输出的内容将分别显示在不同的行上。例如:
System.out.println("Hello,");
System.out.println("world!");
输出结果:
Hello,
world!
3、System.out.printf(): printf 中的 f 是 格式化(format)的意思
printf() 方法用于格式化输出,允许你使用占位符和参数列表来控制输出内容的格式。这对于需要格式化数字、对齐文本或插入变量值等操作的场景非常有用。例如:
int age = 30;
double salary = 50000.5;
System.out.printf("My age is %d, and my salary is %.2f.", age, salary);
输出结果:My age is 30, and my salary is 50000.50.
技巧:
[*]熟悉各种占位符及其用法,如 %d 用于整数,%f 用于浮点数,%s 用于字符串等。
[*]在需要在输出内容中包含换行符时,可以在字符串中使用 \n,也可以在 printf() 之后使用 println()。
[*]若要在格式化字符串中包含百分号(%),可以使用两个连续的百分号(%%)表示。
根据实际应用场景和需求,可以灵活选择和组合使用这三种输出方法。 classprintf_yong_fa
{
public static void main(String[] args)
{
for(int i =1;i<=9;i++){
System.out.printf("%-d",i);//"%-d"必须写字符宽度吗?像这样 “%-3d”
}
//System.out.println("Hello World!");
}
}
报错:
Exception in thread "main" java.util.MissingFormatWidthException: %-d
at java.base/java.util.Formatter$FormatSpecifier.checkNumeric(Formatter.java:3201)
at java.base/java.util.Formatter$FormatSpecifier.checkInteger(Formatter.java:3161)
at java.base/java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2900)
at java.base/java.util.Formatter.parse(Formatter.java:2747)
at java.base/java.util.Formatter.format(Formatter.java:2671)
at java.base/java.io.PrintStream.format(PrintStream.java:1209)
at java.base/java.io.PrintStream.printf(PrintStream.java:1105)
at printf_yong_fa.main(printf_yong_fa.java:6)
页:
[1]