Api

Object:java中的上帝类,根类

 1.是所有类,接口,数组的根类

 2.集合了所有类的共性的数据方法

 3.常用的方法有

     3.1: tostring()方法:提供打印对象位字符串的规则方法

            默认的打印方式:类的包所在的全限定名+@+hasCode

Object on = new Object();
System.out.println("将on引用的对象进行打印成字符串:"+on.toString());

   3.2: equals():提供判断和另一个对象是否指向同一个地址引用。

        注意:(1)用于引用数据类型的判断,不能用于基本数据类型,默认使用object的判断是否相等,可以重写父类的equals方法定义自己的判断相等的标准。

                  (2)== 比较运算符既可以用于判断基本数据类型的值是否相等。也可以用于判断引用数据类型是否相等(在堆内存中的地址是否是同一个)

@Override
public boolean equals(Object obj) {//user1 重写父类的equals方法
    User1 O = (User1) obj;
    return this.name.equals(O.name);
}

    3.3:hashCode():提供获取对象在堆内存中地址的十进制虚地址值方法 User1 u1 = new

User1 u1 = new User1("苏沐橙",18);
System.out.println(u1.hashCode());

    3.4:clone(): 提供new之外创建对象副本的方法,注意子类要去实现clone接口才能提供

            注意:(1)子类要重写Cloneable接口,扩展复制的能力,在重写object的clone方法就可以复制了。(2)复制的副本是另一个对象

@Override
protected Object clone() throws CloneNotSupportedException {//重写clone方法
    return super.clone();
}

包:java.lang.object,在lang包下的类无需导包。

package com.hpf;

public class objectDemo {
    public static void main(String[] args) {
        //object演示
        Object on = new Object();
        Object to = new Object();

        boolean yes = on.equals(to);
        System.out.println("yes =" +yes);
        yes = (on == to);
        System.out.println("yes ="+yes);

        System.out.println("将on引用的对象的hascode值转成16进制打印"+Integer.toHexString(on.hashCode()));
        System.out.println(Integer.toHexString(to.hashCode()));

        System.out.println("将on引用的对象进行打印成字符串:"+on.toString());
        System.out.println("将to引用的对象进行打印成字符串:"+to.toString());

        //User1子类演示
        User1 u = new User1("苏沐橙",19);
        int ui = u.hashCode();
        System.out.println(ui);
        User1 u1 = new User1("苏沐橙",18);
        System.out.println(u1.hashCode());

        //判断对象是否相等
        boolean equals = u.equals(u1);
        System.out.println(equals);
        System.out.println(u == u1);
        int a =6;
        int b = 5;
        boolean c = a == b;
        System.out.println(c);

        //查看学生的信息
        System.out.println(u);
        System.out.println(u.toString());

        //对象的克隆演示实例
        try {
            User1 ucooy = (User1) u.clone();
            System.out.println(ucooy.name);
            System.out.println(ucooy.age);
            System.out.println(u.hashCode() == ucooy.hashCode());//false 判断看了的对象和原本对象不是同一个对象
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }


    }
}
class User1 implements Cloneable{
    String name ="女孩";
    int age = 18;
    public User1() {
    }

    public User1(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Override
    public boolean equals(Object obj) {//user1 重写父类的equals方法
        User1 O = (User1) obj;
        return this.name.equals(O.name);
    }

}

 Math:算术类

