类的学习
认识API:(应用程序接口)Java提供的已经编写好的锁定了的类文件,帮助使用者更好的完成需求
(Application Programming interface) 学习API可以提高写代码的效率
:数学类,构造方法被私有,成员方法全部static修饰,使用时直接用类名调用方法
常用成员方法有:
Math.abs(int a) 返回参数的绝对值
Maht.ceil(double a ) 向上取整,小数部分全部不要也不进位
**Math.floor(double a)**向下取整,小数部分不论大小全部进一得到整数
Math.round(float a) 四舍五入,。。。。
Math.max(int a ,int b) 返回两个数的最大值
Math.min(int a,int b) 返回两个数的最小值
Math.pow(double a ,double b) 返回a的b次幂
Math.random();返回一个double值的随机数范围是(0.0(包含)-----1.0(不包含)).
int a = (int)(Math.random()*100); 获得一个100以内的随机整数数
:系统相关类,构造方法被私有,成员方法全部static修饰,使用时直接用类名调用方法
常用的方法有:
System.exit(int status) 传入一个Int类型的值 用于终止当前运行的java虚拟机,非0表示异常终止
System,exit(0);正常终止虚拟机运行
System.currentTimeMills();返回从1970年1月1日00:00:00到当前时间的毫秒值,long类型
long l = System.currentTimeMills(); //获取时间节点
System.arraycopy:参数
(源数组arr,开始索引值int , 目标数组newArr ,开始索引int , 拷贝个数int );
数组拷贝:参数五个,从原数组的第几号索引开始 拷贝 到目标数组的几号索引开始,跟上拷贝个数
int[] arr1 = {1, 2, 3, 4, 5, 6, 7, 0};
int[] arr2 = new int[arr1.length];
System.arraycopy(arr1, 5, arr2, 5, arr1.length-5);
System.out.println(Arrays.toString(arr2));
:起始类,所有类直接或间接的继承该类,有一个无参构造方法
常用成员方法:
toString方法
equals方法
打印一个对象显示地址值的原因:
重写toString方法:
重写toString方法后打印对象显示的内容
所有的对象或者类名都可以直接调用toString方法,但是不是所有的类都重写了toString方法。
equals方法,比较地址值
在Object类中是用==直接比较的所以得到的结果是false
重写equals方法,比较的内容是否相同,返回true
:JDK 1.7版本后出现 在java.util 包下使用时,需要导包。
他是Object的帮助类 构造方法被私有 使用成员方法时直接使用类名调用
常用成员方法:
Objects.toString(对象); 参数是一个对象(引用数据类型) 返回一个String类型。对象的字符串表示形式。
Objects.toString(对象,默认字符串);参数是一个对象(引用数据类型)和一个默认字符串 “ ”。返回对象的字符串表示形式。如果这个对象记录的是null 那么,返回第二个字符串。
Objects.isNull(对象); 参数是一个对象,返回一个boolean值 判断该对象是不是null,如果是返回true,否则返回false;
Objects.nonNull(对象); 参数是一个对象,返回一个boolean值, 判断该对象是不是null,如果是返回false;否则返回true
java.math 包
构造方法都是带参构造:
BigDecimal bd = new BigDecimal(double val ) 传一个double类型参数
BigDecimal bd = new BigDecimal(String val ) 传一个String类型的参数
该类的使用场景,是经过计算获取一个精确的值
四则运算
加,减,乘,除
如果想得到精确计算的值需要使用字符串参数构造
BigDecimal bd1 = new BigDecimal("0.3");
BigDecimal bd2 = new BigDecimal("0.2");
public BigDecimal add(另一个BigDecimal对象) 返回一个BigDecimal 的 和 值对象;
BigDecimal sum = bd1.add(bd2);
sout("和为:"+sum); //0.5
public BigDecimal subtract(另一个BigDecimal对象) 返回一个BigDecimal 的 和 值对象;
BigDecimal result = bd1.subtract(bd2);
sout("差为:"+result); //0.1
public BigDecimal multiply(另一个BigDecimal对象) 返回一个BigDecimal 的 和 值对象;
BigDecimal result1 = bd1.multiply(bd2);
sout("积为:"+result1); //0.06
public BigDecimal divide(另一个BigDecimal对象) 返回一个BigDecimal 的 和 值对象;
BigDecimal result2 = bd1.divide(bd2);
sout("商为:"+result2); //1.5
注意:
BigDecimal.divide(另一个BigDecimal对象 , 精确几位 ,舍入模式)
//当除不尽的情况出现时用此方法
/*
参数一:另一个BigDecimal对象
参数二:精确几位 写int类型的值即可
参数三:舍入模式:指的是BigDecimal提供的舍入方法
常用的有三种:
进一法 BigDecimal.ROUND_UP
取尾法 BigDecimal_ROUND_FLOOR
四舍五入法 BigDecimal_ROUND_HALF_UP
*/
基本数据类型有:byte short char int long forlt double boolean
对应的包装类: Byte Short Character Integer Long Forlt Double Boolean
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一: 用于基本数据类型与字符串之间的相互转换。
Integer类:该对象中包装了一个基本数据类型int的值
常用成员方法:
Integer.valueOf(int i); 传递一个int 类型的数据 返回值为Integer类型
Integer.valueOf(String a);传递一个String类型的数据 返回值为Integer类型
Integer i1 = Integer.valueOf(100);
Integer i 2 = Integer.valueOf(“200”);
sout(i1);
sout(i2);
JDK1.5版本后可以使用自动装箱 和自动拆箱 直接使用常量为Integer对象赋值
装箱:把基本数据类型转换为对应的包装类数据类型
拆箱:把包装类类型转换为对应的基本数据类型
Integer i3 = 100;//赋值成功 , 自动装箱
sout(i3);
i3 +=100;//计算结果200 ,自动拆箱
sout(i3);
注意:如果Integer对象记录null,参与计算时会出现空指针异常(NullPointerException).
在使用包装类型的时候最好先判断是否为null 减少异常的产生
Integer i4 = null;
i4 += 100;
sout(i4)//运行时异常,空指针
Integer.parseInt(String s);//参数传递一个String 类型的数值 返回值为int
int i = Integer.parseInt(“100”);
String s = String.valueOf(int i);//将int类型转换成字符类型的方法。。。
其它几种包装类使用方法类似Integer类