Java其他常用方法
1.包装类
java为所有基本数据类型都提供了一个与之对应的引用数据类型
包装类的优点
1.类中可以提供众多的成员,功能强大
2.集合中只能存储引用数据类型的对象数据
3.在结合业务使用中,属性如果为包赚类类型可以便于区分以下两种状态 : 账户余额 Double
null : 没有充过值
0.0 : 充过值但是已经消费为0
基本数据类型的优点
1.基本数据类型使用简答方便
2.有了与节省内存空间
基本数据类型与包装类之间相互转换 :
jdk5新特性 : 自动拆装箱
自动装箱 : 基本–>包装
自动拆箱 : 包装–>基本
方法
static int max(int a, int b)
返回两个int值中的较大者,就像调用Math.max 一样。
System.out.println(Integer.max(1,2));
static int min(int a, int b)
返回两个int值中较小的一个,就像调用Math.min 一样。
static int parseInt(String s)
将字符串参数解析为有符号十进制整数。
System.out.println(Integer.parseInt("11"));
static int parseInt(String s, int radix)
将字符串参数解析为第二个参数指定的基数中的有符号整数。
System.out.println(Integer.parseInt("11",2));
static int sum(int a, int b)
根据 + 运算符将两个整数相加。
static String toBinaryString(int i)
将整数参数的字符串表示形式返回为以 2 为底的无符号整数。
System.out.println(Integer.toBinaryString(10));
static String toHexString(int i)
将整数参数的字符串表示形式返回为基数为 16 的无符号整数。
static String toOctalString(int i)
将整数参数的字符串表示形式返回为以 8 为底的无符号整数。
基本数据类型与包装类数据比较问题 :
在数据值相等的前提下 :
1.两个int类型比较,值相等就相等
2.两个new Integer,只要是new就是新的地址,肯定不相等
3.int与Integer比较,包装类会先发生自动拆箱,然后两个基本数据类型比较值相等就相等
4.Integer与 new Integer比较,new参与肯定不相等
5.两个Integer比较,如果值在[-128,127]之间,返回缓冲区对象相等,如果不再返回之内,返回new Integer不相等
注意 : Short,Integer,Long类型的valueOf方法内部存在[-128,127]返回判断是否返回缓冲区对象
2. Math : 数学相关类型
Math类包含用于执行基本数值运算的方法,例如初等指数、对数、平方根和三角函数。
static double abs(double a)
返回double值的绝对值。
System.out.println(Math.abs(-1.1));
static double ceil(double a)
返回大于或等于参数且等于数学整数的最小(最接近负无穷大) double值。
System.out.println(Math.ceil(1.1));
static double floor(double a)
返回小于或等于参数且等于数学整数的最大(最接近正无穷大) double值。
System.out.println(Math.floor(1.1));
static long max(long a, long b)
返回两个long值中的较大者。
System.out.println(Math.max(1.1,2.2));
System.out.println(Double.max(1.1,2.2));
static double min(double a, double b)
返回两个double值中较小的一个。
static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。
System.out.println(Math.pow(2,3));
static double random()
返回一个double带正号的值,大于或等于0.0且小于1.0 。
随机整数
[min,max]
(int)(Math.random()*(max-min+1)+min)
Math.random()---->[0.0,1.0)
Math.random()*(max-min+1)---->[0,max-min+1)
Math.random()*(max-min+1)---->[0,max-min+1)
Math.random()*(max-min+1)+min---->[min,max+1)
(int)(Math.random()*(max-min+1)+min)---->[min,max]
static long round(double a)
返回最接近参数的long ,并舍入为正无穷大
System.out.println(Math.round(4.49)); //4
static double sqrt(double a)
返回double值的正确舍入的正平方根。
3.Date : 时间日期类型
类Date表示特定的时间瞬间,精度为毫秒。
SimpleDateFormat : 允许格式化(日期→文本)、解析(文本→日期)
1.创建SimpleDateFormat的对象 : 使用默认的模式|模板 ,指定模式|模板
2.转换
格式化(日期→文本) public final String format (Date date)
解析(文本→日期) public Date parse (String source) throws ParseException
Date()
分配一个Date对象并对其进行初始化,以便它表示分配它的时间,精确到毫秒。
Date date1 = new Date();
Date(long date)
分配一个Date对象并将其初始化为表示自称为“纪元”的标准基准时间(即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
boolean after(Date when)
测试此日期是否在指定日期之后。
System.out.println(date1.after(date2));
boolean before(Date when)
测试此日期是否早于指定日期。
System.out.println(date1.before(date2));
创建SimpleDateFormat的对象
SimpleDateFormat simple1 = new SimpleDateFormat();
使用默认的模式模板
SimpleDateFormat simple2 = new SimpleDateFormat("yyyy-MM-dd");
使用参数指定模板
System.out.println(simple1.format(date1));
2023/7/24 下午4:22
System.out.println(simple2.format(date1));
2023-07-24
4.枚举 : enum
枚举也是类
一种事物的所有情况|所有可能,一个类的所有实例
枚举类的实例是由枚举类型内部提供,不允许外部构建
java中所有的枚举类型都默认隐式的继承自java.lang.Enum
枚举类中可以定义 : 字段 , 属性,功能,构造器....
枚举类中的字段,默认为当前枚举类型的实例 ,默认被public static final修饰
枚举类型的字段根据枚举类名.字段名获取使用
枚举类的构造器默认私有化
5.File : 文件和目录路径名的抽象表示。
注意 : java中路径分隔符可以使用/ // \\
在使用相对路径时候,在java中默认根路径为当前所在项目根目录
File(String pathname)
通过将给定的路径名字符串转换为抽象路径名来创建一个新的File实例。
File(File parent, String child)
从父抽象路径名和子路径名字符串创建一个新的File实例。
File(String parent, String child)
从父路径名字符串和子路径名字符串创建一个新的File实例。
boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件。
System.out.println(file1.canWrite());
boolean setReadOnly()
标记由此抽象路径名命名的文件或目录,以便只允许读取操作。
boolean createNewFile()
当且仅当具有此名称的文件尚不存在时,以原子方式创建以此抽象路径名命名的新的空文件。
boolean delete() 能够删除文件以及空文件夹
删除此抽象路径名表示的文件或目录。
boolean exists()
测试此抽象路径名表示的文件或目录是否存在。
File getAbsoluteFile()
返回此抽象路径名的绝对形式。
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
long getFreeSpace()
通过此抽象路径名返回分区named中未分配的字节数。
long getTotalSpace()
通过此抽象路径名返回分区named的大小。
String getName()
返回此抽象路径名表示的文件或目录的名称。
String getParent()
返回此抽象路径名的父目录的路径名字符串,如果此路径名未命名父目录,则返回null 。
File getParentFile()
返回此抽象路径名的父级的抽象路径名,如果此路径名未命名父目录,则返回null
boolean isAbsolute()
测试此抽象路径名是否是绝对的。
boolean isDirectory()
测试此抽象路径名表示的文件是否为目录。
boolean isFile()
测试此抽象路径名表示的文件是否为普通文件。
boolean isHidden()
测试此抽象路径名命名的文件是否为隐藏文件。
long lastModified()
返回此抽象路径名表示的文件最后一次修改的时间。
long length()
返回此抽象路径名表示的文件的长度。
String[] list()
返回一个字符串数组,命名此抽象路径名表示的目录中的文件和目录。
File[] listFiles()
返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
boolean mkdir()
创建由此抽象路径名命名的目录。
boolean mkdirs()
创建由此抽象路径名命名的目录,包括任何必要但不存在的父目录。
boolean renameTo(File dest)
重命名此抽象路径名表示的文件。