淺析Java中print、printf、println的差別。本站提示廣大學習愛好者:(淺析Java中print、printf、println的差別)文章只能為提供參考,不一定能成為您想要的結果。以下是淺析Java中print、printf、println的差別正文
printf重要是繼續了C說話的printf的一些特征,可以停止格局化輸入
print就是普通的尺度輸入,然則不換行
println和print根本沒甚麼差異,就是最初會換行
System.out.printf("the number is: d",t);
參照JAVA API的界說以下:
'd' 整數 成果被格局化為十進制整數
'o' 整數 成果被格局化為八進制整數
'x', 'X' 整數 成果被格局化為十六進制整數
'e', 'E' 浮點 成果被格局化為用盤算機迷信記數法表現的十進制數
'f' 浮點 成果被格局化為十進制數
'g', 'G' 浮點 依據精度和捨入運算後的值,應用盤算機迷信記數情勢或十進制格局對成果停止格局化。
'a', 'A' 浮點 成果被格局化為帶有用位數和指數的十六進制浮點數
println("test")相當於print("testn")就是普通的輸入字符串
printprintlnprintf的差別
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的值為],n", i);
System.out.printf("i的值為=,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的值為d,n", i);
}
}
運轉成果為:
i的值為00004,
哈哈,本來"d"的意思是輸入5個占位符,假如數字缺乏5的話就有右邊以0相補