java后端开发day26--常用API(一)

(以下内容全部来自上述课程)

1.Math

1.简单介绍

  • 是一个帮助我们用于进行数学计算的工具类
  • 私有化构造方法,所有的方法都是静态的

2.常用方法

不要背,忘了就查文档。

3.练习题

1.判断一个数是否为质数(优化版)
java 复制代码
package Math;

public class Mathdemo1 {

	public static void main(String[] args) {
	//判断一个数是否为质数
        System.out.println(isPrime(13));
        
	}
	public static boolean isPrime(int num) {
		for(int i=2;i<=Math.sqrt(num);i++) {
			if(num%i==0) {
				return false;
			}
		}
		return true;
	}
}
2.自幂数

一个n位自然数等于自身各个数位上数字的n次幂之和

java 复制代码
package Math;

public class MathDemo2 {
    public static void main(String[] args) {
        //统计有多少个水仙花数

        //100-999
        int count = 0;
        //得到每一位的数
        for(int i=100;i<=999;i++) {
            int ge = i%10;
            int shi = i/10%10;
            int bai = i/100%10;
            //判断
            if(Math.pow(ge, 3)+Math.pow(shi, 3)+Math.pow(bai, 3)==i) {
                System.out.println(i);
                count++;
            }
        }
        System.out.println("水仙花数共有"+count+"个");
    }
}

2.System

1.简单介绍

也是一个工具类,提供了一些与系统相关的方法

2.常用方法

1秒=1000毫秒

数组拷贝细节:

  1. 如果数据源数组和目的地数组都是基本数据类型,那么两者的类型必须保持一致,否则会报错
  2. 在拷贝的时候需要考虑数组的长度,如果超出范围也会报错
  3. 如果数据源数组和目的地数组都是引用数据类型,那么子类类型可以赋值给父类类型

3.时间原点

3.RunTime

1.简单介绍

表示当前虚拟机的运行环境。

2.常见方法

cmd命令补充:

  • shutdown :关机
  • 加上参数才能执行
  • -s:默认在一分钟时候关机
  • -s -t 指定时间:指定关机时间
  • -a:取消关机操作
  • -r:关机并重启

4.Object

1.简单介绍

  • Object是Java中的顶级父类。所有的类都直接或间接的继承于Object类。
  • Object类中的方法可以被所有子类访问,所以我们要学习Object类和其中的方法。

2.方法

1.构造方法

public Object() 空参构造

顶级父类中只有无参构造方法

2.成员方法

打印细节:

  • System:类名
  • out:静态变量
  • System.out:获取打印的对象
  • println():方法
  • 参数:表示打印的内容
  • 核心逻辑:
  • 当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串
  • 然后再打印在控制台上,打印完毕换行处理

toString方法的结论:

  • 如果我们打印一个对象,想要看到属性值的话,那么就重写toString方法就可以了。
  • 在重写的方法中,把对象的属性值进行拼接。

equals方法的结论:

  • 如果没有重写equals方法,那么默认使用Object中的方法比较,比较的就是地址值是否相等。
  • 一般来讲地址值对于我们意义不大,所以我们会重写,重写之后比较的就是对象内部的属性值了。

5.对象克隆

把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。

细节:

方法在底层会帮我们创建一个对象,并把原对象中的数据拷贝过去。

书写细节:

  1. 重写Object中的clone方法
  2. 让javabean类实现Cloneable接口
  3. 创建原对象并调用clone就可以了

1.浅克隆

直接完全克隆,不会修改任何地址值。

父类中的克隆是浅克隆。

2.深克隆

基本数据类型 ----- 直接拷贝数值

引用数据类型 ----- 新创建地址再克隆

字符串 会复用

后续开发会用到第三方工具。

6.Objects

1.简单介绍

是一个工具类,提供了一些方法去完成一些功能。

2.成员方法

equals细节:

  1. 方法的底层会判断a是否为null,如果为null,直接返回false
  2. 如果a不为null,那么就利用a再次调用equals方法
  3. 此时a是XXXX类型,所以最终还是会调用XXXX中的equals方法
    如果没有重写,比较地址值,如果重写了,就比较属性值。

7.BigInteger(大的整数)

在Java中,整数有四种类型:byte,short,int,long。

在底层占用字节个数:byte1个字节、short2个字节、int4个字节、long8个字节。

1.构造方法


对象一旦创建,内部记录的值不能发生改变。

获取指定进制的大整数----细节:

  1. 字符串中的数字必须是整数
  2. 字符串中的数字必须要跟进制吻合
    比如二进制中,只能写0和1,写其他的就会报错

静态获取-------细节:

  1. 能表示范围比较小,只能在long的取值范围之内,如果超出long的范围就不行了
  2. 在内部对常用的数字:-16~16进行了优化
    提前把-16~16先创建好BigInteger的对象,如果多次获取不会重新创建新的。

2.构造方法小结

  1. 如果BigInteger表示的数字没有超出long的范围,可以用静态方法(valueOf)获取。
  2. 如果BigInteger表示的超出long的范围,可以用构造方法获取。
  3. 对象一旦创建,BigInteger内部记录的值不能发生改变。
  4. 只要进行计算都会产生一个新的BigInteger对象

3.成员方法

4.底层存储原理

8.BigDecima(大的小数)

  • 用于小数的精确计算
  • 用来表示很大的小数

1.创建

1.通过传递double类型的小数

细节:这种方式有可能是不精确的,所以不建议使用。

java 复制代码
BigDecimal bd1 = new BigDecimal(0.01);
2.通过传递字符串表示的小数
java 复制代码
BigDecimal bd1 = new BigDecimal("0.01");
3.通过静态方法
java 复制代码
BigDecimal bd1 = BigDecimal.valueOf(10);

细节:

  • 如果要表示的数字不大,没有超出double的取值范围,建议使用静态方法
  • 如果要表示的数字比较大,超出了double的取值范围,建议使用构造方法
  • 如果我们传递的是0~10之间的整数,包含0和10,那么方法会返回已经创建好的对象,不会重新new

2.成员方法

舍入:

  • UP:远离零方向舍入的舍入模式
  • DOWN:向零方向舍入的舍入模式
  • CEILING:向正无限大方向舍入
  • FLOOR向负无穷大方向舍入
  • HALF_UP:四舍五入

3.底层存储原理

相关推荐
Hetertopia几秒前
在Vscode开发QT,完成QT环境的配置
开发语言·qt
胡图蛋.5 分钟前
Spring 中哪些情况下,不能解决循环依赖问题?
java·后端·spring
24k小善7 分钟前
Flink Oceanbase Connector详解
java·大数据·flink
ChinaRainbowSea15 分钟前
8. Nginx 配合 + Keepalived 搭建高可用集群
java·运维·服务器·后端·nginx
猫头鹰~20 分钟前
Ubuntu20.04安装Redis
java·数据库·redis
傻啦嘿哟32 分钟前
动态HTTP代理与静态HTTP代理的区别及HTTP代理的常见用途与类型
开发语言·php
小志开发38 分钟前
Java 多态:代码中的通用设计模式
java·开发语言
索然无味io1 小时前
Python--内置模块和开发规范(上)
开发语言·windows·笔记·python·web安全·网络安全
serendipity_hky1 小时前
【easy视频 | day03】客户端获取视频分类 + 上传投稿
java·spring boot·缓存·音视频·idea
计算机毕设定制辅导-无忧学长1 小时前
Maven 私服的搭建与使用(二)
java·maven