聊一聊Java常用API

Java类库非常庞大,提供了许多实用的类供程序使用,在进行Java编程时,我们常常需要使用Java类库所提供的这些类,这些类对程序的功能和质量起到了非常重要的作用。

数学函数的使用:Math类

Java的java.lang.Math类提供了大量的方法,用于支持各种数学运算及其它的有关运算。
Math 类包含基本的数字操作,如指数、对数、平方根和三角函数。
Math类无需创建对象,其所有成员皆为静态(Static)成员。

Math类常量
E(自然对数): Math.E
PI(圆周率): Math.PI

Math类常用方法介绍:
abs():返回绝对值。
ceil():返回大于或等于参数的最小整数。
floor():返回小于或等于参数的最大整数。
max():返回两个参数的较大值。
min():返回两个参数的较小值。
random():返回0.0和1.0之间的double类型的随机数,包含0.0但不包含1.0。
round():返参数回四舍五入的整数值。
sin():返回参数的正弦值。
cos():返回参数的余弦值。
tan():返回参数的正切值。
exp():返回欧拉数 e 的参数次幂的值。
log():返回(底数是 e)参数 值的自然对数值。
sqrt()::返回参数的平方根。
pow():返回第一个参数的第二个参数次幂的值。

随机数的产生:Random类
java.util.Random类提供了一系列用于产生随机数的方法。
区别2种随机数类:
Math类的random()方法虽然也能产生随机数,但是它只能产生0.0-1.0之间的随机数。
Random类可以十分方便的产生自己需要的各种形式的随机数,十分方便。

Random类常用方法介绍:
next(int bits):生成下一个伪随机数。
nextInt() :返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
nextLong() :返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。
setSeed(long seed) :使用单个 long 种子设置此随机数生成器的种子。

Random类常用方法介绍:
next(int bits):生成下一个伪随机数。
nextInt() :返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
nextLong() :返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的 long 值。
setSeed(long seed) :使用单个 long 种子设置此随机数生成器的种子。

处理时间与日期
Java语言提供了以下类来处理日期:
java.util.Date :包装了一个long类型数据,表示与GMT(格林尼治标准时间)的1970年1月1日00:00:00这一时刻所相距的毫秒数。
java.text.DateFormat :对日期进行格式化
java.util.Calendar :可以灵活地设置或读取日期中的年、月、日、分和秒等信息。

Date类以毫秒数来表示特定的时间和日期。

import java.util.Date;
public class DateDemo {
	public static void main(String[] args) {
		Date date = new Date();
		System.out.println("自1970-1-1以来的毫秒数:" 
                     + date.getTime());
	// getTime():返回自1970 年1月1日00:00:00 GMT 以来的毫秒数
		
		System.out.println("当前时间:" + date);
	}
}

DateFormat 抽象类用于定制日期的格式,它以与语言无关的方式格式化并分析日期或时间。

import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo {
	public static void main(String[] args) {
		Date date = new Date();
		// 设定日期格式
		SimpleDateFormat f = 
                        new SimpleDateFormat ("yyyy-MMMM-dd-EEEE");
		// 按设定的格式输出
		System.out.println(f.format(date));
		// 设定新的格式
		f = new SimpleDateFormat("yy/MM/dd hh:mm:ss");
		// 再输出
		System.out.println(f.format(date));
	}
}

Calendar类提供了月历的功能,它拥有众多与日期相关的方法。但是Calendar类是一个抽象类,不能实例化,实际上这些功能都是由它的子类GregorianCalendar实现的。

import java.util.*;
public class Calendar1 {
	public static void main(String[] args) {
		GregorianCalendar gc = 
                          new GregorianCalendar();
		String now = gc.get(Calendar.YEAR) + "年" 
                  + (gc.get(Calendar.MONTH) + 1) + "月" 
                  + gc.get(Calendar.DATE) + "日" 
                  + gc.get(Calendar.HOUR) + "时" 
                  + gc.get(Calendar.MINUTE) + "分" 
                  + gc.get(Calendar.SECOND) + "秒";
		System.out.println("当前时间是:" + now);
	}
}

大数字的处理
BigInteger类:用来处理大整数
BigDecimal类:用来处理大十进制数。
BigInteger类:用来表示不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger。
BigInteger 提供Math的所有相关方法,还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。

BigDecimal类:用来表示不可变的、任意精度的有符号十进制数。

import java.math.BigDecimal;
public class BigDecimal1 {
	public static void main(String[] args) {
		BigDecimal op1 = new BigDecimal("3.14159");
		BigDecimal op2 = new BigDecimal("3");
		System.out.println("和=" + op1.add(op2));
		System.out.println("差=" + op1.subtract(op2));
		System.out.println("积=" + op1.multiply(op1));
		System.out.println("商=" + op1.divide(op2,
                                         BigDecimal.ROUND_UP));
		System.out.println("负值=" + op1.negate());
		System.out.println("指定精度的商=" 
                          + op1.divide(op2, 15,BigDecimal.ROUND_UP));
	}
}

总结
Math类支持各种数学运算及其它的有关运算,Math提供的方法都是静态的,通过类名直接调用。
Random提供了一系列用于产生随机数的方法。
Date、DateFormat和Calendar及GregorianCalendar提供了对日期和时间进行处理的方法。
BigInteger和BigDecimal可以处理大数字和进行高精度的运算。

对于初学者而言,掌握常用的几种API类,是非常必要的,这为我们在以后的应用过程中节省了不少的时间,不过对于所有API类我们也不需要全部学习完,因为好的程序员应懂得利用工具,可以提前通读JDK文档种大部分类及类种的方法,等到有具体的实际需求时再查阅JDK文档即可。

我是田先生,一名热爱技术、热爱生活的Java程序员。如果想要了解更多java相关知识,欢迎欢迎关注我的公众号:t-j20120622(Java后端技术栈)。另外,为大家准备了一份价值1888元java资料包,关注后回复“1888”即可~
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章