研究問題:
- Java每種類型的流的區別?
- print\println\printf區別?
要點:
- Java分爲字節流,字符流。
字節流 | 字符流 | |
---|---|---|
抽象父類 | InputStream,OutputStream | Reader,Writer |
BufferedInputStream/BufferedOutputStream緩衝流-過慮流 | BufferedReader/BufferedWriter | |
ByteArrayInputStream/ByteArrayOutputStream字節數組流-節點流 | CharArrayReader/CharArrayWriter | |
DataInputStream/DataOutputStream處理JAVA標準數據流-過慮流 | InputStreamReader/OutputStreamWriter | |
FileInputStream/FileOutputStream處理文件IO流-節點流 | FileReader/FileWriter | |
FilterInputStream/FilterOutputStream實現過慮流-字節過慮流父類 | FilterReader/FilterWriter | |
PipedInputStream/PipedOutputStream管道流 | PipedReader/PipedWriter | |
PrintStream包含print()和println() | PrintWriter | |
RandomAccessFile支持隨機文件 | StringReader/StringWriter |
目的:提高性能和使用方便
Printf主要繼承C語言中printf的一些特性,可以進行格式化輸出。
Print 一般的標準輸出,但不換行。print將它的參數顯示在命令窗口,並將輸出光標定位在所顯示的最後一個字符之後。
Println(“test”)相當於print(“test\n”),將參數顯示在命令窗口,並在結尾加上換行符,將輸出光標定位在下一行開始。
截圖展示區:
- Java常用的兩種鍵盤獲取方式:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class MainClass
{
public static void main1(String[] args)
{
//使用Scanner
Scanner scanner=new Scanner(System.in);
System.out.print("Please input a number:");
int num=scanner.nextInt(); //獲取整數值
System.out.println("The number you input is:"+num);
System.out.println("----------------------------");
System.out.print("Please input some character:");
String str=scanner.next(); //獲取字符串值
System.out.println("The string you input is:"+str);
}
public static void main(String[] args)
{
//使用BufferedReader
try
{
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input a number:");
String str=reader.readLine(); //獲取字符串
System.out.println("The number you input is:"+str);
} catch (IOException e)
{
e.printStackTrace();
}
}
}