工具类
包装类(封装类)
JDK1.5 版本之后自动拆装包
byte--------Byte
short-------Short
int----------Integer
long--------Long
float--------Float
double----Double
char-------Character
boolean---Boolean
1、8个包装类都在java.lang包下,不需要import导包,直接调用
2、6个与数字相关的包装类都继承Number类
public final class Byte extends Number implements Comparable<Byte>{……}
public final class Short extends Number implements Comparable<Short>{……}
public final class Integer extends Number implements Comparable<Integer>{……}
public final class Long extends Number implements Comparable<Long>{……}
public final class Float extends Number implements Comparable<Float>{……}
public final class Double extends Number implements Comparable<Double>{……}
3、8个包装类都实现了Serializable、Comparable
4、8个包装类都有带自己对应类型参数的构造方法
public Byte(byte value) {
this.value = value;
}
public Short(short value) {
this.value = value;
}
public Integer(int value) {
this.value = value;
}
public Long(long value) {
this.value = value;
}
public Float(float value) {
this.value = value;
}
public Double(double value) {
this.value = value;
}
public Character(char value) {
this.value = value;
}
public Boolean(boolean value) {
this.value = value;
}
5、8个包装类中除Character外都存在带有String类型的构造方法重载
6、创建对象,对象方法调用
将一个包装类类型转化成对应的基本类型
Integer i = new Integer(10);
int value = i.intValue();
Integer i1 = 10;
int value = new Integer(10);
int value = Integer.parseInt("123");
== 与equals()的区别
==
- 比较基本数据类型比较的是值
- 比较引用数据类型比较的是地址
equals()
- Object类中的方法,每一个引用类型都可以调用
- 默认继承到的equals()用法与 == 用法一致
- 如果想改变使用规则可以在子类中进行重写(Integer中重写了equals()方法,所以比较的是数值)
数字相关类
Math
在java.lang包下;构造方法私有,不能直接调用;提供的属性方法都是static,不需要创建对象
4. 常用的方法
abs():返回给定数字的绝对值
ceil():向上取整,返回值类型为double
floor():向下取整,返回值类型为double
rint():临近的整数,如果两遍距离一样,取偶数,返回值类型为double
round():四舍五入,返回值为int类型
max(a,b);min(a,b):参数int.long.float.double
pow(a,b):a的b次方,参数返回值为double
sqrt(double a):获取给定参数平方根
random():获取【0.0-1.0)之间的double类型随机数
Random
在java.util包下,需要import导入;没有任何继承关系,默认继承Object类
创建对象:Random r = new Random();
5. 常用方法
r.nextInt():随机产生int取值范围的整数
r.nextInt(int bound):随机产生一个[0-bound)的整数,bound必须为正数,否则出现运行时异常IllegalArgumentException
r.nextFloat():随机[0.0-1.0)
r.nextBoolean():随机产生true false
UUID
在java.util包下,需要import导入;没有任何继承关系,默认继承Object类
UUID uuid = UUID.randomUUID();
System.out.println(uuid.toString());//数据库表格主键
产生一个32位随机元素,每一个位置是一个16进制数字
BigInteger
在java.util包下,需要import导入;继承Number;创建对象,提供方法全部带参数
- 通常利用带有String参数的构造方法创建这个类
BigInteger bi = new BigInteger(“123”); - 常用方法
add();subtract();multiply();divide();
BigDecimal
java.math包下;继承Number类;通常利用带有String参数的构造方法创建这个类
- 常用方法
add();subtract();multiply();divide();
两个参数前面是保留小数点之后的位数;后面参数是设置的模式
对象.setScale(2,BigDecimal.ROUND_DOWN);
DecimalFoemat
对小数点前后进行格式化
java.text包下,需要import才能使用
通过String参数的构造方法创建一个格式化对象,0,#
调用format方法将小数格式化程一个字符串
DecimalFormat df = new DecimalFormat(“000.###”);0,#
String value = df.format(13.456);