首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >《JavaSE》---7.<基础语法(键盘的输入与输出)>

《JavaSE》---7.<基础语法(键盘的输入与输出)>

作者头像
用户11288958
发布2024-09-24 14:50:02
发布2024-09-24 14:50:02
3990
举报
文章被收录于专栏:学习学习

本篇博客主要讲解Java基础语法中的, 控制台的三种输出、键盘的单个输入和多个输入,还有 注意事项 中我们要了解在读入字符串的时候scan.next()和scan.nextLine()这个语法。如果在之前我们还在键盘输入了其他字符,如果紧跟着执行了这个语句。我们敲了回车,那么scan.next()和scan.nextLine()会自动读入回车。而不是停下来等待我们输入。 要解决这个办法 我们需要在这之前通过scan.nextLine()来把这个回车读入。


大家好,本人是普通一本的在校大学生一枚,目前在学习java。之前也学了一段时间,但是没有发布博客。本人现在已经大二结束了,开学就大三了,时间过的真的很快。我会利用好这个暑假,来复习之前学过的内容,并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区进行讨论!!! 喜欢我文章的兄弟姐妹们可以点赞,收藏和评论我的文章。喜欢我的兄弟姐妹们以及也想复习一遍java知识的兄弟姐妹们可以关注我呦,我会持续更新滴,并且追求完整。 望支持!!!!!!一起加油呀!!!!

语言只是工具,不能决定你好不好找工作,决定你好不好找工作的是你的能力!!!!!

学历本科及以上就够用了!!!!!!!!!!!!!!!!!!!!!!!!!!!!

一、输出到控制台

基本语法:

java中有三种print方式

第一种

System.out.println("输出且换行"); // 输出一个字符串, 换行

第二种

System.out.print("输出不换行"); // 输出一个字符串, 不带换行

第三种

System.out.printf(format, msg); // 格式化输出,这个方法与c语言的print输出是一样的。

代码示例:

代码语言:javascript
复制
int x = 10;
System.out.printf("x = %d\n", x)
格式化字符串表格

这个表格简单记一下就好了,如果忘了,到时候查一下也可以。


二、从键盘输入

2.1单个数据的读入

从键盘输入,不同于c语言,首先我们要导入Scanner这个包,这个导包就相当于c语言当中的include。

首先我们打出Scanner在idea上方会自动多出import java.util.Scanner;

在类和对象知识点中我们会细讲这个东西。Scanner就相当于是个类型。

固定写法是

Scanner (自定义变量)= new Scanner(System.in);

这就相当于我们通过Scanner类,实例化了一个对象。假设

Scanner scan = new Scanner(System.in);

我们给这个对象起名为scan。并且写入System.in代表从键盘输入。

2.1.1输入一个整数
代码语言:javascript
复制
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();

我们可以这样写。因为输入的是整数,所以我们用int来接收。

2.1.2输入一个字符串
代码语言:javascript
复制
        Scanner scan = new Scanner(System.in);
        String str = scan.nextLine();//读入一行
        String str = scan.next();//遇到空格结束

String str = scan.nextLine();//读入一行 String str = scan.next();//遇到空格结束

类似的我们可以输入字节型,字符型,整型,短整型,长整型,双精度浮点数,单精度浮点数,布尔类型,字符串类型。就不一一多说了。

值得注意的是我们下面提到的注意事项。

2.2多个输入的读入

我们通过循环。下面介绍的是读入int整型数据,读入其他类型数据也是一样的。就不多说了

scan.hasNextInt() 是否有下一个数字。

代码语言:javascript
复制
        Scanner scan = new Scanner(System.in);

        while (scan.hasNextInt()){
            int num = scan.nextInt();
            System.out.println("您输入的数字是:"+num);
        }

        scan.close();

运行结果:

如何让循环结束呢?在idea中我们需要ctril+d

代码示例:

使用 Scanner 循环读取 N 个数字,并求取其平均值

代码语言:javascript
复制
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        int num = 0;
        while (sc.hasNextInt()) {
        int tmp = sc.nextInt();
        sum += tmp;
        num++;
        }
        System.out.println("sum = " + sum);
        System.out.println("avg = " + sum / num);
        sc.close();

注意事项1(重点):

java输入中,输入字符串的方法中如scan.nextLine();或者是scan.next();在读数据的时候会把上一个输入数据的回车读进去。

代码示例:
代码语言:javascript
复制
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入你的年龄:");
        int age = scan.nextInt();
        System.out.println("你的年龄是:"+age);
        System.out.println("请输入你的姓名:");
        String name = scan.nextLine();
        System.out.println("你的姓名是:"+name);
        System.out.println("请输入你的工资:");
        double salary = scan.nextDouble();
        System.out.println("你的工资是:"+salary);
        String str = scan.nextLine();
        scan.close();

运行结果:

我们发现跳过了输入年龄。是由于我们输入年龄后敲的回车被下面的scan.nextLine();读取到了,

因此姓名就变成了一个回车。我们要解决这个问题,我们需要在

String name = scan.nextLine();

这行代码之前多加一行代码

scan.nextline();

这个代码就相当于把我们输入的回车读进去了。那么在执行String name = scan.nextLine();的时候。就没有回车了。就会正常执行。

代码语言:javascript
复制
        Scanner scan = new Scanner(System.in);

        System.out.println("请输入你的年龄:");
        int age = scan.nextInt();
        System.out.println("你的年龄是:"+age);

        scan.nextLine();

        System.out.println("请输入你的姓名:");
        String name = scan.nextLine();
        System.out.println("你的姓名是:"+name);
        System.out.println("请输入你的工资:");
        double salary = scan.nextDouble();
        System.out.println("你的工资是:"+salary);
        String str = scan.nextLine();
        scan.close();

注意事项2:

注意, 每次使用Scanner要记得调用关闭方法

这就相当于使用了资源。早点关闭这个资源可以减少开销。提高效率。

scan.close();

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、输出到控制台
    • 基本语法:
    • 代码示例:
      • 格式化字符串表格
  • 二、从键盘输入
    • 2.1单个数据的读入
      • 2.1.1输入一个整数
      • 2.1.2输入一个字符串
    • 2.2多个输入的读入
  • 注意事项1(重点):
    • 代码示例:
  • 注意事项2:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档