java基礎-printf()語句的理解
阿新 • • 發佈:2017-05-06
style [] cnblogs ble bsp public line 天突 ont
對print和println的理解很簡單,今天突然接觸到printf(),有點懵,整理了下也幫自己理一理
printf是格式化輸出的形式
下在舉個例子:
package other; public class TestPrint { //聲明打印測試類 public static void main(String[] args) { //主方法 int i = 4; //聲明int類型i
double j = 5; //聲明double類型j System.out.print("用print輸出i:"+ i); //對比print()、println()、printf() 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
重點來看語句:
System.out.printf("i的值為%d,j的值為%f", i,j);
“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"是一個字符值的點位符的意思。
public class TestPrint { public static voidmain(String[] args) { int i = 4; double j = 5.000f;
System.out.printf("i的值為%5d,\n", i); // %與d之間的數字5的意思是插入五個占位符 \n空格符 System.out.printf("i的值為%3d,j的值為%.2f", i,j); //j的值為%.2f 意思是,保留小數點後2位
} }
運行結果為:
i的值為 4,
i的值為 4,j的值為5.00
public class TestPrint { public static void main(String[] args) { int i = 4; double j = 5.000f; System.out.printf("i的值為%05d,\n", i); //"%05d"的意思是輸出5個占位符,如果數字不足5位的話就在左邊以0相補 } } 運行結果為: i的值為00004,
總結
System.out.printf("i的值為%d,j的值為%f", j,i)
%+(數字:占位作用,控制輸出格式整齊一致)+數據類型(對應數據類型的字母簡寫) j,i對應的數字和類型,嚴格按需
java基礎-printf()語句的理解