重新认识老朋友: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的返回值竟然有正数有负数哦!所以使用别人的类之前,一定要看看文档,避免出问题