在学习Scanner交互前,先简单了解一下包机制。
包机制
为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
包语句的语法格式为:
package pkg1[. pkg2[. pkg.3...]];
关键字package又名Java使用包,这种机制可以防止命名冲突,打个比方,就是我们可以在不同文件夹下放相同名字的文件。
1.一般利用公司域名倒置作为包名
例如,com.baidu.www
2.为了能使用某一个包的成员,我们需要在java程序中明确导入该包,使用"import"完成此功能
import package1[.package2...].classname|*);
3.创建软件包也利于我们更好的整理文件
Scanner对象
通过Scanner类,我们可以获取用户的输入,实现程序与人的交互。
通过Scanner类的 next() 与 nextLine() 方法 获取输入的字符串,在读取之前我们一般需要使用hasNext或hasNextLine 判断是否还有输入的数据。
基础语法:
Scanner a = new Scanner(System.in);
快捷方式:
1.输入new Scanner(System.in);
2.alt + 回车(两次),
第一次会自动导入包import java.util.Scanner;
第二次(引入局部变量)
3.回车(省去点击“引入局部变量”)
4.搞定了,Scanner scanner = new Scanner(System.in);
在之后学习struct结构前,稍微了解下if双选择结构的使用方法。
if(如果)else(那么)
public class.Demo01
public static void main(String[] args){
//定义一个值
int a = 5;
int b = 12;
if(a < b){
System out println("b比a大");
}else {
System out println("a比b大");
}
//b比a大
}
next
package com.java.scanner;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
/*
1.next不能得到带有空格的字符串
2.与nextline相比,next更省内存
*/
//创建一个扫描器对象,用于接收键盘数据
Scanner a = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if (a.hasNext()){
//使用next方式接收
String str =a.next();
System.out.println("输入的内容为:"+str);
}
//凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关掉
a.close();
}
}
nextline
package com.java.scanner;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
/*
1.nextline可以有空格
*/
Scanner scanner = new Scanner(System.in);
System.out.println("使用nextLine方式接收:");
if (scanner.hasNextLine()){
String str = scanner.nextLine();
System.out.println("输出的内容为:"+str);
}
scanner.close();
}
}
hasNext与hasNextLine
package com.java.scanner;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
//从键盘接收数据
Scanner scanner = new Scanner(System.in);
int a = 5;
double b = 1.1f;
System.out.println("请输入整数:");
//如果...那么
if (scanner.hasNextInt()){
a = scanner.nextInt();
System.out.println("整数数据:"+a);
}else {
System.out.println("输入的表示整数数据!");
}
System.out.println("请输入小数数据:");
//如果...那么
if (scanner.hasNextDouble()){
b = scanner.nextDouble();
System.out.println("小数数据:"+ b);
}else {
System.out.println("输入的不是小数数据!");
}
scanner.close();
}
}
小技巧
按住ctrl键,点击包上相应的内容(例:scanner),可以查看源代码,
再点击左下角的structure,就能查看方法了。