Java常用类 Scanner类和大数类

Posted lbrs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常用类 Scanner类和大数类相关的知识,希望对你有一定的参考价值。

二、Scanner类

有C系语言基础的可能都比较熟悉scanf("%d",&a);和cin>>a;这种代码,也打开了程序交互的第一道门。因此,这些程序员开始学Java时都会先找输入输出(指标准输入输出),Java的输出就非常常见,任何一个Java教程基本都是以输出开始的,然而输入却在很后面提到,因为Java的输入不似输出那么简单。现在我们就来介绍一下实现输入的Scanner类。

1.Scanner基本使用方法和next()系列方法

一个从键盘输入的基本示例:

import java.util.Scanner;

public class Scan 
    public static void main(String []args)
    
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        System.out.println(s);
    

技术图片

绿色的输入,以回车结束,而白色的是输出,可以看出next()方法只能读取空格前的字符串,想要读取空格,可以使用nextLine()方法:

        String s=sc.nextLine();

技术图片

此外,还有nextInt()、nextLong()等除Charater之外的包装类输入,还有nextBigDecimal()和BigInteger等大数类。以Integer为例:

        Integer s= sc.nextInt();

技术图片

如果你输入的不是integer类型,则会抛出如下异常

技术图片

当然,Integer可以转Float。

2.hasNext()系列方法

        while(sc.hasNext()) 
            String s = sc.next();
            if(s.equals("exit"))
                break;
            else
            System.out.println(s);

技术图片

所以Scanner类基本没有什么内容了,就结束吧!

三、Java大数类

1.BigInteger

大整数,还能记得之前博客"Java-20180409"中稍微涉及到BigInteger的使用,当时算法所测试的数极大,超过long的最大值,因此引出BigInteger,虽然简单,但基本内容齐全。int类型的取值范围是-2*32到2^32-1

        System.out.println(Integer.MAX_VALUE-Math.pow(2,31));
        System.out.println(Integer.MIN_VALUE+Math.pow(2,31));

结果分别是-1.0和0.0。同理long的大小范围是-2^63到2^63之间。

 

以上是关于Java常用类 Scanner类和大数类的主要内容,如果未能解决你的问题,请参考以下文章

java之常用API

Scanner类匿名对象Random类String类static静态类math类和Arrays工具类

Java中的引用类型Scanner类和随机类型Random

Java全栈JavaSE:19.常用类之大数运算日期和日历包装类

Java常用API(Scanner类)

Java基础-常用工具类