   算术运算工具类,为我们提供了算术运算的能力工具

package com.hpf;

public class MathDemo {
    public static void main(String[] args) {
        int x = -6;
        System.out.println(Math.abs(x));//abs:绝对值
        double y = -3.6;
        System.out.println(Math.ceil(y));//ceil:向上取整
        System.out.println(Math.floor(y));//floor:向下取整
        System.out.println(Math.round(y));//round:四舍五入
        System.out.println(Math.random());//random:产生一个随机小数[0,1]取值范围
        System.out.println(Math.min(x,y));//min:获取最小值
        System.out.println(Math.max(x,y));//max:获取最大值
        System.out.println(Math.PI);//圆周率pi
        System.out.println(Math.E);//自然常数
    }
}

Arrays:数组操作工具类

package com.hpf;

import java.util.Arrays;

public class ArrayDemo {
    public static void main(String[] args) {
        String[] st ={"星期一","星期二","星期三","星期四","星期五","星期六","星期天"};
        //打印查看数组
        String s = Arrays.toString(st);
        System.out.println(s);
        int[] arr ={4,3,6,2,7,1,9};
        System.out.println(arr);
        Arrays.sort(arr);//排序
        System.out.println(Arrays.toString(arr));//排好序打印数组
        int search = Arrays.binarySearch(arr, 2);//binarySearch:按二分查找法查找key在数组(排好序)a中的位置
        System.out.println("查找的值的位置是:"+search);
        Arrays.fill(arr,1,5,6);//fill:将数组arr索引为1至5修改为6
        System.out.println(Arrays.toString(arr));
        int[] ints = Arrays.copyOfRange(arr, 1, 6);//copyOfRange:复制数组arr索引为1-6的元素为新数组
        System.out.println(Arrays.toString(arr));
        System.out.println(Arrays.toString(ints));
    }
}

Random:随机数操作类

package com.hpf;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class RandomDemo {
    public static void main(String[] args) {
        Random random =new Random();
        byte[] st = new byte[5];
        for (int i = 0; i < 5; i++) {
            System.out.println(random.nextDouble());//[0,1)随机小数 同Math.random()
            System.out.println(random.nextInt());//产生int范围的随机数
            System.out.println(random.nextInt(10));//产生int范围在0,10的随机数
            random.nextBytes(st);
        }
        System.out.println(Arrays.toString(st));
        byte[] b =new byte[1];
        random.nextBytes(b);
        System.out.println(Arrays.toString(b));
    }
}

Date|simpleDateFormat|Calendar:日期类

package com.hpf;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class SimpLeDateFormat {
    public static void main(String[] args) throws ParseException {

        Date date = new Date();//获取当前系统时间
        System.out.println("当前系统时间="+date);
        System.out.println(date.getTime());//获取时间距离1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数
        SimpleDateFormat rq = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");//SimpleDateFormat:处理日期格式化的类
        System.out.println(rq.format(date));
        String st ="2022年4月24日 1时34分23秒";
        Date parse = rq.parse(st);//
        System.out.println(parse);


        //Calender 日历类
        //创建一个和当前系统时间构建的日历对象实例
        Calendar instance = Calendar.getInstance();
        System.out.println(instance.get(Calendar.YEAR));//当前系统时间的年
        System.out.println(instance.get(Calendar.MARCH)+1);//当前系统时间的月
        System.out.println(instance.get(Calendar.DAY_OF_MONTH));
        System.out.println(instance.get(Calendar.DAY_OF_WEEK) - 1);//当前系统时间的周几
        int wfm = instance.get(Calendar.WEEK_OF_MONTH);//日历式的第几周
        System.out.println("日历式的第几周="+wfm);
        int NS = instance.get(Calendar.DAY_OF_WEEK_IN_MONTH);//某月中的第几周
        System.out.println("某月中的第几周="+NS);
        int wk = instance.get(Calendar.WEEK_OF_YEAR);//一年的第多少周
        System.out.println("一年的第多少周="+wk);
        int dy = instance.get(Calendar.DAY_OF_YEAR);//一年的第多少天
        System.out.println("一年的第多少天="+dy);
        System.out.println("时:"+instance.get(Calendar.HOUR_OF_DAY));
        System.out.println("分:"+instance.get(Calendar.MINUTE));
        System.out.println("秒:"+instance.get(Calendar.SECOND));
        Date time = instance.getTime();



    }

}

BigDecimal类:不可变的,任意精度的有符号十进制,可以解决数据丢失问题

package com.hpf;

import java.math.BigDecimal;

public class BigDecimalDemo {
    public static void main(String[] args) {
        BigDecimal b = new BigDecimal("0.9");
        BigDecimal c = new BigDecimal("0.1");
        BigDecimal s = b.add(c);//加法
        System.out.println(s);
        BigDecimal z =b.subtract(c);//减法
        System.out.println(z);
        s = b.multiply(c);//乘法
        System.out.println(s);
        System.out.println(s = b.divide(c));//除法
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

渣男あ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值