常见工具类

System类的概述和方法使用

System类的概述:
System 类包含一些有用的类字段和方法。它不能被实例化。
成员方法:

  • public static void gc() ------- 运行垃圾回收器。

finalize()方法是一个类对象在销毁时会被调用的方法,垃圾收集器在发现这个类对象不会再被使用时就会回收内存,也就是销毁该对象,从而finalize()被调用了。JDK带的垃圾回收算法就会调用该对象的销毁方法来回收了。

public static void main(String[] args) {
  new demo();
  System.gc();  //运行垃圾回收器,相当于呼喊保洁阿姨
}
class demo {
 @Override
 public void finalize(){   //对方法的重写
  System.out.println("垃圾被回收");
 }
}

  • public static void exit(int status)

终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
System.exit(1); 非0状态是异常终止,退出jvm

  • public static long currentTimeMillis()
    返回以毫秒为单位的当前时间。
  long start = System.currentTimeMillis();
  for(int i = 0; i < 1000; i++) {
   System.out.println("*");   //运行此循环所用的时间  毫秒
  }
  long end = System.currentTimeMillis();
  System.out.println(end-start);
 }

  • pubiic static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
    从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
    src - 源数组。
    srcPos - 源数组中的起始位置。
    dest - 目标数组。
    destPos - 目标数据中的起始位置。
    length - 要复制的数组元素的数量
  int[] arc = {12,45,23,56,34,23,12,65};
  int[] a = new int[8];
  System.arraycopy(arc, 0, a, 0, arc.length);
  for(int i = 0; i < 8; i++) {
   System.out.print(a[i] + " "); 
  }

输出

12 45 23 56 34 23 12 65
Math类概述和方法使用

Math类的概述
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
Math方法的使用

  • public static int abs(int a)

返回 int 值的绝对值。如果参数为非负数,则返回该参数。如果参数为负数,则返回该参数的相反数。 斜体也可变为float,double等类型

  • public static double ceil(double a)

返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。

  • public static double floor(double a)

返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数

  • public static int max(int a,int b) (min也一样)

返回两个 int 值中较大的一个。 也可以是其他类型

  • public static double pow(double a,double b)

返回第一个参数的第二个参数次幂的值。

  • public static double random()

返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。

  • public static int round(float a)
    返回最接近参数的 int。

  • public static int round(double a)
    返回最接近参数的 long。

  • public static double sqrt(double a)

返回正确舍入的 double 值的正平方根。


  System.out.println(Math.pow(2, 0.5));//1.4142135623730951
  System.out.println(Math.abs(-2));//2
  System.out.println(Math.ceil(13.3));//14.0
  System.out.println(Math.PI);//3.141592653589793
  System.out.println(Math.floor(13.3));//13.0
  System.out.println(Math.min(-10, 1));//-10
  System.out.println((int)(Math.random()*100));//0-100之间的随机数,包含0不包含100
  System.out.println(Math.round(18.8f)); //四舍五入  19
  System.out.println(Math.sqrt(16));//4.0
Random类的概述和方法使用

Random类的概述
此类用于产生随机数如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

构造方法

  • public Random()
  • public Random(long seed) 使用单个 long 种子创建一个新的随机数生成器。
    成员方法
  • public int nextInt()
    返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
  • public int nextInt(int n)
    返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
  Random r = new Random();
  for(int i = 0; i < 5; i++) {
   System.out.println(r.nextInt(100));  //生成0-100之间的随机数
  }
BigInteger类的概述和方法使用

BigInteger的概述
可以让超过Integer范围内的数据进行运算.其在java.math 包下,使用时需要导包
构造方法

  • public BigInteger(String val)
    将 BigInteger 的十进制字符串表示形式转换为 BigInteger。
    成员方法

  • public BigInteger add(BigInteger val) 返回其值为 (this + val) 的 BigInteger。

  • public BigInteger subtract(BigInteger val)
    返回其值为 (this - val) 的 BigInteger。

  • public BigInteger multiply(BigInteger val)
    返回其值为 (this * val) 的 BigInteger。

  • public BigInteger divide(BigInteger val)
    返回其值为 (this / val) 的 BigInteger。

  • public BigInteger[] divideAndRemainder(BigInteger val)

