Math类
Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的。像这样的类称之为工具类
public static int abs(int a)
对一个数据求绝对值
public static double ceil(double n)
对一个小数向上取整 4.3 --> 5.0
public static double floor(double n)
对一个小数向下取整 4.3 --> 4.0
public static int round(double n)
对一个小数进行四舍五入 4.3 --> 4 ; 4.5 --> 5
public static int max(int a,int b)
求两个数的最大值
public static int min(int a,int b)
求两个数的最小值
public static double random()
生成[0,1)范围内的随机数
System类
public static void exit(int n)
退出Java虚拟机 //System.exit(0);
public static long currentTimeMillis()
获取当前时间的毫秒值,距离1970年1月1日0时0分0秒之间的毫秒值。
public static void arraycopy(Object src, int srcPos,Object dest,int destPos,int length)
把源数组中的元素复制到目标数组中。
参数:
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
int[] array = {1,2,3,4,5};
int[] array1 = new int[2];
System.arraycopy(array,2,array1,0,2);
Object类
Object是所有类的父类,任何一个子类都可以调用Object的方法。
public String toString()
把一个对象转换字符串。 字符串格式: 包名+类名@地址值。
每次打印对象,底层会自动去调用toString()方法。
注意:自己写的类,如果不想打印地址就可以复写toString()方法
快捷键:alt+inert-->toString()
public boolean equals(Object obj)
用来比较两个对象是否“相等“
默认比较的是地址值,底层用的是"=="
注意:自己写的类,如果不想比较地址值可以重写equals()方法,比较自己的内容.
快捷键:alt+inert-->Equals and HashCode
Objects类
Objects类是一个工具类,经常用于对一个对象进行判空的处理。JDK7以后才有的
public static String toString(Object s,String defalutStr)
把一个对象转换为字符串, 如果对象为null,返回默认字符串
public static boolean isNull(Object s)
判断一个对象是否为null 等价于 s==null
public static boolean nonNull(Object s)
判断一个对象不为null 等价于 s!=null
BigDecimal类
-------------------------------------
BigDecimal的构造方法
public BigDecimal(String val)
根据一个字符串创建对BigDecimal对象,字符串必须是纯数字(可以有小数点)
public BigDecimal(double val)
根据一个小数数值创建一个BigDecimal对象
BigDecimal的常用方法
BigDegimal可以做一些小数的精确运算,还可做一些较大数据的运算。
public BigDecimal add(BigDecimal augend)
对两个数进行加法运算
public BigDecimal subtract(BigDecimal subtrahend)
对两个数进行减法运算
public BigDecimal multiply(BigDecimal multiplicand)
对两个数进行乘法运算
public BigDecimal divide(BigDecimal divisor)
对两个数进行除法运算,如果两个数除不尽会报错。
public BigDecimal divide(BigDecimal divisor,int num,int type)
对两个数进行除法运算,可以保留小数个数.
参数:
BigDecimal divisor: 除数
int num:保留小数个数
int type: 保留小数的方式
BigDecimal.ROUND_HALF_UP 最后一位小数四舍五入
BigDecimal.ROUND_UP 最后一位小数不管满不满5都进1
BigDecimal.ROUND_FLOOR 最后一位小数不管慢不满5都舍弃
注意:需要运算的两个数,必须先封装尾BigDecimal对象,然后通过上面的方法进行运算。
基本数据类型包装类
每一个基本数据类型都有一个对应的包装类,并且提供了一些方法给开发人员使用
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
获取Integer对象
Integer num1 = Integer.valueOf(100);
Integer num2 = Integer.valueOf("100"); //必须是纯数字,连小数点都不能有
自动装箱和自动拆箱
为了方便基本数据类型和包装类能够直接运算,所有Java提供了自动装箱和自动拆箱的机制。
//自动装箱: 基本类型(int) 自动转换为 包装类(Integer)
Integer num = 100; //等价于: Integer num = Integer.valueOf(100);
//自动拆箱: 包装类(Integer) 自动转换为 基本类型(int)
int num2=num; //等价于: int num2 = num.intValue();
包装类的数据转换
如果一个字符串是纯数字的字符串(如: "12345"
),不能做数值的数学运算,必须把字符串转换为数值,才能做数学运算。 这样的转换方法在包装类中已经提供了.
**字符串转其他的基本数据类型
//需求1:"12345"转换为12345
int num1=Integer.parseInt("12345");
//需求2: “3.14”转换为3.14
double num2=Double.parseDouble("3.14");
//需求3: "6.88"转换为6.88
float num3=Float.parseFloat("6.88");
//需求4: "true"转换为true
boolean flag = Boolean.parseBoolean("true");
...
**其他类型转换为字符串
1.直接和""做拼接,因为任何一个数据和字符串做拼接结果都是字符串
String s=100+"";
2.可以使用String类的valueOf方法
String s1=String.valueOf(100);
String s2=String.valueOf(3.14);
Arrays类
Arrays是一个工具类。Arrays类中提供了一些对数组进行操作的方法(比如:查找和排序)
public static int binarySearch(int[] array,int key)
对数组的元素进行二分查找
public static void sort(int[] array)
对数组进行排序。
public static String toString(int[] array)
把数组转换为字符串 格式:"[元素1,元素2,元素3]"