Java基础类库(下)

Java基础类库(下)

System类

System类代表当前Java程序的运行平台,程序不能创建System类的对象,System类提供了一些变量和类的方法,允许通过System类来调用这些方法。
System类提供了代表标准输入、标准输出、错误输出的类变量:
System.in:标准输入(通常是键盘)
System.out:标准输出(通常是显示器)
System.err :错误输出

public static void gc()

该方法只会通知系统进行垃圾回收。

public static void exit(int status)

退出java虚拟机 0 为正常退出 非0为 异常退出

public static long currentTimeMillis()

获取当前时间的毫秒值(基准为计算机元年1970年1月1日00:00:00)

Match类

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
包含两个成员变量
public static final double E :E
public static final double PI
下面演示一些在Math类中常用的方法

public class MathTest {
    public static void main(String[] args) {
        //弧度转角度
        System.out.println("Math.toDegress"+ Math.toDegrees(1.57));
        //角度转弧度
        System.out.println("Math.toRadians(90)"+ Math.toRadians(90));
        //计算cos,返回的角度范围在-pi/2 - pi/2之间(其他三角函数类似)
        System.out.println("Math.cos(1.57)" + Math.cos(1.57));
        //极坐标转换
        System.out.println("Math.atan2(0.1,0.2)" + Math.atan2(0.1,0.2));
        //向上取整
        System.out.println("Math.floor(1.6)" + Math.floor(1.6));
        //向下取整
        System.out.println("Math.ceil(1.6)" + Math.ceil(1.6));
        //四舍五入取整
        System.out.println("Math.round(1.6)" + Math.round(1.6));
        //计算平方根
        System.out.println("Math.sqrt(8)" + Math.sqrt(8));
        //计算立方根
        System.out.println("Math.cbrt(8)" + Math.cbrt(8));
        //返回e的n次幂
        System.out.println("Math.exp(8)" + Math.exp(8));
        //计算乘方
        System.out.println("Math.pow(2,3)" + Math.pow(2,3));
        //计算自然对数
        System.out.println("Math.log(12)" + Math.log(12));
        //计算以10为底的对数
        System.out.println("Math.log10(100)" + Math.log10(100));
        //计算自然对数
        System.out.println("Math.log10(100)" + Math.log1p(10));
        //计算绝对值
        System.out.println("Math.abs(-4.6)" + Math.abs(-4.6));
        //返回最大值
        System.out.println("Math.max(12,11)" + Math.max(12,11));
        //返回最小值
        System.out.println("Math.min(11,9)" + Math.min(11,9));
    }
}

Random类

Random类专门用于生成一个伪随机数,他有两个构造器:一个构造器使用默认的种子(以当前时间做种子),另一个需要显示的传入一个long型整数的种子

//使用默认种子
Random random = new Random();
  for (int i1 = 0; i1 < 100; i1++) {
      int i = random.nextInt(100);//生成随机的整数再int范围
      System.out.println(i);
  }
//使用传入的种子
Random random = new Random(100L);
   for (int i = 0; i < 10; i++) {
       int 1 = random.nextInt(100);
       System.out.println(i);
   }

如果使用默认种子,每次运行生成的随机数不同,但是如果显示的指定种子,每次生成的随机数序列不变。

BigDecimal类子

已有的float和double基本浮点类型会造成精度丢失,尤其是在计算时,为了能精确的表示计算浮点类型Java提供了BigDecimal类
BigDecimal的方法
BigDecimal(String val)
将BigDecimal的字符串表示 BigDecimal转换为 BigDecimal 。
基本运算方法
public BigDecimal add(BigDecimal augend)//加
public BigDecimal subtract(BigDecimal subtrahend)//减
public BigDecimal multiply(BigDecimal multiplicand)//乘
public BigDecimal divide(BigDecimal divisor)//除法
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)//scale 小数点后面保留几位

import java.math.BigDecimal;

