研究问题:
- 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();
}
}
}