购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 基本输入与输出功能

输入(Input)与输出(Output)是一个程序基本的功能。在Java中有各种负责数据输入输出的相关数据流(Data Stream)类,但是基础的I/O操作莫过于使用System类中的out对象与in对象,它们各自都拥有一些与标准输入(in对象)和输出(out对象)相关的方法(Method)。

2.3.1 在屏幕上输出数据

Java的标准输出语句的声明方式如下:


System.out.print(数据);       //不会换行
System.out.println(数据);      //会换行

·System.out:代表系统的标准输出。

·println与print:它们的功能是将括号内的字符串打印输出。差别在于print在输出内容后不会换行,而println则会在输出内容后自动换行。

·数据的格式可以是任何类型,包括变量、常数、字符、字符串或对象等。

再看看下面的程序语句的输出情况:


System.out.println("字符串A" + "字符串B");    //使用运算符“+”来执行字符串的串接运算
System.out.println (布尔值变量?变量A:变量B);    //使用三元条件运算符来进行条件判断

【范例程序:CH02_06】


01    //程序:CH02_06.java,基本输出
02    public class CH02_06 {
03        public static void main(String args[]) { //声明变量
04            String myStringA = "第一个字符串";
05            String myStringB = "第二个字符串";
06            String myStringC = "会串接在一起";
07            int myIntA = 3;
08            boolean myBoolean = true;
09            //在屏幕上输出
10            System.out.print("[JAVA基本输出练习]\n");
11            System.out.println("“真”的英文是" + myBoolean);
12            System.out.println(myStringA + myStringB);
13            System.out.println(myStringC);
14            System.out.println("1 + 2 = " + myIntA);
15            System.out.println("5 - 3 = " + (5 - myIntA));
16        }
17    }

【程序的执行结果】

程序的执行结果可参考图2-9。

图2-9

【程序的解析】

第10行:使用\n转义控制字符强制print()方法执行换行操作。

第10~15行:示范各种基本输出使用模式。

2.3.2 从键盘输入数据

在Java中,标准输入可以使用System.in,并配合read()方法,使用方式如下:


System.in.read();

·System.in:代表系统的标准输入。

·read():这个方法的功能是先从输入流(例如键盘输入的字符串)中读取下一个字节,再返回这个字符的ASCII码(0~255之间的整数)。

例如下面的程序语句:


System.out.println("请从键盘输入一个字符");
char data = (char) System.in.read();

在这段程序中,因为read()会返回整数类型,要对返回的数值进行类型转换的操作(将int类型转换为char类型),所以必须在read方法前面加上“(char)”。另外,read()方法一次只能读取一个字符,由于在此程序中仅有一行调用read()方法的语句,因此在键盘上无论输入多少个字符,它都只会读取第一个字符的ASCII值。

【范例程序:CH02_07】


01    //程序:CH02_07.java,基本输入
02    import java.io.*;
03    public class CH02_07 {
04        private static char myData;
05        public static void main(String args[]) throws IOException {
06            System.out.print("[基本输入练习]\n");
07            System.out.print("请输入字符:");
08            //输入字符
09            myData = (char)System.in.read();
10            System.out.println("输入的字符为:" + myData);
11        }
12    }

【程序的执行结果】

程序的执行结果可参考图2-10。

图2-10

【程序的解析】

第04行:声明一个字符变量myData,用以存储用户键盘所输入的字符数据。

但问题是输入的数据类型不可能只限于单个字符,基于这个理由,我们不妨使用java.util.Scanner类,在这个类中可以通过Scanner对象来从外界获取输入的数据。有关Scanner对象的创建方式,必须使用new运算符,其声明的语法如下:


java.util.Scanner input_obj=new java.util.Scanner(System.in);

当以上述语句创建好Scanner对象后,就可以调用该对象所提供的方法来获取用户从键盘输入的数据。例如要输入一整行字符串,Scanner对象提供了nextLine()方法;要获取输入的整数,Scanner对象提供了nextInt()方法;要获取输入的浮点数,Scanner对象提供了nextDouble()方法。下面为获取各种数据类型输入的语句: 1abcj2dhdsGf7rnZsQfFovcHZK5ln9VAM/c/sUeY25x4/lneu1NOiap3Ehiug0je


java.util.Scanner input_obj=new java.util.Scanner(System.in);
System.out.print("请从键盘输入字符串类型: ");
String StrVal =input_obj.nextLine();
System.out.println("您所输入的字符串值为 "+StrVal);
        
System.out.print("请从键盘输入整数类型: ");
int IntVal =input_obj.nextInt();
System.out.println("您所输入的整数值为 "+IntVal);
        
System.out.print("请从键盘输入浮点数类型: ");
double DoubleVal =input_obj.nextDouble();
System.out.println("您所输入的浮点数为 "+DoubleVal);

点击中间区域
呼出菜单
上一章
目录
下一章
×