返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

  BigInteger a = new BigInteger("100");
  BigInteger b = new BigInteger("2");
  System.out.println(a.add(b));
  System.out.println(a.subtract(b));
  System.out.println(a.multiply(b));
  System.out.println(a.divide(b));
  BigInteger[] c = a.divideAndRemainder(b);
  for(int i = 0; i < c.length; i++) {
   System.out.println(c[i]);
  }
BigDecimal类的概述和方法使用

BigDecimal的概述
于在运算的时候,float类型和double很容易丢失精度,所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal。
不可变的、任意精度的有符号十进制数。
在 java.math 包下 使用时要导包
构造方法

  • public BigDecimal(String val)
    成员方法
  • public BigDecimal add(BigDecimal augend) +
  • public BigDecimal subtract(BigDecimal subtrahend) -
  • public BigDecimal multiply(BigDecimal multiplicand) *
  • public BigDecimal divide(BigDecimal divisor) /
   BigDecimal bd1 = new BigDecimal("2.0"); //这种比较准确
  BigDecimal bd2 = new BigDecimal("1.1");
  System.out.println(bd2.subtract(bd1)); //-0.9
  System.out.println(bd1.subtract(bd2));//0.9
  System.out.println(bd1.multiply(bd2));//2.2
  System.out.println(bd2.divide(bd1));//0.55
  BigDecimal a = BigDecimal.valueOf(2.0);
  BigDecimal b = BigDecimal.valueOf(1.1);
  System.out.println(a.subtract(b)); //这种也比较准确
Date类的概述和方法使用

Date类的概述
类 Date 表示特定的瞬间,精确到毫秒。
构造方法

  • public Date()
  • public Date(long date)使用给定毫秒时间值构造一个 Date 对象。
    成员方法
    public long getTime()
    public void setTime(long time)
  import java.util.Date;
   public class Demon6_Date { 
   public static void main(String[] args) {
	  demon1();
	//  demon();
	  Date a = new Date();
	  a.setTime(1000); //设置毫秒值,改变时间对象
	  System.out.println(a);
	 }
  private static void demon() {
	  Date a = new Date();
	  System.out.println(a.getTime());//通过时间对象获取毫秒值
	  System.out.println(System.currentTimeMillis());//通过系统类的方法获取毫秒值
	 } 
 private static void demon1() {
	  Date a = new Date();
	  System.out.println(a);
	  Date b = new Date(0);
	  System.out.println(b);
	 }
 }
SimpleDateFormat类实现日期和字符串的相互转换

DateFormat类的概述
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子SimpleDateFormat
SimpleDateFormat构造方法
使用时需导包 java.text包下

  • public SimpleDateFormat() 用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
  • public SimpleDateFormat(String pattern) 用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
    成员方法 +
  • public final String format(Date date)
    将一个 Date 格式化为日期/时间字符串
  • public Date parse(String source)
    解析字符串的文本,生成 Date。
  import java.text.DateFormat;
    public class Demon7_SimpleDateFomat {  	
	    public static void main(String[] args) throws ParseException {   
		    demo(); 
		    //  demon1();
		     //  demo3(); 
		     //  String a = "2000年12月31日 08:08:08";
		      //  SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); 
		      //  Date d = sdf.parse(a); //将时间字符串转化成日期对象 
		      //  System.out.println(d);
		      //Sun Dec 31 08:08:08 CST 200  
	      } 
	       private static void demo3() {
		  Date a = new Date();
		  SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
		  System.out.println(sdf.format(a)); //将日期对象转化为字符串
		          //2019年06月15日  17:45:44
	 }
	  private static void demon1() {
		  Date a = new Date();
		  SimpleDateFormat sdf = new SimpleDateFormat();
		  System.out.println(sdf.format(a));//2019/6/15 下午5:48
	 } 
	 private static void demo() {
		  DateFormat a = DateFormat.getDateInstance();
		  System.out.println(a);//java.text.SimpleDateFormat@3249f37
		 }
 }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值