以下部分内容来自马士兵教育课堂,部分来自百度。
包装类与基本数据类型
包装类将基本数据类型封装成一个类,包含属性和方法,他们都实现了序列化接口。字符串相关类 不可变字符序列:String 变i使用
使用过程中,会涉及自动装箱和自动拆箱
装箱:将基本数据类型转换成包装类
拆箱:将包装类转换成基本数据类型
字符串相关类
不可变序列化:String,被定义final类型不可被继承重写
可变序列化:String Buffer和StringBuilder继承了AbstractStringBuilder【抽象字符串生成器】,是Stirng的增强版,是一个可变的容器,用法相差不大,里面含的方法也相差不大,都被定义final不可被继承重写,StringBuffer线程安全,效率低,StringBuilder线程不安全,效率高。
时间相关类,
Date,DateFormat,SimpleDateFormat,这个里面放的是跟日期时间之类有光的方法,里面有静态方法/普通方法/构造方法三类,具体怎么用看什么业务场景,它位于Java.util包中
package com.javase;
import javax.xml.crypto.Data;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
Date date=new Date();
//格式化当前时间
DateFormat dateFormat=new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
System.out.println(dateFormat.format(date));
//输出当前时间的毫秒值
System.out.println(date.getTime());
}
}
Math类
Math类包含基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数,这个 类里面的方法都是静态的,而且这个类被定义final的,不可被继承和重写的,位于java.lang包中。
package com.javase;
public class TestMath {
public static void main(String[] args) {
System.out.println("返回一个1~3最大的数:"+Math.max(1,3));
System.out.println("返回1~3中最小的数"+Math.min(1,3));
System.out.println("四舍五入,向下取整:"+Math.round(2.134));
System.out.println("四舍五入,向上取整:"+Math.round(2.534));
System.out.println("返回一个double的随机数:"+Math.random());
}
}
File类
File类,位于java.io包中
枚举类
这是一个抽象类,里面有很多方法都是final类型的不可被重写,里面包含toStirng(),equals()....这些方法很多具体用的时候可以点开源码查看。使用枚举好处:类型安全,易于输入,代码清晰。
package com.javase;
/**
* 枚举测试
*/
public class TextString {
public enum Gender {
MALE("男"), FEMALE("女");
Gender(String name) {
this.name = name;
}
public String name;
public void show() {
System.out.println(this.name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
Gender gender=Gender.FEMALE;
gender.show();
}
}
Java的基本数据类型和它的包装类
包装类是把基础数据类型包装成一个类,含方法和属性,方便对象的某些操作,他们都放在Java.lang中