Java学习 (10)Java流程控制篇(01)Scanner
目录Java提供了Scanner工具类,我们可以通过Scanner类来获取用户的输入
java.util.Scanner是 Java5 的新特征
基本语法
Scanner s = new Scanner(System.in);
public static void main(String[] args) { //创建一个扫描器对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if (scanner.hasNext()){ //使用next方式接收 String str = scanner.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关闭会一直占用资源,要养成好习惯用完就关闭 scanner.close(); } /*run: 使用next方式接收: hello world! 输出的内容为:hello */
常使用
public static void main(String[] args) { //创建扫描器 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //使用nextLine接收 String str = scanner.nextLine(); System.out.println("输出的内容为:"+str); scanner.close(); } /*run: 使用nextLine方式接收: hello world! 输出的内容为:hello world! */
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()){//这是种定义方法 i = scanner.nextInt(); System.out.println("整数数据:"+ i); }else { System.out.println("输入的不是整数数据:"+ i); } System.out.println("请输入小数:"); //如果。。。=那么 if (scanner.hasNextFloat()){ f = scanner.nextFloat(); System.out.println("小数数据:"+ f); }else { System.out.println("输入的不是小数数据:"+ f); } scanner.close(); } /*run: 请输入整数: 10 整数数据:10 请输入小数: 1.1 小数数据:1.1 */(1) /*run: 请输入整数: 1.1 输入的不是整数数据:0 请输入小数: 小数数据:1.1 */(2)
public static void main(String[] args) { //输入多个数据,并求数据总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并求出其执行结果 Scanner scanner = new Scanner(System.in); //定义和 double sum = 0; //计算输入数字总和 int m = 0; System.out.println("请输入数字:"); //通过循环判断是否还有输入,并在面对每一次进行求和和统计 while (scanner.hasNextDouble()){ double v = scanner.nextDouble(); m++; sum += v; System.out.println("你输入了第" +m+ "个数据,当前结果sum:"+sum); } System.out.println(m + "个数的和为:" + sum); System.out.println(m + "个数的平均数为:" + (sum/m) ); scanner.close(); } /*run: 请输入数字: 10 你输入了第1个数据,当前结果sum:10.0 20 你输入了第2个数据,当前结果sum:30.0 30 你输入了第3个数据,当前结果sum:60.0 40 你输入了第4个数据,当前结果sum:100.0 x 4个数的和为:100.0 4个数的平均数为:25.0 */