public class BigTest {
    public static void main(String[] args) {
        BigDecimal f1 = BigDecimal.valueOf(0.05);
        BigDecimal f2 = BigDecimal.valueOf(0.01);
        System.out.println(f1.add(f2));
        System.out.println(f1.subtract(f2));
        System.out.println(f1.multiply(f2));
        System.out.println(f1.divide(f2));
    }
}

Date类

Java提供Date(java.util)类来处理日期、时间,Date对象既包含日期,也包含时间。但是大多构造器方法已经过时,不推荐使用。
构造器
Date提供了6个构造器但是其中四个已经过时。
Date():生成一个代表当前日期时间的Date对象。该构造器在底层调用System.currentTimeMillis()获取long整数作为日期参数。
Date(long date);根据指定的long整数生成一个Date对象。该构造器参数表示创建Date对象和GMT 1970年1月1日00:00:00之间的时间差,以毫秒为记时单位。
方法
与构造器相同的是大部分方法也已过时剩下为数不多的几个方法。
boolean after(Date when):测试该日期是否在指定日期之前
boolean before(Date when):测试该日期是否在指定日期之后
long getTime():返回时间对应的long整数,即从计算机元年到Date对象之间的毫秒差值
void setTime():设置Date对象的时间
下面规范了Date的使用


import  java.util.Date;
public class dataTest {
    public static void main(String[] args) {
        Date d1 = new Date();
        Date d2= new Date(System.currentTimeMillis() + 100);
        System.out.println(d2);
        System.out.println(d1.compareTo(d2));
        System.out.println(d1.before(d2));
        System.out.println(d2.getTime());
    }
}

Calendar类

Date类在设计上存在一些缺陷,所以java提供Calendar类更好的处理日期和时间。本身是一个抽象类不能实例化。但是可以使用一些静态方法来获取Calendar子类
Calendar和Date都是表示日期的工具类所以可以自由转换

import java.util.Calendar;
import java.util.Date;

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        Calendar calendar1 = Calendar.getInstance();
        calendar1.setTime(date);
    }
}

Calendar类提供了大量的访问修改日期的方法,常用方法如下:
1.abstract void add(int field, int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段。
2.int get(int field) 返回给定日历字段的值。
3.int getActualMaximum(int field) 给定此 Calendar的时间值,返回指定日历字段可能具有的最大值。
4.int getActualMinimum(int field) 给定此 Calendar的时间值,返回指定日历字段可以具有的最小值。
5.void set(int field, int value) 将给定的日历字段设置为给定的值。
6.void set(int year, int month, int date, int hourOfDay, int minute, int second) 设置字段中的值 YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE和 SECOND

import java.util.Calendar;

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.get(Calendar.YEAR));
        System.out.println(calendar.get(Calendar.MONTH));
        System.out.println(calendar.get(Calendar.DATE));
        calendar.set(2018,10,29,22,33,44);
        System.out.println(calendar.getTime());
        calendar.add(Calendar.YEAR,-1);
        System.out.println(calendar.getTime());
    }
}

SimpleDateFormat类

SimpleDateFormat是Java提供的格式器类,该类不仅可以将指定的日期对象格式化成字符串,并且可以将指定的字符串解析成日期对象。
常用方法有以下两个:
1.public SimpleDateFormat():使用默认的模式来创建一SimpleDateFormat对象
2.public SimpleDateFormat(String pattern):使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象
格式化日期对象

//使用默认格式
SimpleDateFormat format = new SimpleDateFormat(); 
String date = format.format(new Date());
System.out.println(date);
//使用制定的格式
SimpleDateFormat simp = new SimpleDateFormat("yyyy年MM月dd号 HH:mm:ss: E z");
String format1 = simp.format(new Date());
System.out.println(format1);

解析字符串

String dateStr = "2018-10-10 10:30:30";
//ParseException 解析异常
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(dateStr);//把日期字符串 解析成日期对象 注意格式要对应
System.out.println(date);
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值