2.30.重新认识老朋友: Math 和 Scanner

重新认识老朋友:Math
查看Math类的源代码

看例程:学习Math中的常用方法

Math类的文档
https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/Math.html

重新认识老朋友:Scanner
Scanner 的作用

查看 Scanner 的源代码和 since,理解 public 带来的现实中的约束。

看源代码是学习的一种好办法

public class LearnScanner {
    public static void main(String[] args) {
        // TODO Scanner是一个方便的可以帮我们从标准输入读取并转换数据的类
        // TODO 注释里 @since   1.5 表示它是从Java5才开始有的。
        Scanner scanner = new Scanner(System.in);

        // TODO 但是这并不是说从Java5开始,这个类就没有变化过了
        // TODO 在源代码里搜索一下@since,会发现很多方法是在后续的 Java 版本中加进去的
        // TODO 但是private方法就不会有这个文档标示,因为private方法本来就不给用。

        System.out.println("请输入一个巨大的正数");
        BigInteger bigInteger = scanner.nextBigInteger();
        System.out.println("请输入想给这个数加多少");
        BigInteger toBeAdd = scanner.nextBigInteger();
        System.out.println("结果为:" + bigInteger.add(toBeAdd));

    }
}
public class LearnMath {

    public double abc;

    public static void main(String[] args) {

        // TODO 我们调用的都是 Math 里的静态方法,Math的构造函数就是private的,意味着不能创建Math类的实例
        System.out.println(Math.random());
        // TODO 原来归根结底,Math的random是用的Random类来实现的。它在java.util包里
        Random random = new Random();
        for (int i = 0; i < 100; i++) {
            // TODO nextInt的返回值竟然有正数有负数哦!所以使用别人的类之前,一定要看看文档,避免出问题
            System.out.println(Math.abs(random.nextInt()));
        }

        System.out.println(Math.abs(-9));

        System.out.println(Math.round(-9.2));
        System.out.println(Math.round(-9.5));
        System.out.println(Math.round(-9.8));
        System.out.println(Math.round(9.2));
        System.out.println(Math.round(9.5));
        System.out.println(Math.round(9.8));
    }
}

Scanner是一个方便的可以帮我们从标准输入读取并转换数据的类

我们调用的都是 Math 里的静态方法,Math的构造函数就是private的,意味着不能创建Math类的实例

原来归根结底,Math的random是用的Random类来实现的。它在java.util包里

nextInt的返回值竟然有正数有负数哦!所以使用别人的类之前,一定要看看文档,避免出问题

发布了57 篇原创文章 · 获赞 0 · 访问量 508

猜你喜欢

转载自blog.csdn.net/weixin_45471415/article/details/104800537
今日推荐