java基本输入输出
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
import java.io.*; class Input_Exp1{ public static void main(String[] args) { int n=-1; char ch=' '; System.out.println("请输入一个字符:"); 请输入一个字符: 请输入一个字符
3、流的分类 、
根据流中数据传输的方向,将流分为: 根据流中数据传输的方向,将流分为:
– 输入流:从键盘或磁盘文件流向程序的数据流,为程序提 输入流:从键盘或磁盘文件流向程序的数据流,
供输入信息。 供输入信息。 – 输出流:从程序流向显示器、打印机、磁盘文件的数据流, 输出流:从程序流向显示器、打印机、磁盘文件的数据流, 实现程序的输出功能。 实现程序的输出功能。
程序输出,通常向用户显示信息。 程序输出,通常向用户显示信息。
— System.err: 标准错误流 , 默认指屏幕 , 用于 : 标准错误流, 默认指屏幕,
向用户显示出错信息。 向用户显示出错信息。
14
2 标准输出流
标 准 输 出 流 使用 System 类 的 静 态 属 性 out 的 print() 和 println()方法提供向屏幕输出不同类型数据的功能。实现格 方法提供向屏幕输出不同类型数据的功能。 方法提供向屏幕输出不同类型数据的功能 式如下: 式如下: System.out.print() System.out.println() 注意: 注意:out为OutputStream类的子类FilterOutputStream 为 类的子类
13
Java系统预先定义的标准IO流 Java系统预先定义的标准IO流 系统预先定义的标准IO
— System.in:标准输入流,默认指键盘,用于程 :标准输入流,默认指键盘, 序输入,通常读取用户从键盘输入的信息。 序输入,通常读取用户从键盘输入的信息。
— System.out: 标准输出流 , 默认指屏幕 , 用于 : 标准输出流, 默认指屏幕,
6
1、Java中流类的总图如下: Java中流类的总图如下: 中流类的总图如下
用于输入的字节 流 用于输入的字符 流类
用于输出的字节 流
用于输出的字符 流类
7
2、字节流类
字节流以字节方式从流中读取或向流中写入数据, 字节流以字节方式从流中读取或向流中写入数据,字节流类 有:
– 输入流类InputStream及其子类 输入流类InputStream InputStream及其子类 – 输出流类OutputStream及其子类 输出流类OutputStream OutputStream及其子类
举例2Hale Waihona Puke Baidu举例
编写程序:从键盘输入一个 到 的数字 的数字, 编写程序:从键盘输入一个0到9的数字,将数字字 符的编码值和字符本身输出到屏幕上, 符的编码值和字符本身输出到屏幕上,如果输入 的不是0到 的数字 则给出出错提示信息。 的数字, 的不是 到9的数字,则给出出错提示信息。 提示: 提示: 注意read()方法的使用。 方法的使用。 ① 注意 方法的使用 需要人工抛出异常。 ② 需要人工抛出异常。
10
三、标准输入/输出 标准输入/
标准输入/输出; 标准输入 /输出;指面向标准输入设备和标准输出设备 的输入/输出。 的输入/输出。 标准输入设备:现阶段默认为键盘。 标准输入设备:现阶段默认为键盘。 标准输出设备:现阶段默认为显示器。 标准输出设备:现阶段默认为显示器。
11
1、System类 System类 System
创建流,只能用它们的子类创建字节输入或字节输出流。 创建流,只能用它们的子类创建字节输入或字节输出流。
8
字节流类的继承图: 字节流类的继承图:
9
字节流类中的几个重要方法
read()方法:InputStream类中的静态方法,用于从输入字节 方法: 类中的静态方法, 方法 类中的静态方法 流中读出一个字节。 流中读出一个字节。 print()方法 : OutputStream 类的子类 方法: OutputStream类的子类 类的子类FilterOutputStream的 方法 的 子类PrintStream的方法 。 用于输出不同类型的数据信息 。 的方法。 子类 的方法 用于输出不同类型的数据信息。 println()方法:和print()方法唯一的区别是 方法: print()方法唯一的区别是println()方法输 方法 方法唯一的区别是 方法输 出对象之后附带一个回车,下一次将在下一行中输出。 出对象之后附带一个回车,下一次将在下一行中输出。
的子类PrintStream创建的对象,而print()和println()方 创建的对象, 的子类 和 方 类的成员方法。 法为PrintStream类的成员方法。
15
3 标准输入流
标准输入流使用System类的静态属性 的 read()方法 类的静态属性in的 标准输入流使用 类的静态属性 方法 从键盘读取一个字节到程序。实现格式如下: 从键盘读取一个字节到程序。实现格式如下: System.in.read() 功能:执行该方法时,等待用户击键,当击一次键后, 功能:执行该方法时,等待用户击键,当击一次键后, 该方法从输入流中读出一个字节(所键入字符的ASCII 该方法从输入流中读出一个字节(所键入字符的 ),然后将该字符的 然后将该字符的ASCII码换成 码换成Unicode编码,返回 编码, 码),然后将该字符的 码换成 编码 值为Unicode编码的 型数。按回车输入结束。 编码的int型数 值为 编码的 型数。按回车输入结束。
根据流中的数据格式,将流分为: 根据流中的数据格式,将流分为:
– 字符流:以字符为传输单位; 字符流:以字符为传输单位; – 字节流:以字节为传输单位; 字节流:以字节为传输单位;
5
二、Java中提供的IO流 Java中提供的IO流 中提供的IO
为了便于流的处理,Java在Java.io包中提供了丰富的类 包中提供了丰富的类, 为了便于流的处理, Java 在Java.io 包中提供了丰富的类, 每个类代表了一种特定的输入或输出流。 每个类代表了一种特定的输入或输出流。 利用输入流类可以建立输入流对象,利用输入数据流类提供 利用输入流类可以建立输入流对象, 的方法可以从输入设备将数据读入到程序中; 的方法可以从输入设备将数据读入到程序中; 利用输出流类可以建立输出流对象, 利用输出流类可以建立输出流对象,利用输出数据流类提供 的方法可以将程序产生的数据写到输出设备上; 的方法可以将程序产生的数据写到输出设备上;
19
20
try{ n=System.in.read(); ch=(char)n; System.out.println(“输入字符的 输入字符的unicode编码值为: 编码值为: 输入字符的 编码值为 "+n); System.out.println("输入的字符为 输入的字符为"+ch); 输入的字符为 } catch(IOException e){ System.out.println("输入的不是字符,输入有误!"); 输入的不是字符,输入有误! 输入的不是字符 } } }
InputStream和 OutputStream分别是所有字节输入 InputStream 和 OutputStream 分别是所有字节输入 类和字节输出类流的祖先。 类和字节输出类流的祖先。 InputStream和OutputStream为抽象类, InputStream和OutputStream为抽象类,不能用来直接
17
举例1 举例
编写程序:从键盘输入一个字符,将字符的编码值 编写程序:从键盘输入一个字符, 和字符本身输出到屏幕上。 和字符本身输出到屏幕上。 提示: 提示: 注意read()方法的返回类型。 方法的返回类型。 ① 注意 方法的返回类型 注意read()方法只能读取一个字符。 方法只能读取一个字符。 ② 注意 方法只能读取一个字符 注意read()方法要进行异常处理。 方法要进行异常处理。 ③ 注意 方法要进行异常处理
3
2、流的示意图 、
A stream
数据源
reads
Program
当程序要从数据源点获得数据时, 当程序要从数据源点获得数据时,必须在程序和数据源之 间建立输入流。 间建立输入流。 Program
writes A stream
目标
4
当程序要把结果输送到数据终点时, 当程序要把结果输送到数据终点时 , 必须在程序和数据终 点之间连接建立输出流。 点之间连接建立输出流
2
一、Java中流的概念 Java中流的概念
日常生活中所说的流: 日常生活中所说的流:
日常生活中的流可以被理解为一根“导管” 日常生活中的流可以被理解为一根“导管”。 导管的特点:单向性。 导管的特点:单向性。 1、什么是流? 导管”中的流类似于Java语言中的IO Java语言中的IO流 “导管”中的流类似于Java语言中的IO流。 Java语言中,流是程序在输入输出过程中流动的数据序列。 Java语言中,流是程序在输入输出过程中流动的数据序列。 语言中 流动的数据序列 流有两个端口:一端与数据源点(当输入数据时) 流有两个端口:一端与数据源点(当输入数据时)或数据 终点(当输出数据时)相连,另一端与程序相连。 终点(当输出数据时)相连,另一端与程序相连。
Java的基本输入与输出
0
本章目标
1 2
理解相关基本概念。 理解相关基本概念。 使用键盘进行单个字符、字符串、 使用键盘进行单个字符、字符串、数值类型数据 的输入。 的输入。
1
Java的基本输入与输出方式
1. 2.
字符界面方式(本章内容) 字符界面方式(本章内容) 图形界面方式(以后介绍) 图形界面方式(以后介绍)
16
说明: 说明:
in是System类的一个属性,代表系统标准输入(键盘)。 是 类的一个属性, 类的一个属性 代表系统标准输入(键盘)。 In属性是 属性是InputStream类的对象, InputStream类中的方 类的对象, 属性是 类的对象 类中的方 用于接受从标准输入设备输入的字符。 法read()用于接受从标准输入设备输入的字符。执行 用于接受从标准输入设备输入的字符 System.in.read()会得到输入字符的 会得到输入字符的unicode编码值。 编码值。 会得到输入字符的 编码值 在java中,当进行键盘输入时要处理可能发生的异常现象, 中 当进行键盘输入时要处理可能发生的异常现象, 因此程序设计时使用的System.in.read()语句必须包含在 因此程序设计时使用的 语句必须包含在 try语句块中,而且 语句块的后面应该有一个可以接收 语句块中, 语句块中 而且try语句块的后面应该有一个可以接收 IOException异常的 异常的catch语句块。 语句块。 异常的 语句块
System类是Java语言中一个功能强大、 System类是Java语言中一个功能强大、非常有 类是Java语言中一个功能强大 用的类,它提供了标准输入与输出、 用的类,它提供了标准输入与输出、运行时的系 统信息等重要工具,是属于java.lang java.lang包的一个终 统信息等重要工具,是属于java.lang包的一个终 止类。 止类。 System类不能创建对象 类不能创建对象, System类的属性和 System类不能创建对象,即System类的属性和 方法都是静态的,引用时要以System为前缀。 System为前缀 方法都是静态的,引用时要以System为前缀。 in、out、err为System类的三个静态属性 类的三个静态属性。 in、out、err为System类的三个静态属性。
12
Java系统内预定义的标准 流定义格式 系统内预定义的标准IO流定义格式 系统内预定义的标准
public final class java.lang.System extends java.lang.object{ public static InputStream in; public static PrintStream out; public static PrintStream err; }