Java:双重打印-println或printf

nor*_*ner 1 java printf println

假设我有以下代码:

double median = med(10.0, 12.0, 3.0); //method returns middle number as double
Run Code Online (Sandbox Code Playgroud)

现在,我想写一条信息说明中位数。可以使用println()完成此操作,如下所示:

System.out.println("Your number was " + median);
Run Code Online (Sandbox Code Playgroud)

还是我必须将printf()与双精度值一起使用?

我问的原因是因为我已经在线上看到了这两种做法1,但是当我尝试使用println()时,会出现错误,除非我写下:

System.out.println(median);
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用println()打印出精度值和字符串,还是必须为此使用printf()

Abd*_*hak 5

printf:在一行中这将使用字符串连接是乏味显示多个变量时,方法可以是特别有用
println(),其可以在某些时候,混淆。(尽管两者都可以在几乎所有情况下使用)。

 double a = 10;
 double b = 20;

System.out.println("a: " + a + " b: " + b);// Tedious string concatenation.

System.out.printf("a: %f b: %f\n", a, b);// Output using string formatting.
Run Code Online (Sandbox Code Playgroud)

输出:

a: 10.0 b: 20.0
a: 10,000000 b: 20,000000
Run Code Online (Sandbox Code Playgroud)