首页 > 编程语言 >java_day05

java_day05

时间:2022-10-03 16:45:26浏览次数:58  
标签:java Scanner System day05 println out 输入 scanner

Java流程控制

用户交互Scanner

  • Java给我们提供了一个工具类,让我们可以获取用户的输入。java.util.Scanner 是Java5的新特性

  • 基本语法

    Scanner s = new Scanner(System.in);

  • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前我们一般需要使用hsaNext()与hasNextLine()判断是否还有输入的数据

    • next()
      • 一定读取到有效字符才可以结束输入
      • 对输入有效字符之前遇到的空白,next会自动将其去掉 如“ 你好”,会输出“你好”
      • 只有输入有效字符后才将后面输入的空白作为分隔符或者结束符
      • next方法不能得到带有空格的字符串
    • nextLine()
      • 以Enter为结束符,即可以获取回车之前的所有字符
      • 可以获取空白
public class Demo1 {
    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();
    }
}
public class Demo2 {
    public static void main(String[] args) {

        //创建scanner类对象
        Scanner scanner = new Scanner(System.in);

        //使用if语句判断scanner对象中是否含有字符串
        if(scanner.hasNext()){    //这里其实有个小疑问:为什么不用hasNextline?
            //使用nextLine方法接收字符串
            String str = scanner.nextLine();

            System.out.println(str);
        }
        //IO流类用完记得关闭,解放资源
        scanner.close();

    }
}

Scanner的进阶使用

public class Demo3 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        //从键盘接收数据
        int i = 0;
        float f = 0.0f;

        System.out.println("请输入整数:");

        //if语句
        if(scanner.hasNextInt()){
            i = scanner.nextInt();
            System.out.println("整数为:"+i);
        }else {
            System.out.println("输入的不是整数!");
        }

        System.out.println("请输入小数:");
        if(scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数为:"+f);
        }else {
            System.out.println("你输入的不是小数!");
        }
    }
}
public class Demo4 {
    public static void main(String[] args) {
        //输入多个数字,求和与平均数,每输入一个数字用回车确认,通过输入非数字结束输入并输出结果

        Scanner scanner = new Scanner(System.in);

        //和
        double sum = 0;
        //计算输入数字的个数
        int n = 0;

        //通过while循环判断是否还有输入,并在循环中进行求和及统计
        while(scanner.hasNextDouble()){
            double d = scanner.nextDouble();
            n = n + 1;
            sum = sum + d;
            System.out.println("你已经输入了"+n+"个数");
            System.out.println("当前和为:"+sum+" 平均值为:"+(sum/n));
        }

        System.out.println(n+"个数的和为:"+sum);
        System.out.println(n+"个数的平均值为:"+(sum/n));

        scanner.close();
    }


}

标签:java,Scanner,System,day05,println,out,输入,scanner
From: https://www.cnblogs.com/onlyxue/p/16750720.html

相关文章

  • java_day04
    Java基础包机制包实质上就是文件夹一般利用公司域名倒置作为包名JavaDocjavadoc命令是用来生成自己的API文档的参数信息@author作者名@version版本号@since......
  • Java SE 宋红康 days04-高级篇-网络编程
    1.Socket:端口号与IP地址的组合得出一个网络套接字;2. 计算机网络中实现通信必须有一些约定,即通信协议:对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。......
  • 快速排序 Java代码展示
    我们快速排序的图解放在下面,有一些重复的动作就省略。java代码如下:/***@author:阿久*快速排序*/publicclassSnackOrder{publicstaticvoidmain(Str......
  • JAVA对象的内存解析
    堆(Heap):此内存区域用来存放对象实例栈(Stack): 存储局部变量,局部变量存储有数据类型(boolean,byte,int,short,int,float,long,double)、对象引用(reference类型,是对象在堆内......
  • javaScript--5 javascript json字符串转换
      <!DOCTYPEhtml><html><head><title>JavaScript对象转JSON字符串</title></head><body><script>varjsonObj={"userId":"admin",......
  • JadConfig 注解驱动的java 配置管理包
    JadConfig是graylog开源的一个基于注解驱动的java配置管理包,graylogserver对于配置的管理就是使用了此包JadConfig使用比较简单,但是功能还是很强大的,配置包含了校验......
  • 微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(三) 之 手把手带你
    写在前面官方给的栗子是Junit,但是我还是用TestNG来进行脚本的编写,这里只分享思路,不管是哪个测试框架基本思路都是一样的,喜欢用官方的Junit的,建议查看​​官方文档​​。如何......
  • 还用 !=null 判空?试试 Java 8 的全新写法吧!
    1.API介绍1、Optional(Tvalue),empty(),of(Tvalue),ofNullable(Tvalue)这四个函数之间具有相关性,因此放在一组进行记忆。先说明一下,Optional(Tvalue),即构造函数,它是......
  • javaweb——Filter
    Filter概念:Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。过滤器一般完成一些通......
  • java---数组Arrays类学习
    一.Arrays类1.数组的工具类java.util.Arrays2.由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象,进行一些基本......