IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> java流程控制 用户交互Scanner -> 正文阅读

[Java知识库]java流程控制 用户交互Scanner

java流程控制 用户交互Scanner

最最最重要的是,所有关键词的输入,要注意大小写区别。

scanner基操

  1. 意思是操作者可以进行输入,和计算机进行互动。
  2. 也就是我们可以通过Scanner来获取用户的输入。然后计算机根据输入的东西,进行操作。
  3. 最基本的语法(创造一个扫描器对象,用于接受键盘数据)
Scanner s = new Scanner(System.in);

在输入这个的时候会在类的上面出现

import Java.util.Scanner;

这表示该地方引入了跟Scanner有关的包。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7nJBzcc7-1636645026739)(E:\Java截图\day12\QQ截图20211111213851.png)]

  1. 然后通过Scanner类的next()与nextLine()方法来获取输入的字符串,在读取前我们一般需要使用hasNext()(还是否有下一个)和hasNextLine()(还是否有下一行)来判断是否还有输入的数据。

    if(scanner.hasNext()==true){}
    if(scanner.hasNext()){}
    

    上述的两种表达方式是一样的。因为不加 ‘==true’ 系统是默认 ‘==true’ 的

    所以这两行代码的意思是:若有输入则为 真(true)那么就要执行if 后面大括号里面的语句。如果没有输入则为flase 是不会执行后面大括号里面的内容。

  2. 然后在大括号里面输入String.str = scanner.next();即可

if(scanner.hasNext()==true){
    String.str = scanner.next();
    System.out.println(str);
    }

这样就可以将你输出的结果在屏幕上输出了。

  1. 当你用完时,应当在方法里的最后加上 scanner.close(); 因为scanner 属于IO流 若不关闭 他会占用资源(了解即可)。正确格式如下图。其他IO也有这个特性
import Java.util.Scanner;
public class  文件名{
public static void main (String[] args){
    
   Scanner s = new Scanner(System.in); 
    
  if(scanner.hasNext()==true){
    String.str = scanner.next();
    System.out.println(str);
    }  
    
scanner.close();    
}
}
  1. 当伙伴们输入这行代码的时候,如果你们输入hello world! 他只会输出hello .

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-soOvL83i-1636645026750)(E:\Java截图\day12\QQ截图20211111221345.png)]

  1. 你们将其中的Next换成NextLine 再进行输入 这时候输出的结果就是 hello world.

next()和nextLine() 区别

next()

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

nextLine()

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得字符串中的空白。

scanner进阶

1

  1. scanner.hasNextInt()这个是判断你输入是否还有整数,那么对应的接受应该是scanner.nextInt();
  2. scanner.hasNextFloat() scanner.nextFloat(); 等等还有很多;
  3. 前面提到了If 那么对应的是else 意思就是如果满足了if 那么就执行IF 大括号里面的内容,如果不满足if ,那么就执行else 里面的内容,如下图。
if (scanner.hasNextInt())
        {
               d = scanner.nextInt();
             System.out.println("整数:" + d);
         }
         else
         {
            System.out.println("输入的不是整数");
         }
  1. 大家可以输一下 下面这个程序 然后输入数字,执行一下。
import java.util.Scanner;

public class dsadasda {
    public static void main(String[] args) {
   Scanner scanner = new Scanner(System.in);
int d = 0;
float f = 0.0f;
        System.out.println("请输入整数");
         if (scanner.hasNextInt())
        {
               d = scanner.nextInt();
             System.out.println("整数:" + d);
         }
         else
         {
            System.out.println("输入的不是整数");
         }
        System.out.println("请输入小数");
         if(scanner.hasNextFloat())
         {
             f = scanner.nextFloat();
             System.out.println("小数:" + f);
         }
         else
         {
             System.out.println("输入的不是小数");

         }

scanner.close();



    }


}

  1. 在上面输入数字,你在控制台输入数字后,会先进行一个判断,若满足,他才会接受。

2.循环判断

  1. 在这就会用到while( ){} 意思是:如果满足while括号里面的条件,就执行大括号里面的,执行完大括号后,再次回到while进行重新判断。如果满足while括号里面的条件,就执行大括号里面的,然后一直循环,直到不满足while后,会退出while这个 大循环

  2. 输入几个数,然后求平均值,然后输出,输入非数字停止,如下图

import java.util.Scanner;

public class asdasdasda {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
double sum = 0;
int n = 0;
while(scanner.hasNextDouble()) {
    double x = scanner.nextDouble();
    n++;
    sum = sum + x;
}
double average = sum/n;
        System.out.println(average);
    scanner.close();
    }
}

  1. 可以将上面的while进行改进改成
import java.util.Scanner;

public class asdasdasda {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
double sum = 0;
int n = 0;
while(scanner.hasNextDouble()) {
    sum+=scanner.nextDouble();n++;
}
double average = sum/n;
        System.out.println(average);
    scanner.close();
    }
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:27:07  更:2021-11-12 19:28:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:32:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码