《Java语言程序设计》第2章复习题(2)
2.3.1 如何编写一条语句,让用户从键盘输入一个双精度值?在执行下面的代码的时候,如果你输入5a,将会发生什么?
double radius = input.nextDouble();
Java使用System.out来表示标准输出设备,用System.in来表示标准输入设备。默认情况下,输出设备是显示器,而输入设备是键盘。为了执行控制台输出,只需使用println方法在控制台上显示基本数据类型值或字符串。为了获得控制台输入,可以使用Scanner类创建一个对象,以读取来自System.in的输入,如下所示:
Scanner input = new Scanner(System.in);
语法new Scanner(System.in)创建了一个Scanner类型的对象。语法Scanner input声明input是一个Scanner类型的变量。整行语句Scanner input = new Scanner(System.in)创建了一个Scanner对象,并且将它的引用赋给变量input。对象可以调用其方法。调用对象的方法就是让这个对象执行某个任务。可以调用nextDouble()方法来读取一个double值,如下所示:
double radius = input.nextDouble();
2.3.2 下面的两个import语句有什么性能差异吗?
import java.util.Scanner;
import java.util.*;
有两种类型的import语句:特定导入(specific import)和通配符导入(wildcard import)。特定导入是在import语句中指定单个的类。例如,下面的语句就是从包java.util中导入Scanner。
import java.util.Scanner;
通配符导入是指通过使用星号作为通配符,导入一个包中所有的类。例如,下面的语句导入java.util中所有的类。
除非要在程序中使用某个类,否则被导入包中的这些类的信息在编译时或运行时是不被读取的。导入语句只是告诉编译器在什么地方能找到这些类。声明特定导入和声明通配符导入在性能上是没有差别的。