首页 > 编程语言 >Java流程控制

Java流程控制

时间:2023-03-11 16:14:33浏览次数:39  
标签:控制 Java scanner 流程 System println out 输入 Scanner

Scanner对象

  • Java给我们提供了这样一个工具类,我们可以获取用户的输入。我们可以通过Scanner类来获取用户的输入
Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()与nextLine()方法获取输入的字符串
  • 在读取前,我们一般需要使用判断语句if(hasNext())或者if(hasNextLine())判断是否还有输入数据

使用next方法接收键盘数据

 public static void main(String[] args) {

        //创建一个扫描器对象,用于接受键盘数据
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方法接收:");

        //判断用户有没有输入字符串
        if (scanner.hasNext()){

            //将键盘接受到数据保存到String类型s中
            String s = scanner.next();
            System.out.println("输出的内容为:"+s);
        }

        //凡是IO流的类使用完不关闭会一直占用资源,要养成好习惯用完就关掉
        scanner.close();
    }

运行结果图:

结论:
  1. 一定要读取到有效字符后才可以结束输入。
  2. 对遇到有效字符之前的空白格,next()方法会自动将其去掉
  3. 只有输入有效字符后才将其后面输入的空白格作为分隔符或者结束符
  4. next()不能的到带有空格的字符串

使用nextLine方法接收键盘数据

public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        System.out.println("使用nextLine:");

        if (scanner.hasNextLine()){
            String s = scanner.nextLine();
            System.out.println("输出的内容为:"+s);
        }

        scanner.close();
    }

运行结果图:

结论:
  1. 以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获取空白格。
  • 一般来说,我们是主要使用nextLine()方法进行获取键盘输入的数据

Scanner进阶

  • 获取键盘输入的小数数据
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("输入的不是整数数据!");
        }

        if (scanner.hasNextFloat()){
            f = scanner.nextFloat();
            System.out.println("小数数据:"+f);
        }else{
            System.out.println("输入的不是小数数据!");
        }
    
        scanner.close();
    
    }
  • 可以从下图方式查看Scanner类里的方法,具体使用看具体情况

练习题

public static void main(String[] args) {
        //我们可以输入多个数字,并求其总和与平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果:

        Scanner scanner = new Scanner(System.in);
        
        //定义变量总和sum初始值为0
        double sum = 0;
   		//定义初始个数为0
        int m = 0;
        
        //通过循环判断是否还有输入,并在里面对每一次输入的数据进行求和和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            sum = sum +x;
            m++;//每输入一个数字,个数m+1
            System.out.println("当前输入的数的总和:"+sum);
        }

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

        scanner.close();
    }

标签:控制,Java,scanner,流程,System,println,out,输入,Scanner
From: https://www.cnblogs.com/huang-lin/p/17206267.html

相关文章

  • Java运行程序占用CPU100%故障排查
          通过进程查线程,查看线程是否正常                 ......
  • 使用AidLux在安卓手机上搭建一个java服务器
    背景我有一部旧手机,功能完好,后盖碎了,卖不了几个钱,但是12G的内存512G的空间让我舍不得丢,作为一个程序员,平常也会写一点demo玩玩,就想着拿这部旧手机当作一台服务器使用。Ai......
  • 动画的播放控制
    1.通过组件控制导入模型后,在Project中新建一个AnimatorController,双击AnimatorController,将模型内部的动画文件拖入到AnimatorController的场景中,再将AnimatorControl......
  • 使用Git进行版本控制,不同的项目怎么设置不同的提交用户名和邮箱呢?
    1.全局设置用户名和邮箱因为平时除了开发公司项目还会写自己的项目或者去维护开源项目,一般情况下,公司会要求提交代码时使用自己的真名或者拼音和公司邮箱,以前就只会设置全......
  • 项目提测流程规范
     【开发自测】【执行冒烟】【提测申请】【提测准入】【环境部署】【PM验收】【交付QA】【提测结果确认】【打回提测说明】【QA测试】规则定义开发需在提测前完成CodeR......
  • JavaDoc文档注释
    JavaDoc文档注释/***@authorhuangjilin*@version1.0*@since1.8*///类注释publicclassDoc{Stringname;/**......
  • 开发直播app整体流程功能概览
    一、完整直播app原理直播原理: 把主播录制的视频,推送到服务器,在由服务器分发给观众观看。 直播环节:推流端(采集、美颜处理、编码、推流)服务端处理(转码、录制、截图......
  • Java基础 - 基本数据类型,基本数据类型之间的运算规则,引用数据类型
    基本数据类型:1.整数类型 类型:byte,short,int,long字节:byte1字节,short2字节,int4字节,long8字节容量:byte-128~127,short-3万~3万左右,-20亿~20亿左右,long特别大默认字......
  • Java基础之并发——线程的生命周期和状态
    Java线程在运行的生命周期中的指定时刻只可能处于下面6种不同状态的其中一个状态:NEW:初始状态,线程被创建出来但没有被调用start()。RUNNABLE:运行状态,线程被调用......
  • 获取控制台输入工具类
    /**工具类的作用:处理各种情况的用户输入,并且能够按照程序员的需求,得到用户的控制台输入。*/importjava.util.Scanner;/***/publicclassUtilit......