新聞中心
java如何實(shí)現(xiàn)代碼這個(gè)輸出
package?a;
創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注重慶網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問題,行業(yè)涉及成都玻璃貼膜等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
import?java.io.File;
import?java.util.Scanner;
public?class?SearcFile?{
public?static?void?main(String[]?args)?{
Scanner?scanner=new?Scanner(System.in);
System.out.println("輸入目錄");
String?dir=scanner.next();
File?rootDir=new?File(dir);
searchFile(rootDir,"");
}
private?static?void?searchFile(File?rootDir,?String?space)?{
//space用來記錄文件級(jí)別,子文件前面會(huì)多輸出兩個(gè)空格
if?(rootDir.isDirectory())?{
//如果rootDir是文件夾,就輸出目錄名稱,space加兩個(gè)空格
System.out.println(space+"+--"+rootDir.getName());
space+="??";
//在進(jìn)入該文件夾繼續(xù)查詢
for?(File?subFile:rootDir.listFiles())?{
searchFile(subFile,space);
}
}?else?{
//如果rootDir是個(gè)文件,就直接輸出文件名稱
System.out.println(space+"--"+rootDir.getName());
}
}
}
java語言的輸出函數(shù)怎么寫?
Java中常用的輸出語句有以下三種
1.System.out.println();
2.System.out.print();
3.System.out.printf()
System.out.println();?是最常用的輸出語句,它會(huì)把括號(hào)里的內(nèi)容轉(zhuǎn)換成字符串輸出到輸出窗口(控制臺(tái)),并且換行,當(dāng)輸出的是一個(gè)基本數(shù)據(jù)類型時(shí),會(huì)自動(dòng)轉(zhuǎn)換成字符串,如果輸出的是一個(gè)對(duì)象,會(huì)自動(dòng)調(diào)用對(duì)象的toString();方法(1),將返回值輸出到控制臺(tái)
System.out.print();?與第一個(gè)很相似,區(qū)別就是上一個(gè)輸出后會(huì)換行,而這個(gè)命令輸出后并不換行。
輸入輸出體系介紹
什么是輸入輸出處理(IO)
包括對(duì)控制臺(tái),內(nèi)存,文件,圖形圖像,網(wǎng)絡(luò)和數(shù)據(jù)庫的讀寫等。在Java語言中,java.io包就提供了?
很多完成輸入輸出處理功能。
什么是流?
流是一種有序的字節(jié)源或目的,當(dāng)程序需要讀取數(shù)據(jù)時(shí)就要打開一個(gè)通向數(shù)據(jù)源的流;而當(dāng)程序需要?
寫入數(shù)據(jù)的時(shí)候就會(huì)打開一個(gè)通向目的地的流,數(shù)據(jù)就好像在管道中流動(dòng)一樣。?
流的分類?
將流按三種方式分類:輸入流和輸出流,字節(jié)流和字符流,以及從一個(gè)特定地方讀寫的結(jié)點(diǎn)流和連接已經(jīng)存在的流的過濾流。這種分類方式是相互重疊的
輸入流和輸出流
字節(jié)流和字符流
從一個(gè)特定地方讀寫的結(jié)點(diǎn)流和連接已經(jīng)存在的流的過濾流
基本流的介紹
基本流一般是指
InputStream
OutputStream
Reader
Writer
1.InputStream
這個(gè)類是一個(gè)抽象類,為所有字節(jié)輸入類的父類,其方法都是通過子類對(duì)象來調(diào)用的,主要方法有?
2.OutputStream
這個(gè)類是抽象類,是所有字節(jié)輸出類的父類,其方法都是通過子類對(duì)象來調(diào)用?
3.字符輸入輸出系列(字符IO)
輸入輸出兩大分支,以Reader為父類的字符輸入,以Writer為父類的字符輸出。它們與各自的子類共同構(gòu)成了字符輸入輸出體系
字符輸入輸出
4.Reader
是一個(gè)用于讀取字符類的抽象類,為所有字符輸入類的父類,其方法都是通過子類對(duì)象來調(diào)用的。?
5.Writer
是一個(gè)用于寫入字符流的抽象類,為所有輸出字符類的父類,其方法都是通過子類對(duì)象來調(diào)用的。
擴(kuò)展:
Java簡(jiǎn)介:
Java是一種計(jì)算機(jī)編程語言,擁有跨平臺(tái)、面向?qū)ο蟆⒎盒途幊痰奶匦?,廣泛應(yīng)用于企業(yè)級(jí)Web應(yīng)用開發(fā)和移動(dòng)應(yīng)用開發(fā)。
1991 年Sun公司的James Gosling等人開始開發(fā)名稱為 Oak 的語言。希望用于控制嵌入在有線電視交換盒、PDA等的微處理器
1994年將Oak語言更名為Java
1998年JDK1.2時(shí),更名為Java 2 Platform?
分為標(biāo)準(zhǔn)版J2SE,企業(yè)版J2EE,微型版J2ME
Java 既安全、可移植,又可跨平臺(tái),而且人們發(fā)現(xiàn)它能夠解決Internet 上的大型應(yīng)用問題
Internet使Java成為網(wǎng)上最流行的編程語言
Java對(duì)Internet的影響也意義深遠(yuǎn)
B/S的興起 C/S的沒落
任職于太陽微系統(tǒng)的詹姆斯?高斯林等人于1990年代初開發(fā)Java語言的雛形,最初被命名為Oak,目標(biāo)設(shè)置在家用電器等小型系統(tǒng)的程序語言,應(yīng)用在電視機(jī)、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通信。由于這些智能化家電的市場(chǎng)需求沒有預(yù)期的高,Sun公司放棄了該項(xiàng)計(jì)劃。隨著1990年代互聯(lián)網(wǎng)的發(fā)展,Sun公司看見Oak在互聯(lián)網(wǎng)上應(yīng)用的前景,于是改造了Oak,于1995年5月以Java的名稱正式發(fā)布。Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡(luò)編程語言。
Java編程語言的風(fēng)格十分接近C++語言。繼承了C++語言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C++語言中容易引起錯(cuò)誤的指針,改以引用替換,同時(shí)移除原C++與原來運(yùn)算符重載,也移除多重繼承特性,改用接口替換,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型編程、類型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱特性。太陽微系統(tǒng)對(duì)Java語言的解釋是:“Java編程語言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語言。”
Java不同于一般的編譯語言或直譯語言。它首先將源代碼編譯成字節(jié)碼,然后依賴各種不同平臺(tái)上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了“一次編寫,到處運(yùn)行”的跨平臺(tái)特性。在早期JVM中,這在一定程度上降低了Java程序的運(yùn)行效率。但在J2SE1.4.2發(fā)布后,Java的運(yùn)行速度有了大幅提升。
與傳統(tǒng)型態(tài)不同,Sun公司在推出Java時(shí)就將其作為開放的技術(shù)。全球數(shù)以萬計(jì)的Java開發(fā)公司被要求所設(shè)計(jì)的Java軟件必須相互兼容?!癑ava語言靠群體的力量而非公司的力量”是 Sun公司的口號(hào)之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同,此外,微軟公司后來推出了與之競(jìng)爭(zhēng)的.NET平臺(tái)以及模仿Java的C#語言。后來Sun公司被甲骨文公司并購,Java也隨之成為甲骨文公司的產(chǎn)品。
java怎么輸出
java控制臺(tái)輸出由print( ) 和 println( )來完成最為簡(jiǎn)單。這兩種方法由rintStream(System.out引用的對(duì)象類型)定義。盡管System.out是一個(gè)字節(jié)流,用它作為簡(jiǎn)單程序的輸出是可行的。因?yàn)镻rintStream是從OutputStream派生的輸出流,它同樣實(shí)現(xiàn)低級(jí)方法write(),write()可用來向控制臺(tái)寫數(shù)據(jù)。PrintStream 定義的write( )的最簡(jiǎn)單的形式如下:
void write(int byteval)
該方法按照byteval指定的數(shù)目向文件寫字節(jié)。盡管byteval 定義成整數(shù),但只有低位的8個(gè)字節(jié)被寫入。下面的短例用 write()向屏幕輸出字符“A”,然后是新的行。
// Demonstrate System.out.write().
class WriteDemo {
public static void main(String args[]) {
int b;
b = 'A';
System.out.write(b);
System.out.write('\n');
}
}
一般不常用write()來完成向控制臺(tái)的輸出(盡管這樣做在某些場(chǎng)合非常有用),因?yàn)閜rint()和println() 更容易用。
四、PrintWriter類
盡管Java允許用System.out向控制臺(tái)寫數(shù)據(jù),但建議僅用在調(diào)試程序時(shí)或在例程中。對(duì)于實(shí)際的程序,Java推薦的向控制臺(tái)寫數(shù)據(jù)的方法是用PrintWriter流。PrintWriter是基于字符的類。用基于字符類向控制臺(tái)寫數(shù)據(jù)使程序更為國(guó)際化。PrintWriter定義了多個(gè)構(gòu)造函數(shù),這里所用到的一個(gè)如下:
PrintWriter(OutputStream outputStream, boolean flushOnNewline)
outputStream是OutputStream類的對(duì)象,flushOnNewline控制Java是否在println()方法被調(diào)用時(shí)刷新輸出流。如果flushOnNewline為true,刷新自動(dòng)發(fā)生,若為false,則不發(fā)生。
PrintWriter支持所有類型(包括Object)的print( )和println( )方法,這樣,就可以像用ystem.out那樣用這些方法。如果遇到不同類型的情況,PrintWriter方法調(diào)用對(duì)象的toString()方法并打印結(jié)果。用PrintWriter向外設(shè)寫數(shù)據(jù),指定輸出流為System.out并在每一新行后刷新流。例如這行代碼創(chuàng)建了與控制臺(tái)輸出相連的PrintWriter類。
PrintWriter pw = new PrintWriter(System.out, true);
下面的應(yīng)用程序說明了用PrintWriter處理控制臺(tái)輸出的方法:
// Demonstrate PrintWriter
import java.io.*;
public class PrintWriterDemo {
public static void main(String args[]) {
PrintWriter pw = new PrintWriter(System.out, true);
pw.println("This is a string");
int i = -7;
pw.println(i);
double d = 4.5e-7;
pw.println(d);
}
}
該程序的輸出如下:
This is a string
-7
4.5E-7
io包支持Java的基本I/O(輸入/輸出)系統(tǒng),包括文件的輸入/輸出。對(duì)輸入/輸出的支持是來源于Java的內(nèi)核API庫,而不是語言關(guān)鍵字。
一、輸入/輸出基礎(chǔ)
很多實(shí)際的Java應(yīng)用程序不是基于文本的控制臺(tái)程序。盡管基于文本的程序作為教學(xué)實(shí)例是很出色的,它們無法勝任JAVA在實(shí)際中的重要應(yīng)用。Java對(duì)外設(shè)輸入/輸出的支持也是有限的,并且用起來有些笨拙——甚至是在簡(jiǎn)單的例子程序中?;谖谋镜目刂婆_(tái)輸入/輸出對(duì)于Java程序并不是十分重要。
Java 提供了與文件和網(wǎng)絡(luò)相關(guān)的強(qiáng)大的和靈活的輸入/輸出支持,Java的輸入/輸出系統(tǒng)是緊密相連并且是具有一致性的。
1.1 流的概念
Java程序通過流來完成輸入/輸出。流是生產(chǎn)或消費(fèi)信息的抽象。流通過Java的輸入/輸出系統(tǒng)與物理設(shè)備鏈接。盡管與它們鏈接的物理設(shè)備不盡相同,所有流的行為具有同樣的方式。這樣,相同的輸入/輸出類和方法適用于所有類型的外部設(shè)備。這意味著一個(gè)輸入流能夠抽象多種不同類型的輸入:從磁盤文件,從鍵盤或從網(wǎng)絡(luò)套接字。同樣,一個(gè)輸出流可以輸出到控制臺(tái),磁盤文件或相連的網(wǎng)絡(luò)。流是處理輸入/輸出的一個(gè)潔凈的方法,例如它不需要代碼理解鍵盤和網(wǎng)絡(luò)的不同。Java中流的實(shí)現(xiàn)是在java.io包定義的類層次結(jié)構(gòu)內(nèi)部的。
1.2 字節(jié)流和字符流
要使用流類,必須導(dǎo)入Java.io包。Java 2 定義了兩種類型的流:字節(jié)類和字符類。字節(jié)流(byte stream)為處理字節(jié)的輸入和輸出提供了方便的方法。例如使用字節(jié)流讀取或書寫二進(jìn)制數(shù)據(jù)。字符流(character stream)為字符的輸入和輸出處理提供了方便。它們采用了統(tǒng)一的編碼標(biāo)準(zhǔn),因而可以國(guó)際化。在某些場(chǎng)合,字符流比字節(jié)流更有效。在最底層,所有的輸入/輸出都是字節(jié)形式的?;谧址牧髦粸樘幚碜址峁┓奖阌行У姆椒?。下面是對(duì)字節(jié)流和字符流的概述。
1.2.1 字節(jié)流類
字節(jié)流由兩個(gè)類層次結(jié)構(gòu)定義。在頂層有兩個(gè)抽象類:InputStream 和 OutputStream。每個(gè)抽象類都有多個(gè)具體的子類,這些子類對(duì)不同的外設(shè)進(jìn)行處理,例如磁盤文件,網(wǎng)絡(luò)連接,甚至是內(nèi)存緩沖區(qū)。字節(jié)流類顯示于表1-1中。
表1-1 字節(jié)流類
流類 含義
BufferedInputStream緩沖輸入流
BufferedOutputStream緩沖輸出流
ByteArrayInputStream從字節(jié)數(shù)組讀取的輸入流
ByteArrayOutputStream向字節(jié)數(shù)組寫入的輸出流
DataInputStream包含讀取Java標(biāo)準(zhǔn)數(shù)據(jù)類型方法的輸入流
DataOutputStream包含編寫Java標(biāo)準(zhǔn)數(shù)據(jù)類型方法的輸出流
FileInputStream讀取文件的輸入流
FileOutputStream寫文件的輸出流
FilterInputStream實(shí)現(xiàn)InputStream
FilterOutputStream實(shí)現(xiàn)OutputStream
InputStream描述流輸入的抽象類
OutputStream描述流輸出的抽象類
PipedInputStream輸入管道
PipedOutputStream輸出管道
PrintStream包含print()和println()的輸出流
PushbackInputStream 支持向輸入流返回一個(gè)字節(jié)的單字節(jié)的“unget”的輸入流
RandomAccessFile支持隨機(jī)文件輸入/輸出
SequenceInputStream兩個(gè)或兩個(gè)以上順序讀取的輸入流組成的輸入流
抽象類InputStream 和 OutputStream定義了實(shí)現(xiàn)其他流類的關(guān)鍵方法。最重要的兩種方法是read()和write(),它們分別對(duì)數(shù)據(jù)的字節(jié)進(jìn)行讀寫。兩種方法都在InputStream 和OutputStream中被定義為抽象方法。它們被派生的流類重載。
1.2.2 字符流類
字符流類由兩個(gè)類層次結(jié)構(gòu)定義。頂層有兩個(gè)抽象類:Reader和Writer。這些抽象類處理統(tǒng)一編碼的字符流。Java中這些類含有多個(gè)具體的子類。字符流類如表1-2所示。
表1-2 字符流的輸入/輸出類
抽象類Reader和Writer定義了幾個(gè)實(shí)現(xiàn)其他流類的關(guān)鍵方法。其中兩個(gè)最重要的是read()和write(),它們分別進(jìn)行字符數(shù)據(jù)的讀和寫。這些方法被派生流類重載。
1.3 預(yù)定義流
所有的Java程序自動(dòng)導(dǎo)入java.lang包。該包定義了一個(gè)名為System的類,該類封裝了運(yùn)行時(shí)環(huán)境的多個(gè)方面。System 同時(shí)包含三個(gè)預(yù)定義的流變量,in,out和err。這些成員在System中是被定義成public 和static型的,這意味著它們可以不引用特定的System對(duì)象而被用于程序的其他部分。
System.out是標(biāo)準(zhǔn)的輸出流。默認(rèn)情況下,它是一個(gè)控制臺(tái)。System.in是標(biāo)準(zhǔn)輸入,默認(rèn)情況下,它指的是鍵盤。System.err指的是標(biāo)準(zhǔn)錯(cuò)誤流,它默認(rèn)是控制臺(tái)。然而,這些流可以重定向到任何兼容的輸入/輸出設(shè)備。System.in 是inputStream的對(duì)象;System.out和System.err是PrintStream的對(duì)象。它們都是字節(jié)流,盡管它們用來讀寫外設(shè)的字符。但可以用基于字符的流來包裝它們。
二、讀取控制臺(tái)輸入
在Java 1.0中,完成控制臺(tái)輸入的惟一途徑是字節(jié)流,使用該方法的老代碼依然存在。今天,運(yùn)用字節(jié)流讀取控制臺(tái)輸入在技術(shù)上仍是可行的,但這樣做需要用到不被贊成的方法,這種做法不值得推薦。Java 2中讀取控制臺(tái)輸入的首選方法是字符流,它使程序容易符合國(guó)際標(biāo)準(zhǔn)并且易于維護(hù)。
Java沒有像標(biāo)準(zhǔn)C的函數(shù)scanf()或C++輸入操作符那樣的統(tǒng)一的控制臺(tái)輸入方法。Java中,控制臺(tái)輸入由從System.in讀取數(shù)據(jù)來完成。為獲得屬于控制臺(tái)的字符流,在BufferedReader對(duì)象中包裝System.in。BufferedReader 支持緩沖輸入流查看批注。它最常見的構(gòu)造函數(shù)如下:
BufferedReader(Reader inputReader)
這里,inputReader是鏈接被創(chuàng)建的BufferedReader實(shí)例的流。Reader是一個(gè)抽象類。它的一個(gè)具體的子類是InputStreamReader,該子類把字節(jié)轉(zhuǎn)換成字符查看批注。為獲得鏈接System.in的一個(gè)InputStreamReader的對(duì)象,用下面的構(gòu)造函數(shù):
InputStreamReader(InputStream inputStream)
因?yàn)镾ystem .in引用了InputStream 類型的對(duì)象,它可以用于inputStream。綜上所述,下面的一行代碼創(chuàng)建了與鍵盤相連的BufferedReader對(duì)象。
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
當(dāng)該語句執(zhí)行后,br是通過System.in生成的鏈接控制臺(tái)的字符流。
2.1 讀取字符
從BufferedReader讀取字符,用read()。這里所用的read()版本如下:
int read( ) throws IOException
該方法每次執(zhí)行都從輸入流讀取一個(gè)字符然后以整型返回。當(dāng)遇到流的末尾時(shí)它返回-1。可以看到,它要引發(fā)一個(gè)IOException異常。下面的例程演示了read()方法,從控制臺(tái)讀取字符直到用戶鍵入“q”:
// Use a BufferedReader to read characters from the console.
import java.io.*;
class BRRead {
public static void main(String args[])
throws IOException
{
char c;
BufferedReader br = new
BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter characters, 'q' to quit.");
// read characters
do {
c = (char) br.read();
System.out.println(c);
} while(c != 'q');
}
}
下面是程序運(yùn)行:
Enter characters, 'q' to quit.
123abcq
1
2
3
a
b
c
q
2.2 讀取字符串
從鍵盤讀取字符串,使用readLine()。它是BufferedReader 類的成員。它的通常形式如下:
String readLine( ) throws IOException
它返回一個(gè)String對(duì)象。下面的例子闡述了BufferedReader類和readLine()方法;程序讀取和顯示文本的行直到鍵入“stop”:
// Read a string from console using a BufferedReader.
import java.io.*;
class BRReadLines {
public static void main(String args[])
throws IOException
{
// create a BufferedReader using System.in
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
System.out.println("Enter lines of text.");
System.out.println("Enter 'stop' to quit.");
do {
str = br.readLine();
System.out.println(str);
} while(!str.equals("stop"));
}
}
下面的例程生成了一個(gè)小文本編輯器。它創(chuàng)建了一個(gè)String對(duì)象的數(shù)組,然后依行讀取文本,把文本每一行存入數(shù)組。它將讀取到100行或直到按“stop”才停止。該例運(yùn)用一個(gè)BufferedReader類來從控制臺(tái)讀取數(shù)據(jù)。
// A tiny editor.
import java.io.*;
class TinyEdit {
public static void main(String args[])
throws IOException
{
// create a BufferedReader using System.in
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str[] = new String[100];
System.out.println("Enter lines of text.");
System.out.println("Enter 'stop' to quit.");
for(int i=0; i100; i++) {
str[i] = br.readLine();
if(str[i].equals("stop")) break;
}
System.out.println("\nHere is your file:");
// display the lines
for(int i=0; i100; i++) {
if(str[i].equals("stop")) break;
System.out.println(str[i]);
}
}
}
下面是輸出部分:
Enter lines of text.
Enter ‘stop’ to quit.
This is line one.
This is line two.
Java makes working with strings easy.
Just create String objects.
stop
Here is your file:
This is line one.
This is line two.
Java makes working with strings easy.
Just create String objects.
寫一個(gè)JAVA程序 輸出從1到100的整數(shù)
代碼如下:
for (int a = 1; a=100; a++)
{
system.out.println(a);
}
/////////
int a =1;
while (a =100)
{
system.out.println(a);
a++;
}
/////////
int a = 1;
do
{
system.out.println(a);
a++;
}
while (a=100)
擴(kuò)展資料:
在windows下編譯java文件、執(zhí)行:
1、先創(chuàng)建一個(gè)txt,更改為test.java。
2、編寫代碼,為輸出為holloword。
3、找到cmd,并進(jìn)行打開cmd。
4、編譯java文件,輸入命令為javac test.java。
5、如果沒有報(bào)錯(cuò),查看當(dāng)前目錄下是否有class文件產(chǎn)生。
6、執(zhí)行class文件,在命令輸入java test,輸出為holloword。
使用記事本編寫JAVA程序,并運(yùn)行輸出結(jié)果,具體的實(shí)現(xiàn)步驟是什么?
1、首先在電腦中新建一個(gè)記事本,將記事本的后綴改為“.java”,如下圖所示。
2、然后使用記事本的方式打開,輸入java程序代碼,如下圖所示。
3、接著在鍵盤上按“win+R”快捷鍵鍵打開運(yùn)行,輸入“cmd”,如下圖所示。
4、在命令行輸入“D:”,按“Enter”鍵進(jìn)去D盤,再輸入“cd Desktop”進(jìn)去Desktop文件夾,如下圖所示。
5、最后再輸入“javac Test.java”,按“Enter”鍵編譯java程序,如下圖所示就完成了。
當(dāng)前名稱:java輸出代碼怎么寫 java的輸入和輸出程序的編寫
網(wǎng)址分享:http://www.dlmjj.cn/article/higcid.html