大家好今天我给大家简单说一些我最近学到的一些常见的类。
第一个类呢,是class这个类这个类一个是大家最熟悉的类了。
class在java.lang包中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息。
class类书写:
访问修饰符 class 类名称 {
// 代码
}
在java中类可以定义在一个独立的Xxx.java文件中,主体类就是Xxx类,一般这个要求使用public,main函数写在这个类,其他类,如果也写在了Xxx.java中,不能使用public修饰。
第二个就是math这个类,这个类中基本上都是一些数学方法比如:
static int abs(int a) //其他整数型和浮点数型参考这个书写
返回 int 值的绝对值。
static double cos(double a)
返回角的三角余弦
BigDecimal bc1 = new BigDecimal("0.1");
BigDecimal bc2 = new BigDecimal("0.2");
System.out.println(bc1.add(bc2));//加法运算
System.out.println(bc1.subtract(bc2));//减法运算
System.out.println(bc1.multiply(bc2));//乘法运算
System.out.println(bc1.divide(bc2));//除法运算
//建议在使用BigDecimal是,将数据做成字符串,再转换
)
第三个就是util包中的几个类util包是一个工具包,在他之中有一个Date类他里面是跟时间有关的类
// 获取了一个时间对象
// 注意,获取的时间是当前时间(本机)
Date date = new Date();
System.out.println(date);
// 虽然可以在jdk8获取年月日时分秒,但是因为设计存在问题,已经不建议这个使用
System.out.println(date.getDate());
System.out.println(date.getDay());
System.out.println(date.getYear());
// 时间戳 1970.01.01 00:00:00 ~ 到当前这个时间的毫秒数
System.out.println(date.getTime());
// 当前系统的时间戳
System.out.println(System.currentTimeMillis());
// 构造一个指定的时间,通过时间戳指定
Date d2 = new Date(20000L);
System.out.println(d2);
还有一个Calender这个类,这个类是专门用来补充Date这个类的
public static void main(String[] args) {
// Calender 主要的作用就是在jdk提供补充Date类
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));//当前年份
System.out.println(calendar.get(Calendar.MONTH) + 1);//当前月份
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//当前月几日
System.out.println(calendar.get(Calendar.DATE));//当前月几日
System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//当前月第几周
}
以上这个两个util包中的类不建议使用了因为他们的设立是以1900年做的设立,才会在两千年时出现千年虫事件,所以在之后java官方又做了time这个类
// 获取当前时间对象
LocalTime now = LocalTime.now();
System.out.println(now);
// 构建一个需要的时间对象
LocalTime time = LocalTime.of(15, 23);
System.out.println(time);
// 如果使用日期,则使用LocalDate
LocalDate now2 = LocalDate.now();
System.out.println(now2);
LocalDate time2 = LocalDate.of(2000, 10, 1);
System.out.println(time2);
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
// 官方提供了几种常见的格式,如果需要就是这种,则选择即可
String format = ldt.format(DateTimeFormatter.ISO_DATE);
String format = ldt.format(DateTimeFormatter.ISO_TIME);
String format = ldt.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println(format);
// 如果官方提供的不能满足使用,则需要手动格式化
String format2 = ldt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println(format2);
// 伦敦标准时间
Instant i = Instant.now();
System.out.println(i);
还有一个NumberFormat类他不是util包中的类,这个类主要是一些数字的格式化
// 获取系统默认的货币符号
NumberFormat numberFormat = NumberFormat.getCurrencyInstance();
String format = numberFormat.format(12345);
System.out.println(format);
// 执行格式化的标准
// 可以指定需要的国家货币符号
System.out.println(NumberFormat.getCurrencyInstance(Locale.US).format(456213));
// 格式化数字为科学计数法
System.out.println(NumberFormat.getNumberInstance().format(123456789));
// 格式化为百分比
System.out.println(NumberFormat.getPercentInstance().format(0.2))
最后一个就是系统默认所有类的父类Object相信大家对这个类一定都比较熟悉把,就算不熟悉也一定听过。
所有类直接或间接的继承java.lang.Object类。由于所有的类都继承在Object类,因此省略了extends Object关键字。
该类中主要有以下方法: toString(),getClass(),equals(),clone(),finalize(), 其中toString(),getClass(),equals是其中最重要的方法。