System.out.println,system.out.print,system.out.printf的区别
概念上的區別是這樣得:
print將它的參數顯示在命令窗口,并將輸出光標定位在所顯示的最后一個字符之后。
println 將它的參數顯示在命令窗口,并在結尾加上換行符,將輸出光標定位在下一行的開始。printf是格式化輸出的形式。
舉個例子,代碼如下:
package other;
public class TestPrint {
public static void main(String[] args) {
?? int i = 4;
?? double j = 5;
?? System.out.print("用print輸出i:"+ i);
?? System.out.println( "用println輸出i:"+ i);
?? System.out.printf("i的值為%d,j的值為%f", i,j);
}
}
運行結果為
用print輸出i:4用println輸出i:4
i的值為4,j的值為5.000000
可以看到,用print輸出i后,沒有換行,用println輸出的結果直接在print輸出語句后面,而輸出println后換行了,所以用printf輸出時,在第二行輸出。
這里著重看printf
“i的值為%d,j的值為%f”這個字符串中的"%d"變為i的值了,而"%f"變為了j的值了!
這里,"%d"的意思是一個int值的占位符,"%f"為一個double 或float值的點位符,這個變量的參數在后面提供。注意的是實參名必須按順序排。不然就會錯了。而且類型也要相符。如果我們把語句改為System.out.printf("i的值為%d,j的值為%f", j,i);//i和j位置反了
這時就有錯了因為"%d"對應的參數變為j,"%f"對應的變為i了,而j是double的,與"%d"是int形的不一致。所以有錯了。
還有"%s"是一個字符串值的點位符的意思。"%c"是一個字符值的點位符的意思。
可能讀者還會問為什么j輸出變成了5.000000?那是因為double是默認有6位小數的(這個可能和系統電腦有關,有的不是6位吧)但是如果你想只要輸出兩位小數行不行?可以啊!只要改下語句就行了!
System.out.printf("i的值為%d,j的值為%.2f", i,j);
這里的"%.2f"的意思是輸出兩位小數點。如果想輸出三位那就"%.3f"。
說到這里你會發現原來printf也很有用的。這樣可以控制輸出的格式。
另外也可以有這樣的例子:
public class TestPrint {
public static void main(String[] args) {
?? int i = 4;
?? double j = 5.000f;
?? System.out.printf("i的值為d,n", i);
}
}
運行結果為:
i的值為00004,
原來"d"的意思是輸出5個占位符,如果數字不足5的話就有左邊以0相補。
注意這里的%d與d的區別!!!
總結
以上是生活随笔為你收集整理的System.out.println,system.out.print,system.out.printf的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: k8s查看pod镜像
- 下一篇: 学校网页制作模板制作需要注意什么?