数据输入/输出(I/O,Input/Output)是各种高级语言需要支持的基本功能之一,真正的交互就应允许用户在程序运行过程中从外界传递数据到程序中(此为输入数据),并将处理结束传递到程序外部,如显示到屏幕上或写出到文件中(此为输出数据)。控制台输入和输出也叫标准输入输出。
一、什么是控制台
“控制台”(console)就是有操作系统提供的一个字符界面窗口(一般为25行宽*80列高、黑体白字,当然这些显示效果可被重新设置),用于实现系统与用户的交互——接受用户输入的数据并显示输出结果。随着windows操作系统的出现,图形用户界面开始使用,控制台界面的使用越来越少。
为了继续支持用户直接使用底层控制命令,以实现和系统交互,win98及以前版本中确实带一套单独的MS DOS操作系统,但是在后来的操作系统中,已不再带有正真的Dos系统,都只是提供了一个模拟的“字符界面”,这也叫“控制台”或“命令行窗口”。因此说“控制台”并不等同于DOS操作系统。
二、读取控制台入
在jdk5.0以前,java中读取控制台输入的方法比较复杂,一般是先以行为单位将控制台输入作为字符串接受,在进行解析。转换为整型,浮点型等。
例如:
源文件:TestScanner.java
import java.util.Scanner;
public class TestScanner{
public static void main(String[] args){
scanner s=new Scanner(System.in);
System.out.print(“请输入你的姓名:”);
String name=s.nextLine();
System.out.print(“请输入你的年龄:”);
int age=s.nextInt();
System.out.print(“请输入你的工资:”);
double salary = s.nextDouble();
System.out.println(“详细信息为:\n姓名:”+name);
System.out.println(“\t年龄:”+age+”岁\t工资:”+salary+”元”);
}
}
输出结果:
请输入你的姓名:张三
请输入你的年龄:15
请输入你的工资:3200.0
详细信息:
姓名:张三 年龄:15岁 工资:3200.0元
其中,源文件开头的
import
语句作用是导入
java.util
包中定义的
Scanner
类,以后会涉及到。
System.in
是一个由系统提供的关联到控制台输入的
java
对象。
Scanner类的功能并不是仅限于控制台输入数据的读取,它的对象还可以关联到字符串、文件或其他的数据源,这里简单介绍几个常用的方法:
1.public Scanner(InputStream source)
构造方法:新创建的Scanner对象关联到指定的输入流。输入流在以后再做详细介绍
2.public String next()
读取下一个单词,以空格符或换行符作为分隔单词的标记。
3.public String nextLine()
读取一行,以换行符作为分隔行的标记
4.public int nextInt()
读取一个整数,如果输入的下一个单词不能解析为有效的整数(例如包含汉字等非数值字符)出错
5.public double nextDoublie()
读取一个双精度浮点数,如果输入的下一个单词不能解析为有效的浮点数,则出错
6.Public boolean nextBoolean()
读取一个布尔值,如果输入的下一个单词不能解析为有效的boolean值(turn或false),则出错