JAVA基础之常用类

108 阅读4分钟

常用类

包装类

包装类的分类

image-20230120101907699

包装类和基本数据类型的数据转换

image-20230120102004946

String和包装类的转换

//包装类->String

​ //方式 1

​ String str1 = i + "";

​ //方式 2

​ String str2 = i.toString();

​ //方式 3

​ String str3 = String.valueOf(i);

//String -> 包装类(Integer)

​ String str4 = "12345";

​ Integer i2 = Integer.parseInt(str4);//使用到自动装箱

​ Integer i3 = new Integer(str4);//构造器

包装类(Intager)和Character类的常用方法

image-20230120102441921

注意事项

1.调用valueOf()方法时会先生成一个数组,如果进行转换的数据范围在数组之间则会直接返回数组中的数据,反之,则新建一个对象返回。

2.只要有基本数据类型,== 判断的就是值是否相等。

String类

String类的理解

image-20230120104106421

//5. String 类实现了接口 Serializable【String 可以串行化:可以在网络传输】

//

接口 Comparable [String 对象可以比较大小]

//6. String 是 final 类,不能被其他的类继承

//7. String 有属性 private final char value[]; 用于存放字符串内容

//8. 一定要注意:value 是一个 final 类型, 不可以修改:即 value 不能指向

// 新的地址,但是单个字符内容是可以变化

创建String对象的两种方法

image-20230120104237484

image-20230120104337833

intern方法

因为不是所有的字符串创建方式都会在常量池中生成对应的字符串,而intern方法用于根据所给的字符串在常量池中创建对应的字符串。jdk7以后,调用intern方法时,如果该字符串已经存在于常量池中,则将常量池中的引用直接返回;如果不存在,则在常量池中生成一个对原字符串的引用(即生成一个存储了原对象的地址的空间,之后指向该字符串的String对象会获取这个空间的内容) ,并返回。

字符串的特性

image-20230120105640105

image-20230120105738134

String类常用方法

image-20230120105916976

StringBuffer类

基本介绍

image-20230124225105271

StringBuffer与String的比较

image-20230124225144242

StringBuffer与String间的转换

String转换为StringBuffer

image-20230124225307897

StringBuffer转换为String

image-20230124225406689

常见方法

image-20230124225510815

image-20230124225538651

image-20230124225603393

插入image-20230124225629387

StringBuilder类

基本介绍

image-20230124225744067

image-20230124225823971

常用方法与StringBuffer基本一致

String,StringBuffer,StringBuilder间的比较

image-20230124225948231

image-20230124230005014

Math类

常用方法(均为静态方法)

//1.abs 绝对值

//2.pow 求幂

//3.ceil 向上取整,返回>=该参数的最小整数(转成 double);

//4.floor 向下取整,返回<=该参数的最大整数(转成 double)

//5.round 四舍五入 Math.floor(该参数+0.5)

long round = Math.round(5.51);

System.out.println(round);//6

//6.sqrt 求开方

//7.random 求随机数

// random 返回的是 0 <= x < 1 之间的一个随机小数

//8.max , min 返回最大值和最小值

Array类

常用方法(静态)

image-20230124230315602

image-20230124230340750

fill可以理解成是替换原理的元素

System类

常用方法

image-20230124230634187

arraycopy(src,srcPos,dest,destPos,length)的含义

image-20230124230844850

BigInteger 和 BigDecimal 类

介绍

image-20230124230913051

常用方法

image-20230124230934754

注意:使用时要创建一个Big___类来使用。

日期类

第一代日期类

image-20230124231127721

image-20230125111502608

一.默认输出的日期格式是国外的方式, 因此通常需要对格式进行转换

/1. 创建 SimpleDateFormat 对象,可以指定相应的格式

//2. 这里的格式使用的字母是规定好,不能乱写

image-20230124231339511

二.可以把一个格式化的 String 转成对应的 Date

//2. 得到 Date 仍然在输出时,还是按照国外的形式,如果希望指定格式输出,需要转换

//3. 在把 String -> Date , 使用的 sdf 格式需要和你给的 String 的格式一样,否则会抛出转换异常

第二代日期类

介绍

image-20230125112716374

特点

1.Calendar是一个抽象类,并且构造器是private

//2.可以通过getInstance()来获取实例

//3.提供大量的方法和字段提供给程序员

//4.Calendar没有提供对应的格式化的类,因此需要程序员自己组合来输出(灵活)

//5.如果我们需要按照24小时进制来获取时间,Calendar.HOUR==改成=>Calendar.HOUR_OF_DAY

6.获取日历对象的某个日历字段

System.out.println("年:"+c.get(Calendar.YEAR));

//这里为什么要+1,因为Calendar返回月时候,是按照0开始编号

System.out.println("月:"+(c.get(Calendar.MONTH)+1));

System.out.println("日:"+c.get(Calendar.DAY_OF_MONTH));

System.out.println("小时:"+c.get(Calendar.HOUR));

System.out.println("分钟:"+c.get(Calendar.MINUTE));

System.out.println("秒:"+c.get(Calendar.SECOND))

7.//Calender没有专门的格式化方法,所以需要程序员自己来组合显示

第三代日期类

介绍

image-20230125113340726

使用方法

//1.使用now()返回表示当前日期时间的对象

//2.使用DateTimeFormatter对象来进行格式化

//创建DateTimeFormatter对象

//3.提供plus和minus方法可以对当前时间进行加或者减

//4.可以单独输出年月日时分秒

image-20230125113607663

Instant时间戳

image-20230125113848050

//1.通过静态方法now()获取表示当前时间戳的对象

Instantnow=Instant.now();

//2.通过from可以把Instant转成Date

Datedate=Date.from(now);

//3.通过date的toInstant()可以把date转成Instant对象

Instantinstant=date.toInstant();