Java流程控制
1.用户交互Scanner
用处:
之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以获取用户的输入。java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。
基本语法:
scanner s = new Scanner(System.in);
通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。
next():与nextLine()方法区别
总之就是,next() 遇到空白 就不会输出后面的内容
package com.bin.scanner;
import java.util.Scanner;//导入的Java工具类
public class Dom01 {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);//通过 System.in 接受用户的输入
//第二个 scanner 用来进行用户的输入扫描测试
System.out.println("使用next的方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next的方式接收:
String str = scanner.next();//程序会等待用户输入完毕
System.out.println("输出的内容为"+str);
//凡是属于Io流的类如果不关闭会一直占用资源.要养成好习惯用完就关掉
//Io流就是输入输出,与电脑打交道的东西
scanner.close( );//关掉scanner的语句
}
}
}
不使用判断语句也能实现
package com.bin.scanner;
import java.util.Scanner;
//不设置判断语句进行Scanner 输入输出操作
public class Dom03 {
public static void main(String[] args) {
//从键盘接受数据
Scanner scanner = new Scanner(System.in);//开始
System.out.println("请输入数据:");//输入
String str = scanner.nextLine();//保存输入的东西到str再输出
System.out.println("使用nextLine方式接收:"+str);//输出
scanner.close();//关闭scanner io流
}
}
进阶用法
指定类型输入输出
package com.bin.scanner;
import java.util.Scanner;
public class Dom04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.println("请输入整数:");
//如果...那么
if (scanner.hasNextInt()){
//判断输入的东西,这里是判断是否为int类型
i= scanner.nextInt();//接收是否有下一个整数
System.out.println("整数数据:" +i);
}else {
//如果不是整数,则输出一下数据
System.out.println("输入的不是整数数据! ");
}
System.out.println("请输入小数");
if (scanner.hasNextFloat()){
//判断输入的东西,这里是判断是否为int类型
f= scanner.nextFloat();//接收是否有下一个小数
System.out.println("小数数据:" +f);
}else {
//如果不是小数,则输出以下数据
System.out.println("输入的不是小数数据! ");
}
//next所有方法会让用户等待输入,然后才能进行下一步操作
scanner.close();
}
}
案例
可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
package com.bin.scanner;
import java.util.Scanner;
public class Dom05 {
public static void main( String[]args) {
// 实例:我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:
Scanner scanner = new Scanner(System.in) ;
//求和