概述
对基本数据类型进行更多的操作
用于基本数据类型与字符串之间的转换
基本数据类型和包装类对应关系
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer类
概述
Integer类在对象中包装类一个int类型的值
int <-> String 相互转换
构造方法
public Integer(int value)
创建Integer 表示指定的int值
public Integer(String s)
创建Integer 表示int值表示的String参数
装箱拆箱
publicstaticvoidmain(String[] args){//装箱:把基本数据类型转换成包装类类型//拆箱:把包装类类型转换成基本数据类型int num =10;//手动装箱 int->IntegerInteger integer1 =newInteger(num);Integer integer2 =Integer.valueOf(num);//手动拆箱 Integer->intint i = integer1.intValue();//jdk5以后可以自动装箱 自动拆箱//自动装箱 int->Integer//底层还是Integer.valueOf(num)Integer integer3 = num;//自动拆箱 Integer->int//底层还是intValue()int n = integer3;}
int和String相互转换
publicstaticvoidmain(String[] args){int a =100;//int -> String//拼接空字符String a1 = a +"";//Integer.toString()方法String toString =Integer.toString(a);//String.valueOf()方法String valueOf =String.valueOf(a);String b ="200";//String -> int//Integer.parseInt()方法int parseInt =Integer.parseInt(b);//Integer构造方法Integer integer =newInteger(b);}
概述
对数组进行操作的工具类
提供了排序 查找等方法
成员方法
public static String toString(int[] a)
以字符串表示形式返回指定数组的内容
public static void sort(int[] a)
将指定的数组排序(从小到大)
public static int binarySearch(int[] a,int key)
通过二分查找的方式查找数组中的元素(数组元素必须有序)
static boolean equals(int[] a, int[] a2)
比较两个数组元素 是否一致
static int[] copyOf(int[] original, int newLength)
复制指定的数组 拷贝newLength个元素到新数组中
static int[] copyOfRange(int[] original, int from, int to)
复制指定数组 拷贝索引从from到to的元素到新数组
public static void fill(int[] a, int val)
数组填充 用val替换数组a中的元素
概述
Math类包含基本数学运算方法
成员变量
public static final double E 自然底数
public static final double PI 圆周率
成员方法
public static int abs(int a)
取绝对值 Math.abs(-9) -> 9
public static double ceil(double a)
向上取整 Math.ceil(3.9) -> 4.0
public static double floor(double a)
向下取整 Math.floor(4.001) -> 4.0
public static int max(int a,int b)
获取最大值 Math.max(45, 90) -> 90
public static int min(int a, int b)
获取最小值 Math.min(1, 9) -> 1
public static double pow(double a,double b)
获取a的b次幂 Math.pow(2, 4) -> 2^4
public static int round(float a)
四舍五入 Math.round(5.51) -> 6
public static double sqrt(double a)
获取正平方根 Math.sqrt(9.0) -> 3.0
public static double random()
求随机数 random返回的是0<=x<1之间的一个随机小数
a~b之间的随机数
公式(int)(a + Math.random()*(b-a +1) )
Random类
概述
用于产生随机数
构造方法
public Random()
没有给定种子,使用的是默认的(当前系统的毫秒值)
public Random(long seed)
给定一个long类型的种子,给定以后每一次生成的随机数是相同的
成员方法
public int nextInt()
没有参数 表示的随机数范围 是int类型的范围
public int nextInt(int n)
可以指定一个随机数范围
void nextBytes(byte[] bytes)
生成随机字节并将其置于用户提供的空的 byte 数组中
System类
概述
System类包含了一些类字段和方法
不能被实例化
成员方法
public static void gc()
调用垃圾回收器
public static void exit(int status)
退出java虚拟机 0为正常退出 非0为异常退出
public static long currentTimeMillis()
返回当前时间距离1970-1-1 00:00:00的毫秒数
BigDecimal类
概述
运算时float类型和double类型容易丢失精度
BigDecimal类能精确表示和计算浮点数
构造方法
public BigDecimal(String val)
用字符串表示数值
成员方法
BigDecimal a = new BigDecimal("3.255858585747474");
BigDecimal b = new BigDecimal("3.25585847474747499999");
public BigDecimal add(BigDecimal augend)
加 a.add(b)
public BigDecimal subtract(BigDecimal subtrahend)
减 a.subtract(b)
public BigDecimal multiply(BigDecimal multiplicand)
乘 a.multiply(b)
public BigDecimal divide(BigDecimal divisor)
除(能整除情况) a.divide(b)
public BigDecimal divide(BigDecimal divisor, int roundingMode)
除(不能整除情况) a.divide(b, BigDecimal.ROUND_CEILING)
BigDecimal.ROUND_CEILING如果有无限循环小数 就会保留分子的精度
public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)
scale 小数点后面保留几位
roundingMode 取舍模式 比如四舍五入
BigInteger类
概述
运算时long类型不够用
BigInteger类可以对超过long类型范围的数据进行运算
构造方法
public BigInteger(String val)
用字符串表示数值
成员方法
public BigInteger add(BigInteger val)
加
public BigInteger subtract(BigInteger val)
减
public BigInteger multiply(BigInteger val)
乘
public BigInteger divide(BigInteger val)
除
Date类
概述
Date类表示特定的瞬间 精确到毫秒
构造方法
public Date()
返回当前系统时间
public Date(long date)
把一个long类型的毫秒值转换成一个日期
成员方法
public long getTime()
获取一个日期对象对应的毫秒值
public void setTime(long time)
给一个日期对象设置上指定的毫秒
类型转换
Date date = new Date();
Date -> long
date.getTime();
long -> Date
date.setTime()
SimpleDateFormat类
概述
可以把一个日期对象格式化成一个文本(字符串)
也可以把一个日期字符串解析成一个日期对象
构造方法
public SimpleDateFormat()
使用默认的模式来创建一个对象
public SimpleDateFormat(String pattern)
使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个对象
规则的定义:
y------年
M------月
d------天
H------时
m------分
s------秒
成员方法
public String format(Date date)
把一个日期对象格式化成一个字符串
public Date parse(String dateStr)
把一个日期字符串解析成一个日期对象 注意要以指定格式解析
调用顺序
Date date = new Date();
SimpleDateFormat s = new SimpleDateFormat();
Date -> String
String format = s.format(date);
String -> Date
Date parse = s.parse(format);
Calendar类
概述
Calendar类是一个抽象类 不能直接new对象 可以通过他的一个静态成员方法getInstance()来获取他的对象
成员方法
public static Calendar getInstance()
使用默认时区和语言环境获得一个日历对象
public int get(int field)
获得给定日历字段对应的值 field通过Calendar提供的字段来拿
public void add(int field,int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量
public final void set(int year,int month,int date)
设置日历时间 年月日
获取任意年份的2月份有多少天
publicstaticvoidmain(String[] args){//获取任意年份的2月份有多少天Scanner sc =newScanner(System.in);System.out.println("输入一个年份");int year = sc.nextInt();Calendar instance =Calendar.getInstance();
instance.set(year,2,1);//2表示3月
instance.add(Calendar.DAY_OF_MONTH,-1);//三月一号前一天就是二月最后一天int day = instance.get(Calendar.DAY_OF_MONTH);//获取二月最后一天的值System.out.println(day);}
文章目录基本类型包装类Integer类装箱拆箱int和String相互转换==和equals练习常用类Arrays类Arrays.sort()练习Math类Random类System类BigDecimal类BigInteger类Date类SimpleDateFormat类Calendar类获取任意年份的2月份有多少天基本类型包装类概述 对基本数据类型进行更多的操作 用于基本数据类型与字符串之间的转换基本数据类型和包装类对应关系 byte Byte short Short i