常用的对象数据类型是什么?
常用于数据运算、存储和操作的对象类型
enum
enum用于将变量的取值限定在集合内,所有枚举类型都是Enum的子类
如衣服尺寸为s、m、l,避免变量保存的是一个错误的值(xs)
enum Size {
SMALL("S"), MEDIUM("M"), LARGE("L");
private String s;
Size(String i) {
this.s = i;
}
public String getS() {
return s;
}
}
当要创建Size变量时,只能存储其中的某个枚举值或null值:
Size size=Size.SMALL;
Size size = Enum.valueOf(Size.class, "SMALL");
toString()返回将返回字符串"SMALL"
Size.SMALL.toString();
values()方法返回所有枚举值
Size[] values=Size.values();
ordinal()方法返回枚举常量的位置,从0开始计数,如下为0
Size.SMALL.ordinal();
System.out.printf
Java延续了C语言的printf格式化输出,如System.out.printf(“name=%s”,“tom”);
- d、x、o 表示十(十六、八)进制整数
- f、e 、g、a 表示定点(指数、通用、十六进制)浮点数
- s、c、b 表示字符串、字符、布尔
Math
Math用于数学运算,其中的方法大多为静态方法,可通过类直接调用
方法或变量 | 备注 |
---|---|
PI | 常数Π |
E | 常数e |
sqrt(x) | 求平方 |
pow(a,b) | a的b次幂 |
sin、cos、tan等 | 三角函数 |
exp、log、log10等 | 对数 |
BigInteger和BigDecimal
BigInteger实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算,不能使用运算符对其进行运算,要调用相应的方法:
BigInteger a = BigInteger.valueOf(0);
BigInteger b = a.add(BigInteger.valueOf(2));
BigInteger c = b.divide(BigInteger.valueOf(2));
LocalDate
利用LocalDate可自行创建时间点,也可获取当前时间
LocalDate date = LocalDate.of(2000, 1, 1);
LocalDate now = LocalDate.now();
now = now.plusDays(1000);
int year = now.getYear();
int month = now.getMonthValue();
int day = now.getDayOfMonth();