现在是2020年9月18日09:24:38,继续对Java API进行介绍。
本次介绍的是Java中常用的工具类,他们分别是数学类Math、随机数产生类Random、日期类Date与格式化日期类SimpleDateFormat、数据输入类Scanner。
Math类用实现了很多数学运算的方法,如求三角函数值、求指数、求对数、求绝对值等,这里仅列出方法描述的表格,请有需要的同学自行测试。剩余的三个类,我将直接呈现测试的代码,在注释中穿插解释。
当然,这次可能不够深入,比如Scanner类,他其实是一个简单的文本扫描器,可以使用正则表达式解析原始类型和字符串,这个可以先不懂,以后有需要才进一步学习,本文着重它在控制台里输入数据的这个功能。 Java入门,还是得从简单的和经典的入手,好吧?
1、Math
2、Random
package cn.drgn.javase.api;
import java.util.Random;
/**
* Create by Drgn on 2020/9/13 18:23
* 1、Random类是一个专门产生随机数的类,
* 2、Random类有两个构造方法,一个无参,一个是传入一个种子数作为参数。
* 传入种子数的好处是:下次运行代码是会的到与之前相同的随机数。
* 3、调用Random对象的nextXxx()方法,会获得对应类型的随机数(Xxx = Int, Double, Boolean, Float, ...)
* 测试代码如下:
*/
public class RandomTest {
public static void main(String[] args) {
// 没有种子数,当下次运行时,不再是之前的随机数了
Random r = new Random();
// 传入的参数的种子seed, 当下次传入这个12时,随机数与之前运行多的一模一样
Random ra = new Random(12);
// 返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
System.out.println(r.nextInt());
// 返回下一个伪随机数,从这个随机数发生器的序列中 0.0和 1.0之间的 double值 0.0分布。
System.out.println(r.nextDouble());
// 从该随机数发生器的序列返回下一个伪随机数,
// 高斯(“正”)分布 double值,平均值为 0.0 ,标准差为 1.0 。
System.out.println(r.nextGaussian());
System.out.println("-----------------------");
// 生成随机字节并将它们放入用户提供的字节数组中。
byte[] bytes = new byte[5];
r.nextBytes(bytes);
for (byte b: bytes){
System.out.println(b);
}
}
}
3、Date && SimpleDateFormat
package cn.drgn.javase.api;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest{
public static void main(String[] args){
// 创建时间Date对象
Date date = new Date();
System.out.println(date);//Thu Sep 17 19:09:24 CST 2020
// 创建格式化时间SimpleDateFormat对象
SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 调用格式化时间对象的format方法
String curr = dataFormat.format(date);
System.out.println(curr);//2020-09-17 19:09:24
// 将上面几行的代码浓缩为下面一行格式化时间的代码,常用于获得当前格式化时间
// 非常经典的一行代码
String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
System.out.println(date);//2020-09-17 19:09:24
}
}
4、Scanner
- 测试代码
package cn.drgn.javase.api;
import java.util.Scanner;
/**
* Create by Drgn on 2020/9/13 18:24
*/
public class ScannerTest {
public static void main(String[] args) {
// 创建Scanner对象,传入System.in表示接收控制台中的文本信息
Scanner scan = new Scanner(System.in);
// 在控制台提供输入提示
System.out.print("请输入一数字:");
// 调用Scanner对象的nextInt()方法,接收一个整型数据。
// 如果输入的不是整型,将会报错。
int number = scan.nextInt();
System.out.print("请输入一段话:");
// 调用Scanner对象的next()方法,接收一个文本
// 注意:输入文本过程中文本之中不能有空格、tab等,否则只读取空格、tab之前的文本
String str = scan.next();
System.out.println(number + ", " + str);
}
}
- 测试结果
好了,本次的几个简单工具类分享到这里,这次没有讲过多源码的内容,请有需要的同学自行探索。有问题望请指正,谢谢阅读。