java 中print 與printf與println的大致區別

print\println\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的值爲%5d,\n", i);
 System.out.printf("i的值爲%3d,j的值爲%.2f", i,j);
 }
 } 運行結果爲:
i的值爲 4, i的值爲 4,j的值爲5.00 原來在"%"與"d"之間加個數5的意思是輸出5個佔位符。默認向右對齊。這樣的輸出是很有用的,比如你想輸出一個表格,因各個數大小不一,有的5位有的4位,這樣輸出的的表格結果就對不齊了。如果將輸出結果全部爲同一樣的佔位符數。那樣就對齊了。呵呵。 除了"%d"可以這樣外,別的也可以,讀者不防試試。會有很多收穫的。
我們再試着將代碼改一下:
 public class TestPrint {
public static void main(String[] args) {
 int i = 4;
double j = 5.000f;
 System.out.printf("i的值爲%05d,\n", i);
}
} 運行結果爲:
 i的值爲00004, 哈哈,原來"%05d"的意思是輸出5個佔位符,如果數字不足5的話就有左邊以0相補
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
閱讀(293) | 評論(0) | 轉發(0) |
給主人留下些什麼吧!~~
評論熱議
發佈了47 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章