深度学习Java系列——nextLine方法与next()方法

前言:

我是张哲,一位在互联网上不愿透露姓名的小学员,接下来大家看到的所有内容都是我背写的知识点,这里的知识点和你所学习到的不同,我中和了我的一些书籍和网上刷的面试笔记,相信这里能让你接触到更深入的知识点,我会慢慢的把我对某个知识点的理解写进去。

首先抛出一个问题:你真的学透Scanner类的常用方法了吗?
Scanner input=new Scanner(System.in)
int num=input.nextInt();
String str=input.nextLine();
System.out.println("num是:"+num);
System.out.println("str是:"+str);
//控制台中输入123,然后回车结果为:
num是:123
str是:
控制台原图如下

Scanner input=new Scanner(System.in);
String str=input.next();
System.out.println(str);
//控制台中输入张哲 123,然后回车结果为:
张哲

控制台原图如下

如果以上两种控制台结果你都没猜到,没关系好好看我接下来的内容。

next()方法的使用

这个方法是我们常用的,它接收的值是回车符和空格符号、Tab制表符之前的数值,但是这里分情况,如果制表符和空格之前没有数据,则会选择制表符和空格符之后的数据。如图所示:

在这里插入图片描述
下一种情况是如果回车符号前面没有数据,则继续扫描数据,如图所示:

nextLine()方法的使用

可以识别空格和制表符的数据,一旦回车必定读取,哪怕回车前无数据。如图所示:

常见问题及解决方案:
Scanner input=new Scanner(System.in);		
System.out.println("请输入数字:");
int num=input.nextInt();
System.out.println("num为:"+num);
System.out.println("请输入字符串:");
String str=input.nextLine();
System.out.println("str为:"+str);
//控制台原图如下


原因是nextInt()方法读取到回车前的数据,而nextLine()方法遇到回车就停读

解决方案如下:
Scanner input=new Scanner(System.in);		
System.out.println("请输入数字:");
int num=input.nextInt();
System.out.println("num为:"+num);
input.nextLine();
System.out.println("请输入字符串:");
String str=input.nextLine();
System.out.println("str为:"+str);


在最后总结下基本数据类型所对应的Scanner对象方法返回值类型有:
nextByte()、 nextInt()、 nextShort()、 nextLong()、
nextFloat()、 nextDouble()、 nextBoolean()
就是没有char所对应的返回值类型。
解决方法如下:
char jie=input.next().charAt(0);

你学到了吗?

最后再说一个知识点:

switch在JDK1.7之后可以存放几个数据类型?

你的回答可能是六个,但其实是十个
byte、 int、 short、 char、 枚举enum、 String、 Byte、 Integer、 Short、 Character

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值