Math&System类
Math类
- Math类是被final修饰的,它不能被继承
- Math类中没有构造方法,但是它的成员变量都是被static关键字修饰的,可以直接通过类名进行访问
Math.PI
System
System.exit()方法,非零参数表示异常结束,只有传参0时才是正常结束
System.
Object类
概述
是所有类的父类/基类/超类,所有类都默认Object类,Object类中有一个无参构造方法
建议所有子类重写toString()
方法来进行使用
.toString()方法
Alt+Insert自动生成,会返回一个包含全部成员变量的字符串
@Override
public String toString() {
return "类名{" +
"变量名" + 变量 +
'}';
}
冒泡排序
原理:
数组中相邻两个元素两两进行比较,比较完一趟最大/小的元素排在最后,下一趟比较时最后i(趟数)位不再参与
public void bubbleSort(int [] arr){
int temp = 0;
//一共需要比较arr.length - 1 趟
for(int i = 0 ; i<arr.length - 1; i++){
/*第1趟比较晚,最后1位就已经处于合适位置不再需要比较
第2趟比较晚,最后2位就已经处于合适位置不再需要比较
第3趟比较晚,最后3位就已经处于合适位置不再需要比较
。
。
。
第i趟比较晚,最后i位就已经处于合适位置不再需要比较
*/
for(int j = 0 ;j<arr.length - 1 - i ; j++){
if(arr[j]>arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
Arrays类
概述
- 包含在java.util包中,使用时需要import
- 在java9之后开始支持
- .toString()方法和上面自己写的方法功能相同
- .sort()方法也可以实现排序
String
//String类型变量split("")方法,根据“”双引号之间的内容对字符串进行分割,并返回一个String类型的数组
String s = "1231 1234 24 1 57 8 97";
s.split(" ");
工具类设计思路
构造方法使用private方法修饰,不允许外界访问
成员方法使用public static进行修饰,使用者可以通过类名访问
public class DateUtils {
private DateUtils(){
}
/*将Date转换为指定格式的String字符串
*返回值类型:String
* 参数类型:Date
* 使用static关键字修饰,让其他方法可以直接通过工具类类名对方法进行调用
* */
public static String dateToString(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy年-MM月-dd日 HH:mm:ss");
return sd.format(date);
}
/*将String类型解析为指定格式的Date
* 返回值类型:Date
* 参数类型:String
* */
public static Date stringParseDate(String s) throws Exception{
SimpleDateFormat sd = new SimpleDateFormat("yyyy年-MM月-dd日 HH:mm:ss");
return sd.parse(s);
}
}
基本类型包装类(这部分需要着重再看一遍)
基本数据类型 基本数据类型包装类
byte Byte
int Integer
short Short
long Long
float Float
double Double
char Character
boolean Boolean
装箱拆箱
-
装箱:把基本数据类型包装成对应的包装类类型
自动装箱/自动拆箱 -
拆箱:把包装类类型数据转换成基本数据类型
Date类
注意常用的是java.util包下的Date类,而不是java.util包下的
- 无参构造方法,返回一个精确到毫秒的当前时间字符串,Date类中重写了toString()方法
- 带参构造方法Dater(long date)根据给定的long类型参数创建一个Date对象
- public long getTime()获取从1970年1月1日 00:00:00 到现在(系统时间)的毫秒值
- public void setTime(long date)设置时间,传递的参数是毫秒值
- 1秒=1000毫秒
SimpleDateFormat
https://blog.csdn.net/qq_36761831/article/details/79691119
SimpleDateFormat s = new SimpleDateFormat("yyyy MM dd HH mm ss");
Date d2 = new Date();
System.out.println(s.format(d2));
无参构造方法
带参构造方法,根据字符串来定义格式化格式
.formate(Date date)方法将Date数据格式化
- 日期格式化(Date类型格式化后返回一个String类型参数)
SimpleDateFormat s = new SimpleDateFormat("yyyy MM dd HH mm ss");
Date d2 = new Date();
System.out.println(s.format(d2));
- 日期解析(通过String类型字符串解析转换成Date类型)
Date parse = s.parse("2021 08 31 14 54 50");
System.out.println(parse);
注意在使用parse方法时,字符串格式必须和SimpleDateFormate对象设置的格式完全一致才可以
Calendar类(日历类)
Calendar.YEAR等等,可以获取到日历年月日字段,
注意Calendar类中.MONTH是从0开始的,具体使用时注意需要+1
.get(Calendar.YEAR)方法可以将日历字段转换成int类型的变量
add(Calendar.xxx , (±)数 )方法将日历字段加减