常见对象:各类的概述和使用

14.1常见对象:BigDecimal类的概述和方法使用

A:BigDecimal的概述
由于在运算的时候,float类型和double很容易丢失精度,演示案例。
所以,为了能精确的表示、计算浮点数,Java提供了BigDecimal
不可变的、任意精度的有符号十进制数。
B:构造方法
public BigDecimal(String val)
C:成员方法
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 小数点后面保留几位
// roundingMode 取舍模式 比如四舍五入
案例演示:
如果对精度要求比较高,就可以使用 BigDecimal

public class MyTest {
    public static void main(String[] args) {
        double a=10;
        double b=3;
        System.out.println(a/b);
        BigDecimal aNum = new BigDecimal(a);
        BigDecimal bNum = new BigDecimal(b);
        BigDecimal add = aNum.add(bNum); //加
        System.out.println(add);
        BigDecimal subtract = aNum.subtract(bNum); //减
        System.out.println(subtract);
        BigDecimal multiply = aNum.multiply(bNum);
        System.out.println(multiply); //乘
        //不能整除时,我们要规定,保留位数,以及取舍方式
        BigDecimal divide = aNum.divide(bNum,30,BigDecimal.ROUND_CEILING);
        System.out.println(divide);
        System.out.println(1==0.1528965487899525455);
    }
}

14.2常见对象:Date类的概述和方法使用

A:Date类的概述
类 Date 表示特定的瞬间,精确到毫秒。
B:构造方法
public Date()
public Date(long date) //把一个long类型的毫秒值转换成一个日期对象
C:成员方法

public long getTime(): 获取一个日期对象对象毫秒值
public void setTime(long time): 给一个日期对象设置上指定的毫秒值 例:date.setTime(1000 * 60 * 60) ;、
小结:Date ---- long 的转换
调用getTime方法

long — Date 的转换
可以使用构造方法
setTime(long time)

14.3常见对象:SimpleDateFormat类实现日期和字符串的相互转换

SimpleDateFormat:

可以把一个日期对象格式化成一个文本(字符串) , 也可以把一个日期字符串解析成一个日期对象。

构造方法:

  • public SimpleDateFormat():使用默认的模式来创建一个SimpleDateFormat对象
  • public SimpleDateFormat(String pattern):使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象

成员方法:

public String format(Date date): 把一个日期对象格式化成一个字符串
public Date parse(String dateStr): 把一个日期字符串解析成一个日期对象 注意要以指定格式解析

组成规则

y 年
M 月
d 天
H 时
m 分
s 秒

14.4常见对象:Calendar类的概述和获取日期的方法

A:成员方法
public void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
public final void set(int year,int month,int date) 设置日历时间 年月日
案例演示:

public class CalendarDemo {
    public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        //给相应的日历字段,加上会减去相应的量  减去可以填数负数
        instance.add(Calendar.YEAR,-1);
        int i = instance.get(Calendar.YEAR);
        System.out.println(i);

        instance.add(Calendar.DAY_OF_MONTH,2);
        System.out.println(instance.get(Calendar.DAY_OF_MONTH));

        //直接设置日期 set()
        Calendar instance1 = Calendar.getInstance();
        instance1.set(2000,6,19,14,20,20);
        int i1 = instance1.get(Calendar.YEAR);
        System.out.println(i1);

    }
}

    1.  Calendar 类是一个抽象类,它为特定瞬间与一组诸如
    2.YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段
    3. (例如获得下星期的日期)提供了一些方法。
    4. 瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
     5.该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected。

      6通过一个静态方法,获取该类的对象



如何实现Date与long相互转换?

Long类型的时间转换为date,可以通过SimpleDateFormat对象对格式进行定义,然后创建一个Date类型的对象封装时间,再通过SimpleDateFormat对象的format(date)方法就可以获取指定的日期格式了。

如何实现Date与String相互转换

需要给SimpleDateFormat指定格式,如yyyy-MM-dd,然后使用SimpleDateFormat的parse方法就可以实现将String类型转为Date类型了

常见对象(Calendar类的add()和set()方法)

A:成员方法
public void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
public final void set(int year,int month,int date) 设置日历时间 年月日
案例演示

public class RandomDemo {
    public static void main(String[] args) {
        //生成随机数据的类
        // 此类的实例用于生成伪随机数流。此类使用 48 位的种子,
        Random random = new Random();
        //生成一些随机整数
       byte[] bytes= new byte[10];
        for (int i = 0; i < 100; i++) {
            //int num = random.nextInt(); //如果没有传入一个范围,生成的随机数就是int的范围
           //int num = random.nextInt(100); //范围就是 0-99 包含0和99
          //  int num = random.nextInt(100)+1;

          //  double num = random.nextDouble();
          //  boolean b = random.nextBoolean();
            //随机一些byte范围的数,填到这个数组中
            random.nextBytes(bytes);
            System.out.println(Arrays.toString(bytes));
        }
    }
}

public class RandomDemo2 {
    public static void main(String[] args) {
        //Random( long seed)
        //使用单个 long 种子创建一个新的随机数生成器。
        //给定了种子,每次生成的随机数都是一样的
        Random random = new Random(1L);
        for (int i = 0; i < 10; i++) {
            int i1 = random.nextInt(10);
            System.out.println(i1);
        }
    }
}

# 高校智慧校园解决方案摘要 智慧校园解决方案是针对高校信息化建设的核心工程,旨在通过物联网技术实现数字化校园的智能化升级。该方案通过融合计算机技术、网络通信技术、数据库技术和IC卡识别技术,初步实现了校园一卡通系统,进而通过人脸识别技术实现了更精准的校园安全管理、生活管理、教务管理和资源管理。 方案包括多个管理系统:智慧校园管理平台、一卡通卡务管理系统、一卡通人脸库管理平台、智能人脸识别消费管理系统、疫情防控管理系统、人脸识别无感识别管理系统、会议签到管理系统、人脸识别通道管理系统和图书馆对接管理系统。这些系统共同构成了智慧校园的信息化基础,通过统一数据库和操作平台,实现了数据共享和信息一致性。 智能人脸识别消费管理系统通过人脸识别终端,在无需接触的情况下快速完成消费支付过程,提升了校园服务效率。疫情防控管理系统利用热成像测温技术、视频智能分析等手段,实现了对校园人员体温监测和疫情信息实时上报,提高了校园公共卫生事件的预防和控制能力。 会议签到管理系统和人脸识别通道管理系统均基于人脸识别技术,实现了会议的快速签到和图书馆等场所的高效通行管理。与图书馆对接管理系统实现了一卡通系统与图书馆管理系统的无缝集成,提升了图书借阅的便捷性。 总体而言,该智慧校园解决方案通过集成的信息化管理系统,提升了校园管理的智能化水平,优化了校园生活体验,增强了校园安全,并提高了教学和科研的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值