输入语句类Scanner

一、Scanner作用

Java基本语法中并没有实现程序和人的交互,但是Java给我们提供了一个工具类,java.util.Scanner 是Java5的新特征,我们可以通过Scanner类来获取用户的输入。作用与控制台的输入输出与C里的scanf类似。

//导入包
import java.util.Scanner;
//或者导入整个工具类
import java.util.*;

二、Scanner的用法

1、构造一个Scanner 类的对象,并且与标准输入流Sytem.in关联。

基本语法为:

Scanner s = new Scanner (System.in) 
//创建了一个Scanner对象,Scanner为类名,s为对象名。

2、创建一个变量,使用相关方法从控制台获取你需要的输入数据。

控制台也叫命令行
当你使用scanner方法后控制台会等待你输入数据,敲回车键结束一个数据的输入。
根据输入的数据类型不同,也需要调用不同的方法,具体应用如下:

String str = s.nextLine();
String str = s.next();
byte a1= s.nextByte();
short a2= s.nextShort();
int a3 = s.nextInt();
long a4 = s.nextLong();
float a5 = s.nextFloat();
double a6 = s.nextDouble();
boolean a7 = s.nextBoolean();

3、关闭Scanner类----close()

使用完Scanner后,我们一定要记得将它关闭!
因为使用Scanner本质上是打开了一个IO流,如果不关闭的话,它将会一直占用系统资源。
注意!一旦关闭后,就算在s.close()这行代码后再重新new Scanner(System.in),那也不能重新再打开一个扫描器了,如下图会发现程序会报错
所以
一定要在用不到扫描器之后再关闭,即把s.close()代码放到最后。

三、常用的方法详解

1.nextLine()

可以扫描到一行内容(当前行,光标所在行的内容,包括空格、回车),并将输入作为一个字符串而被获取到。

2.区分nextLine()与next()

next()获得有效字符串后遇到的第一个空格就会结束读取。
比如,输入hello world.最终的输出结果为hello。

3.nextInt()

nextInt()只读取数值,读取完之后不会再读取,并且光标放在本行。
注意:nextInt无法读取小数,否则会报错。
每次可以只输入一个数字,回车确认,一个数字只能被一个nextInt读取。
也可以输入一组数字,例如:“78 484 44”,每个数字之间用空格(一个或多个空格)隔开,可被多个nextInt()读取,空格及回车不会被读取。
nextDouble()的用法同理nextInt()。

四、应用

/**
 * ClassName: test
 * Package: PACKAGE_NAME
 * Description:
 *
 * @Author smy
 * @Create 2023/8/13 17:18
 * @Version 1.0
 */
import java.util.*;
import java.lang.*;
public class test {
    public static void main(String[] args){
        System.out.println("请输入:");
        Scanner s = new Scanner(System.in);
        String testString = s.nextLine();
        System.out.println(testString);
    }
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值