常用API
1.Math
1.1Math类的概述
Math包含执行基本数字运算的方法
没有构造方法,如何使用类中的成员呢?
看类的成员是否都是静态的,如果是,通过类名就可以直接调用
public static int abs (int a)//返回阐述的绝对值 public static double ceil(double a)//返回大于或等于参数的最小值double值,等于一个整数 public static double floor(double a)//返回小于或等于参数的最大double值,等于一个整数。 public static int round(float a)//按照四舍五入返回最接近参数的int public static int max(int a,int b) //返回int值中的较大值 public static int min(int a,int b)//返回int值中的较小值 public static double pow(double a,double b)//返回a的b次幂 public static double random()//返回值为double的正值,{0.0--1.0}创建随机数时使用
这些都是Math类的方法,调用的时候直接Math.方法名
2.System
2.1 System类的概述
System 包含几个有用的类字段和方法,它不能被实例化
public static void exit(int status)//终止当前运行的Java虚拟机,非零表示异常终止 public static long currentTimeMillis() //返回当前时间(以毫秒为单位)
年公式 System.currentTimeMillis()*1.0/1000/60/60/24/365
比如 long start=System.currentTimeMillis(); for (int i = 0; i <10000 ; i++) { System.out.println(i); } long end=System.currentTimeMillis(); long time=end-start; System.out.println("上面循环执行时间为"+time+"毫秒");
3.Object
3.1 Object类的概述
Object 是类层次结构的根,每个类都可以讲Object作为超类。所有类都直接或间接继承自该类
构造方法:public Object()
面向对象中,之所以说子类的构造方法默认访问的是父类的无参构造方法
是因为他们的顶级父类只有无参构造方法
toString方法可以直接输出看的懂的对象
System.out.printIn(s);
会输出重写的toSring方法中的格式
3.2Object类的常用方法
public String toString()//返回对象的字符串表示形式。建议所有子类都重写该方法,自动生成 public boolean equals(Object obj)//比较对象是否相等。默认比较地址,重写可以比较内容,自动生成
重写 equals ,default模板
4.Arrays
4.1Arrays类的概述和常用方法
Arrays类包含用于操作数组的各种方法
public static String toString(int [] a)//返回只能数组的内容的字符串表示形式 public static void sort(int [] a)//按照数字顺序排列指定的数组
工具类的设计思想
构造方法用private修饰
成员方法用public static修饰
5.基本类型包装
5.1基本类型包装类概述
将基本数据类型封装成对象的好处在于在对象中定义更多的功能方法操作该数据
常见的操作之一:用于基本数据类型与字符串之间的转化
基本数据类型 包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
5.2Integer类的概述和使用
Integer:包装一个对象中的原始类型int值
public Integer (int value)//根据int创建Integer对象(过时) public Integer (String s)//根据String值创建Integer对象(过时) public static Integer valueOf(int i)//返回表示指定的int值的Integer实例 public static Integer valueOf(String s)//返回一个保存指定值的Integer对象String double x=Math.exp(2);//e的几次幂
5.3int和String的相互转换
基本类型包装类的最常见的操作就是:用于基本类型和字符串之间的相互转换
1.int 转化 String
public static String valueOf(int i):返回int参数的字符串表示形式。
该方法是String类中的方法
基本类型: +"";
2.String 转化为int
public static int parseInt(String s):将字符串解析为int类型。该方法时Integer类中的方法
1.通过对应的有参构造来实现
2.调用对应包装类中的静态方法valueOf(String)
3.String--->基本数据类型
1.基本数据类型对应的包装类名.parseXxx(String)
调用对应包装类的静态方法
4.包装类----->String
1.包装类对象.toString()
5.包装类-->基本类型:拆线
6.基本类型-->包装类:装箱
5.4 自动装箱和拆箱
装箱:把基本数据类型转化为对应的包装类类型
拆箱:把包装类类型转换为对应的基本数据类型
注意:在使用包装类类型的时候,如果做操作,最好先判断是否为null
推荐的是:只要是对象,在使用时就必须进行不为null的判断
6日期类
6.1 Date类的概述和构造方法
Date代表了一个特定的时间,精确到毫秒
public Date()//分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 public Date(long date)//分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
6.2Date类的常用方法
public long getTime() //获取的时间对象是从1970年1月1日00:00:00到现在的毫秒值 public void setTime(long time)//设置时间,给的是毫秒值
Date d=new Date(); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("YYYY年-MM月-dd日-M月-a-HH时-mm分-ss秒"); String d1=simpleDateFormat.format(d); System.out.println(d1); //2022年-09月-08日-9月-下午-12时-06分-26秒
利用有参构造创建对象,并指定时间格式
6.3SimpleDateFormat类概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
日期和时间格式字符串指定,在日期和时间模式字符串中,从“A”到“Z”以及“a”到“z”引号的字母被解释为表示日期或时间字符串的组件的模式字母
y M d H m s
年月日时分秒
6.4SimpleDateFormat
public SimpleDateFormat() //构造一个SimpleDateFormat,使用默认模式和日期格式 public SimpleDateFormat(String pattern)//构造一个SimpleDateFormat使用给定的模式和默认的日期格式
6.5SimpleDateFormat 格式化和解析日期
1.格式化(从Date到String)
public final String format(Date date):
将日期格式化成日期/时间字符串
2.解析(从String 到Date)
public Date parse(String sourse):从给定的字符串的开始解析文本以生成日期
6.6Calendar类概述
Calendar为某个时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar提供了一个类方法getInstance用于获取CAlendar对象,其日历字段已使用当前日期和时间初始化
Calendar rightNow=Calendar.getInstance();
6.7Calendar的常用方法
public int get(int field)//返回给定日历字段的值 public abstract void add(int field,int amount)//根据日历的规则,将指定的时间量添加或删除给定的日历字段 public final void set(int year,int month,int date)//设置当前日历的年月日
LocalDate date=LocalDate.now();//获取日期
LocalDate time=LocalDate.now();//获取时间
LocalDateTime date=LocalDateTime//获取日期和是时间
7.BigDecimal
可以把double转化为BigDecimal类型
BigDecimal d1=new BigDecimal("8.9"); BigDecimal d2=new BigDecimal("4.3"); //+ BigDecimal add=d1.add(d2); //- BigDecimal sub=d1.subtract(d2); //* BigDecimal m=d1.multiply(d2); // ➗ 如果商是个无线循环的小数,抛出异常 //使用MathContext BigDecimal d=d1.divide(d2, MathContext.DECIMAL128); System.out.println(d); //取余 BigDecimal decimal=d1.divideToIntegralValue(d2); System.out.println(decimal); //获取小数的位数 System.out.println(d.scale()+"位小数");