java如何完成輸出語句實(shí)例詳解
前言
我們在前面的文章和案例中,其實(shí)早就知道Java是如何實(shí)現(xiàn)輸出功能的了。沒錯,就是利用System.out.println()語句來實(shí)現(xiàn)的!接下來壹哥就給大家詳細(xì)解讀一下這個語句的作用及其含義。
1. System
我們先來看看System是個什么東東。
System是Java自帶的一個類,它代表著系統(tǒng)類。該類位于java.lang包中,很多有用的系統(tǒng)級別的屬性、控制方法都在該類里面。
System類的構(gòu)造方法是private(私有)修飾的,所以我們無法直接創(chuàng)建該類的對象,即無法實(shí)例化該類。關(guān)于這些對象的實(shí)例化,壹哥在后面講解面向?qū)ο髸r會再詳細(xì)講解,大家先不要著急哦。System內(nèi)部的成員變量和成員方法都是static的,我們可以很方便的直接進(jìn)行調(diào)用。在System類里面,給我們提供了如下幾個核心功能:
●標(biāo)準(zhǔn)輸入輸出:如out、in、err;
●外部定義的屬性和環(huán)境變量的訪問:如getenv()、setenv()、getProperties()和setProperties();
●加載文件和類庫的方法:如load()和loadLibrary();
●快速拷貝數(shù)組的方法:arraycopy();
●jvm操作:如gc()、runFinalization()、exit();
●獲取時間方法:如System.nanoTime 和 System.currentTimeMillis。
2. out與err
out表示一種“標(biāo)準(zhǔn)”的輸出流,它是System類中的靜態(tài)成員,可以直接被我們調(diào)用,且這個成員變量是java.io.PrintStream類的引用。
另外還有一個與out功能類似的輸出流err。err表示“標(biāo)準(zhǔn)”的錯誤輸出流,此流可以打開并準(zhǔn)備接受輸出的數(shù)據(jù)。一般err流用于顯示錯誤消息,或者用于顯示需要引起用戶特別注意的信息,在控制臺中會顯示紅色的文字。
其實(shí)out和err的用法完全一樣,功能也基本相同。out和err的唯一區(qū)別就是,out往往是帶緩存功能的,而err沒有緩存功能(默認(rèn)設(shè)置,可以更改)。
3. print和println
print()和println()都是java.io.PrintStream類里的方法,它們的作用都是向控制臺輸出信息。兩者的基本作用完全一樣,只是print()方法不會產(chǎn)生換行,println()會產(chǎn)生換行,因為println是print line的縮寫,表示輸出并換行。
通過以上這3個API(應(yīng)用程序接口)的講解,我們可以總結(jié)出一個基本的規(guī)則:在Java中,被static關(guān)鍵字修飾的成員變量,可以直接通過"類名.成員名"的形式來引用,不用創(chuàng)建類的實(shí)例對象。所以我們可以直接調(diào)用System類里的靜態(tài)成員out,即System.out。又因為System.out是java.io.PrintStream類的實(shí)例引用,所以又可以通過 System.out.println(); 的形式來調(diào)用。
以上這段話,如果你看著有點(diǎn)懵逼,請不用糾結(jié)。這屬于面向?qū)ο蟮闹R,我們暫時還沒學(xué)到,在后面面向?qū)ο蟮恼鹿?jié)中,壹哥會詳細(xì)講解!
4. 基本案例
以下是關(guān)于標(biāo)準(zhǔn)輸出的代碼案例,大家對著練習(xí)一下即可,很簡單的哦。
public class Demo01 { public static void main(String[] args) { //輸出語句 //不換行輸出 System.out.print("Hello"); System.out.print(" World"); //換行輸出 System.out.println("你好"); System.out.println("一一哥"); //標(biāo)準(zhǔn)的錯誤輸出,控制臺會用紅色文字顯示 System.err.append("標(biāo)準(zhǔn)的錯誤輸出,哈哈哈"); } }
運(yùn)行效果如下圖所示:
5. 格式化輸出
5.1 概念
有時候,計算機(jī)默認(rèn)輸出的數(shù)據(jù)格式,并不一定能夠滿足我們的閱讀需求,比如有的人想要保留小數(shù)點(diǎn)后兩位,也有的人想要保留小數(shù)點(diǎn)后四位,大家的需求是個性化的,那么Java能不能針對特殊的需求,進(jìn)行一些個性化的輸出呢?這是可以實(shí)現(xiàn)的!這就需要用到格式化輸出了!
利用格式化輸出功能,可以把數(shù)據(jù)顯示成我們期望的格式。我們可以使用System.out.printf()語句,并結(jié)合%與?這兩個占位符來實(shí)現(xiàn),printf()方法可以把后面的參數(shù)格式化成指定的格式。
5.2 占位符
Java為了實(shí)現(xiàn)格式化功能,給我們提供了多種占位符,可以把各種數(shù)據(jù)類型“格式化”成指定的字符串。常用的占位符有如下這些:
這里我們要注意,在輸出語句中,%表示占位符。如果連續(xù)使用兩個%%,應(yīng)該傳入兩個對應(yīng)的數(shù)字,否則會把后面的%字符給原文輸出。
如果我們想了解更詳細(xì)的格式化參數(shù),可以參考JDK文檔:java.util.Formatter
5.3 案例
下面是壹哥設(shè)計的與本小節(jié)對應(yīng)的代碼案例,大家可以對照練習(xí)。
public class Demo01 { public static void main(String[] args) { //格式化輸出 //默認(rèn)輸出格式 //double d = 88800000; //System.out.println(d); // 8.88E7 double d = 3.1415926; System.out.printf("%.2f\n", d); // 保留2位小數(shù)3.14 System.out.printf("%.4f\n", d); // 保留4位小數(shù)3.1416 //占位符與格式化 int n = 123456789; //%08x,輸出16進(jìn)制數(shù)據(jù),如果不足8位,用0補(bǔ)齊 System.out.printf("n=%d, hex=%08x", n, n); // 注意,兩個%占位符應(yīng)該傳入兩個數(shù)字 } }
附:JAVA 換行輸出的五種方法
1.在輸出后面加\n
System.out.print("王先生\n");
2.+"\n"
System.out.print("王先生"+"\n");
3.格式化輸出類型后面加\n
System.out.print(“&s\n”+"王先生");
4.格式化輸出類型%n
System.out.print("%s%n","王先生");
5.println()相當(dāng)于print(\n\n)即另起一行輸出對應(yīng)的參數(shù)
總結(jié)
到此這篇關(guān)于java如何完成輸出語句的文章就介紹到這了,更多相關(guān)java完成輸出語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java調(diào)用windows系統(tǒng)的CMD命令并啟動新程序
本文教你如何使用java程序調(diào)用windows系統(tǒng)的CMD命令啟動新程序方法,需要的朋友可以參考下2023-05-05Spring中使用Hystrix實(shí)現(xiàn)熔斷詳解
這篇文章主要介紹了Java中使用Hystrix實(shí)現(xiàn)熔斷詳解,對于第一個問題,查看hystrix源碼可以看到,如果有緩存配置是優(yōu)先使用的緩存的,因此如果配置更新,必須要更新緩存,不能使用Hystrix.reset()方法來更新緩存,需要的朋友可以參考下2023-12-12SpringBoot中實(shí)現(xiàn)加載遠(yuǎn)程配置的代碼示例
本文章將通過結(jié)合consul config來講解在springboot中如何加載遠(yuǎn)程配置:通過consul config加載consul server中存儲的配置,需要的朋友可以參考下2023-06-06SpringBoot+Redis防止惡意刷新與暴力請求接口的實(shí)現(xiàn)
這篇文章主要為大家介紹了如何利用springboot和Redis來實(shí)現(xiàn)防止惡意刷新與暴力請求接口,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-06-06Java使用自定義注解實(shí)現(xiàn)函數(shù)測試功能示例
這篇文章主要介紹了Java使用自定義注解實(shí)現(xiàn)函數(shù)測試功能,結(jié)合實(shí)例形式分析了java自定義注解在函數(shù)測試過程中相關(guān)功能、原理與使用技巧,需要的朋友可以參考下2019-10-10使用java實(shí)現(xiàn)LIS算法,出操隊形的問題
下面小編就為大家?guī)硪黄褂胘ava實(shí)現(xiàn)LIS算法,出操隊形的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09java 使用簡單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大
本篇文章介紹了,在java中使用簡單的demo實(shí)例告訴你優(yōu)化算法的強(qiáng)大。需要的朋友參考下2013-05-05