您的位置:首页 > 编程语言 > Java开发

Java基础: 基本输入输出

2011-03-12 22:16 543 查看
输入和输出是应用程序与用户进行交互的方式,在命令行方式下通过标准输入和输出设备(键盘和显示器的控制台),在windows应用中可以通过图形用户界面与用户进行交互,而Web应用中主要通过浏览器和HTML语言与用户进行交互。图形用户界面现在用的不是很多,而Web应用比较多。而在学习Java基本语法的时候,基本的通过命令行方式的输入和控制台方式的输出使用比较方便,可以采用这种方式。本次内容介绍基本的通过命名行方式的输入和输出。
基本输出
输出主要使用System.out.print和System.out.println方法。它们的区别是前者不换行,而后者输出之后会换行。可以输出任何数据类型。例如:
System.out.println(1111);
System.out.println(true);
System.out.println(2323.33);
System.out.println("字符串");
System.out.println('a');
基本输入
下面主要介绍如何接受键盘的输入。
最基本的方式是通过System.in.read()方法,但是该方法每次接收一个字符,方法的返回值是该字符的编码。例如,要接收一个输入,可以使用如下代码:
temp = System.in.read();
其中,temp为int类型变量。
如果要接收一个数字,例如22,需要自己处理,下面的例子展示了如何把输入信息转换成数字:
【例1】
package iotest;

public class SimpleIOTest {

/**
* @param args
*/
public static void main(String[] args) {
System.out.println("请输入5个整数,以空格分开,以回车结束:");
try{
// 用于保存5个数字的数组
int a[]=new int[5];
int i=0;
int temp;
while(true){
// 获取输入字符
temp = System.in.read();
if((char)temp==' '){
//
遇到空格表示下一个整数
i++;
}
else if((char)temp=='/r'){
//
换行符结束
break;
}else{
//
把输入的字符构造成数字
a[i] = a[i]*10+Integer.parseInt(String.valueOf((char)temp));

}
}
for(int element:a){
// 循环输出5个数字
System.out.println(element);
}
}catch(Exception e){
System.out.println("异常:"+e.toString());
}
}
}
这种方式非常麻烦,下面介绍两种常用的方式。
使用BufferedReader
BufferedReader对基本输入流System.in进行了封装,使用它每次可以读入一行数据,然后可以再对数据进行分析,下面的例子完成了与上面的例子相同的功能,但是代码更容易理解,里面有很多代码不理解没有关系,先记住代码。
【例2】
package iotest;

import java.io.InputStreamReader;
import java.io.BufferedReader;

public class BufferedReaderTest {
public static void main(String args[]){
System.out.println("请输入5个整数,以空格分开,以回车结束:");
try{
// 用于保存5个数字的数组
int a[] = new int[5];
// 创建输入流对象
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// 读取一行信息
String input = reader.readLine();
// 以空格为分隔符,转换成数组
String[] numbers = input.split(" ");
// 把字符串转换为数字,并输出
for(int i=0;i<5;i++){
// 把字符串转换为数字
a[i] = Integer.parseInt(numbers[i]);
System.out.println(a[i]);
}

}catch(Exception e){
System.out.println("异常:"+e.toString());
}
}
}
使用Scanner
使用BufferedReader使代码简单了一些,但是还不够简单,使用Scanner可以使代码更简单。下面的代码展示了用法。
【例3】
package iotest;

import java.util.Scanner;

public class ScannerTest {

public static void main(String[] args) {
System.out.println("请输入5个整数,以空格分开,以回车结束:");
try{
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);

// 用于保存5个数字的数组
int a[] = new int[5];

for(int i=0;i<5;i++){
// 把字符串转换为数字
a[i] = scanner.nextInt();
System.out.println(a[i]);
}

}catch(Exception e){
System.out.println("异常:"+e.toString());
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: