zyj1214 发表于 2023-4-5 12:55:09

java中System.out.printf();print();println();各种用法?

java中System.out.printf();   print();   println();各种用法?
有什么技巧掌握其中的各种用法。

isdkz 发表于 2023-4-5 13:00:16

在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()。
[*]若要在格式化字符串中包含百分号(%),可以使用两个连续的百分号(%%)表示。

根据实际应用场景和需求,可以灵活选择和组合使用这三种输出方法。

zyj1214 发表于 2023-4-5 13:32:48

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]
查看完整版本: java中System.out.printf();print();println();各种用法?