边学边记——Java中的输入输出
目錄
一.定義?
1.輸入(Input)輸出(Output)—— IO 流
2.系統(tǒng)輸入輸出 —— 標(biāo)準(zhǔn)輸入輸出
二.常用的輸出方法
1.println()
快捷用法:sout?
2.print()
3.printf()
4.格式化輸出
三.從鍵盤(pán)中讀取一個(gè)內(nèi)容——使用Scanner類(lèi)
1.使用流程
(1).產(chǎn)生一個(gè)系統(tǒng)輸入的對(duì)象
(2).從鍵盤(pán)中獲取一個(gè)數(shù)據(jù)
2.可能出現(xiàn)場(chǎng)景及問(wèn)題
(1).輸入字符串自動(dòng)跳過(guò)
(2).循環(huán)讀入數(shù)據(jù)
一.定義?
1.輸入(Input)輸出(Output)—— IO 流
- 輸入流:以電腦為參考系,從外部向程序或電腦中輸入一個(gè)數(shù)據(jù),稱(chēng)之為輸入流。
- 輸出流:以電腦/程序向外輸出一個(gè)數(shù)據(jù),稱(chēng)之為輸出流。
2.系統(tǒng)輸入輸出 —— 標(biāo)準(zhǔn)輸入輸出
- 標(biāo)準(zhǔn)輸出——顯示器System.out 這是Java中的標(biāo)準(zhǔn)輸出對(duì)象。
- 標(biāo)準(zhǔn)輸入——鍵盤(pán)System.in這是Java默認(rèn)的。
默認(rèn)輸出是輸出到控制臺(tái)。
二.常用的輸出方法
1.println()
() 中傳遞任意數(shù)據(jù)類(lèi)型,多個(gè)類(lèi)型使用 “+” 拼接,輸出內(nèi)容后自帶換行符。
PS:如果println()中啥也不寫(xiě),默認(rèn)當(dāng)換行輸出使用。?
快捷用法:sout?
2.print()
() 中任意數(shù)據(jù)類(lèi)型,多個(gè)類(lèi)型使用 “+” 拼接。
與println() 的區(qū)別:
- 輸出后不帶換行。
- 必須要在 () 中傳遞參數(shù)。
3.printf()
和c語(yǔ)言一樣的格式化輸出。
| %c | 單個(gè)字符 |
| %d | 十進(jìn)制整數(shù) |
| %f | 十進(jìn)制浮點(diǎn)數(shù) |
| %o | 八進(jìn)制數(shù) |
| %s | 字符串 |
| %u | 無(wú)符號(hào)十進(jìn)制數(shù) |
| %x | 十六進(jìn)制數(shù) |
| %% | 輸出百分號(hào)% |
4.格式化輸出
使用String.format()格式化。?
三.從鍵盤(pán)中讀取一個(gè)內(nèi)容——使用Scanner類(lèi)
最原始的系統(tǒng)輸入,是非常難操作的。
1.使用流程
(1).產(chǎn)生一個(gè)系統(tǒng)輸入的對(duì)象
//獲取輸入流對(duì)象 Scanner scanner=new Scanner(System.in);(2).從鍵盤(pán)中獲取一個(gè)數(shù)據(jù)
nextXXX()表示獲取的數(shù)據(jù)類(lèi)型。
//輸入整型數(shù)據(jù) int a=scanner.nextInt(); //輸入字符串 String str=scanner.nextLine(); //輸入浮點(diǎn)數(shù) double d=scanner.nextDouble();2.可能出現(xiàn)場(chǎng)景及問(wèn)題
(1).輸入字符串自動(dòng)跳過(guò)
? ? ? ? 我們知道,輸入整型數(shù)據(jù)時(shí),按下回車(chē)代表數(shù)據(jù)輸入完畢,輸入字符串時(shí),會(huì)以換行符來(lái)作為當(dāng)前內(nèi)容的終止條件。
? ? ? ? 那么,如果我們緊接著輸入整型數(shù)據(jù)后就要輸入字符串,那么就會(huì)自動(dòng)跳過(guò)輸入字符串(輸入字符串識(shí)別到了換行符認(rèn)為輸入結(jié)束)。
有以下兩種解決辦法:
- 最先進(jìn)行字符串的輸入。
- 多使用一次nextLine()吃掉這個(gè)換行符。
(2).循環(huán)讀入數(shù)據(jù)
需要搭配 while(不知道循環(huán)次數(shù),知道循環(huán)的中止條件),調(diào)用Scanner對(duì)象的 hasNextXXX() 方法,就會(huì)判斷系統(tǒng)輸入的是否是指定類(lèi)型的內(nèi)容,若碰到不是相應(yīng)的類(lèi)型數(shù)據(jù),循環(huán)終止(字符串需要輸入特殊字符終止)。
eg:
以整數(shù)為例:
int num=0;//整數(shù)個(gè)數(shù) int sum=0;//求和 while(scanner.hasNextInt()){int tmp=scanner.nextInt();sum+=tmp;num++; } System.out.println("sum="+sum);如有建議或想法,歡迎一起交流討論~
總結(jié)
以上是生活随笔為你收集整理的边学边记——Java中的输入输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: VMware ESXi 6.0之后 缺少
- 下一篇: 通达信交易接口函数Java接口抽象法