java014

1,String

常用类:经常使用的类
字符串String

不可变长字符序列

String类表示字符串. java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。

“abc” 字符串常量 --> 字符串常量池中-> 方法区 new String() --> 堆中

学习API类型:
了解类的作用与特点
学习构造器
学习方法
成员
非静态
静态的

底层分析:
jdk11 ->使用字节数组存储字符串数据 private final byte[] value;
jdk8 -> 使用字符数组存储字符串数据 private final char[] value;

StringBuilder 与 StringBuffer

​ 字符串缓冲区的下,效率相对String更快,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。
​ String 不可变长的字符序列,对字符串做少量改动的时候推荐使用
​ StringBuilder 可变长字符序列 , 线程不安全 ,单线程下大量操作字符串推荐使用
​ StringBuffer 可变长字符序列 , 线程安全的 ,多线程下大量操作字符串推荐使用

执行效率 StringBuilder> StringBuffer > String

2;Math用法

随机数公式

 [min,max]  (int)(Math.random() * (max-min+1) + min)

向上取整 返回>=参数的最近的整数

static double ceil(double a)

向下取整 返回小于或等于参数且等于数学整数的最大值(最接近正无穷大) double 。

static double floor(double a)

返回两个 double值中较大的 double

static double max(double a, double b)

返回第一个参数的值,该值是第二个参数的幂。

static double pow(double a, double b)

3:类的基本类型的包装类

为什么存在存在基本数据类型还要提供引用数据类型???

​ 1.包装类是类,类中可以定义成员,增强使用能力(成员变量,成员方法…)
​ 2.类似集合,要求只能存储引用数据类型的数据
​ 3.基本数据类型与引用数据类型的默认值(null)

为什么存在包装类还要保留基本数据类型?

​ 基本数据类型比引用数据类型更节省内存空间,存在性能优势

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter

自动拆装箱:
自动装箱 : 基本—> 包装
自动拆箱 : 包装—> 基本

比较:

==基本数据类型->数据值-> 引用数据类型 ->地址值

1.两个基本数据类型int比较,只要数据值相等就相等

2.两个new Interger()比较.肯定不相等,因为new每个对象堆内存中地址不同

3.Integer与new Integer()比较肯定不相等.因为new不同的地址

4.基本数据类型int与Integer|new Integer比较,如果数据值相等肯定相等,因为包装类会发生自动拆箱,然后比较数据值

5.两个Integer比较,在缓冲区范围[-128,127]之间就相等,同一个缓冲区对象,否则返回new Integer()

4:枚举

枚举类:当能够确定一种事物的所有可能,一个类型的所有对象的时候

是类,定义枚举类型 enum

java中所有的枚举类型都会隐式的继承自java.lang.Enum, 这是所有Java语言枚举类型的公共基类。
枚举类中的字段,就为做当前枚举类型的一个实例存在,默认被 public static final修饰

5:日期类型

​ Date日期

Date类表示特定的时刻,精度为毫秒

public class Class001_Date {
    public static void main(String[] args) {
        //Date() 分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒。
        Date date = new Date();
        System.out.println(date);
        System.out.println(date.getTime());  //返回从纪元开始到当前日期对象所表示的时刻之间的毫秒数
        //Date(long date) 分配 Date对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日00:00:00 GMT。
        Date date2 = new Date(1623402643599L);
        System.out.println(date2);

        //boolean after(Date when) 测试此日期是否在指定日期之后。
        //boolean before(Date when) 测试此日期是否在指定日期之前。
        System.out.println(date.after(date2));
        System.out.println(date.before(date2));
    }
}

SimpleDateFormat 格式日期转换器

可以实现日期与字符串之间额转换问题

format() 日期对象转换字符串

parse() 字符串转为日期对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值