Java用户交互Scanner(持续补充)

一、next()的用法

import java.util.Scanner;

public class Deemo01 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // System.in表示接收

        System.out.println("使用next方式接收:");

        if(scanner.hasNext()){  // scanner.hasNext()在这里判断是否还有字符
            String str = scanner.next();
            System.out.println("输出内容为:" + str);
        }
        scanner.close(); /*凡是属于IO流的类如果不关闭会一直占用资源.
        要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载
        软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就
        会觉得卡,这一个道理. */
    }
}

next():
1、一定要读取到有效字符后才可以结束输入。
2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4、next() 不能得到带有空格的字符串。
如果读入的是"Hello World",由于Hello后面有字符。因此,str只会接收到"Hello",空格之后的内容无法读入。

二、nextLine()的用法

import java.util.Scanner;

public class Deemo01 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // System.in表示接收

        System.out.println("使用next方式接收:");

        if(scanner.hasNextLine()){  // scanner.hasNextLine()在这里判断是否还有字符
            String str = scanner.nextLine();
            System.out.println("输出内容为:" + str);
        }
        scanner.close(); /*凡是属于IO流的类如果不关闭会一直占用资源.
        要养成好习惯用完就关掉.就好像你接水完了要关 水龙头一样.很多下载
        软件或者视频软件如果你不彻底关,都会自己上传下载从而占用资源,你就
        会觉得卡,这一个道理. */
    }
}

nextLine():
1、以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。
如果读入的是"Hello World",str只接收到"Hello World",空格之后的内容也可以读入。
如果在终端中只输入一个回车,则直接结束,因为nextLine()以Enter为结束符。

三、其他方法

如果要输入 int 或 float 类型的数据,在 Scanner 类中也有支持,但是在输入之前最好先使用
hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取
例如:scan.nextInt(); scan.nextFloat(); scan.nextDouble()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值