JAVA的包机制
我们知道在windows下的同一个文件夹中,不允许有两个文件名一致的文件。比如:
所以在JAVA中,为了更好地组指类,JAVA提供了包机制,用于区分类名的命名空间。
其语法格式为:
package pkg1[.pkg2[.pkg3...]]
如果要导入一个包中所有的类,可用使用通配符*
!
需要注意的一些规范是:
-
一般利用域名倒置作为包名称
比如百度的域名为www.baidu.com
那么我们建包可以是com.baidu.www -
为了能够使用某个包中的某个成员,我们需要在程序中导入该包,需要使用
import
import package1[.package2...].(classname|*)
注意
包一定要放在最前面!
用户交互
JAVA提供了一个获取用户输入的工具类:Scanner
。用完Scanner类之后,需要关闭它scanner.close()
基本的语法是:
Scanner 变量名= new Scanner(System.in)
和C语言scanf函数不一样,Scanner类是通过next()
和nextLine
这两个方法来或获取用户输入的,并且在读取之前我们一般要使用hasNext()
和hasNextLine()
来判断用户是否有输入。
实例代码如下:
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//使用next方法接受
if (scanner.hasNext()){
String getString = null;
getString = scanner.next();
System.out.println(getString);
}
scanner.close();
}
}
运行结果:
可以看到我们输入的是hello world,但是得到的只有hello这个字符串,这是因为用next()方法,是不能得到空白符后面的字符串的,所以在平时的使用中,我们很少会用到next()方法。
那么我们想要得到完整的字符串的话,应该如何操作呢?这就需要用到我们的nextLine()方法:
import java.util.Scanner;
public class Demo2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//使用next方法接受
if (scanner.hasNextLine()){
String getString = null;
getString = scanner.nextLine();
System.out.println(getString);
}
scanner.close();
}
}
运行结果: