向控制台輸出資訊可以用輸出流的write方法只是使用上沒有print和println那麼方便。實際上print和println方法也是對write的封裝最終也是呼叫write向控制台寫出的資料。
使用write時需要導入IOException,也就是在java檔案前面加上 import java.io.IOException; write方法可能會拋出IOExcetion。
關於write方法不作詳細介紹,平常還是用print或println更好
在idea查看,輸入System.out .println()實際上是呼叫了以下這些方法(函數重載)
#System.out.println()呼叫後會直接在輸出之後新增一個換行,如果不寫參數就是只起一個換行的作用。
其中如果參數是char[],會直接輸出char[]中的所有元素,元素之間沒有任何分隔符,彷彿輸出了一個字串。
還有一個比較特殊的參數是Object,Object是Java中所有類別的父類,如果參數是Object對象,將直接輸出Object的位址或null,除非對應的Object重寫了自己的toString方法,這裡不做過多敘述。
我們可以利用字串的連接操作,實作輸出各種各樣的格式,例如輸出:x=5的形式,輸出x的值
int x=5; System.out.println("x="+x);
只比System.out.println()少了一個沒有參數的方法。
System.out.print與System.out.println的唯一差別就是,這個沒有加入換行。
printf的底層就是format,兩個種方法的用法沒有任何差別,實際上,printf就只是呼叫了一下format而已
System.out.format(); System.out.printf();
倆用法一致,以下以format舉例說明。
當我們需要格式化輸出一些數據,只是使用System.out.println();就有點不夠用了,這時就需要用到format方法了
System .out提供了格式化的輸出方法format,format的第一個參數是一個模板,模板面有一些佔位符,再透過後面的參數替換模板中的佔位符完成整個資訊的輸出
舉例:
String name="LiLi"; int age=8; char sex='男'; float grade=52.5; System.out.format("姓名:%s, 年龄:%d, 性别:%c, 成绩:%.1f\n", name, age, sex, grade);
輸出:姓名:LiLi, 年齡:8, 性別:男, 成績:52.5
其中%c,%s等就叫做佔位符,分別代表字元和字串,它們將被後邊出現的對應的變數的值替換掉。像%.1f是%f中又加了.f 表示輸出一個1位的小數。
常用佔位符:
佔位符 | 說明 |
---|---|
格式化輸出整數 | |
格式化輸出浮點數 |
当然不可能只有这么点了,下边才是大头????
既可以格式化基本数据类型,也可以格式化它们的包装类
%d :格式化十进制整数
%o :格式化八进制整数
%x :格式化小写十六进制整数,如:abc58
%X :格式化大写十六进制整数,如:ABC58
“+”:格式化正整数时强制添加上正好,如%+d可将123格式化位+123
“,”:格式化整数时按“千”分组,例如:%,d可将1234567890格式化位1,234,567,890
它俩可以组合使用,如:%+,d
%md或%-md指定格式化整数的长度最少为m
如%6d可将123格式化为“ 123”,左边三个空格,即如果数字的长度不足6,则在格式化的数字左边添加空格使得整体长度为6(左边添加空格即右对齐)
%-6d使得结果左对齐,即在右边添加空格,如%-6d可将123格式化为“123 ”,右边三个空格
既可以格式化基本数据类型,也可以格式化它们的包装类
“+” :格式化正数时添加正号
“,”:将正数部分按千分位
它俩可以组合使用,如:%+,f
“%.nf”可以限制小数的位数为n(遵循四舍五入)
“%mf”可以规定数据的宽度为m,长度不足补空格,默认居右(%-mf,居左)
组合使用:
System.out.printf("%7.3f",0.1235);
结果:0.124 (还有俩个空格,“.”也占一个长度)
String也可以调用format方法,用法与上述完全一致,结果返回一个字符串对象
例:
String s=String.format("%d",12345);
s的值为12345
以上是Java中格式化輸出的方式有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!