javase(四)
API
math
- abs(绝对值)
- ceil(向上取整)
- floor(向下取整)
- round(四舍五入)
- max(获取两个数,的最大值)
- pow(返回a的,b次幂的值)
- random(随机值)
BigInteger
-
//格式 Biginteger 对象名 = new biginteger());
-
biginteger(2的x次方减一,随机数)
-
biginteger(生成一个指定的整数)
- 表示的范围超级大
-
volueof
-
//结构 biginteger 对象名 biginteger.volueof(生成一个指定数)); //只能表示long类型的范围
-
-
biginteger(指定数,进制)
- 生成一个指定数的几进制
-
add(加)
-
subtract(减)
-
multiply(乘)
-
divide(除)
-
divideAndRemainder(商,余)
- 返回一个数组,0索引表示商,1索引表示余
-
pow(次幂)
-
max/min(最大值/最小值)
-
equals(比较是否相同)
-
intvalue(转为int类型的整数,超出范围数据有误)
BigDecim
-
//格式 BigDeciml 对象名 = new BigDeciml("值"));
-
volueof
-
//结构 bigdeciml 对象名 bigdeciml.volueof(生成一个指定数)); //只能表示double类型的范围
-
-
add(加)
-
subtract(减)
-
multiply(乘)
-
divide(除)
-
divide(要除的,精确到几位,舍入模式(四舍五入等))
- 除法的另外一个重载方法
- up-远离0的方向舍入模式
- down-向0的方向舍入模式
- ceiling-向正无穷大的方向舍入模式
- floor-向负无穷大的方向舍入模式
- half_up-四舍五入
- half_down-五以下的舍,包含5
system
- exit(终止当前运行的虚拟机)
- 0就终止,非0就是异常停止
- currenTimeMillis(返回时间原点到(1970.1.1.8.00)当前时间的毫秒值)
- arraycopy(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)
- 数组拷贝
时间相关类
jdk7以前
-
Date-时间
-
//结构1 Date 对象名 = new Date() //什么都不写表示系统当前时间,写了就是结构2的 //结构2 Date 对象名 = new Date(long time) //表示时间原点到参数过了多少毫秒
-
setTime-修改时间
-
getTime-获取当前对象时间的毫秒值
-
-
simpledateformat-格式化时间
-
//默认格式 1970/1/1 上午8:00 //默认格式创建 simpledateformat 对象名 = new simpledateformat;
-
//指定格式创建 simpledateformat 对象名 = new simpledateformat(指定格式 ); //指定格式:yyyy指定格式MM指定格式dd指定格式 HH指定格式mm指定格式ss EE(周几)
-
format-格式化--将日期对象转为字符串
-
parse-解析--将字符串转为日期对象
-
-
calender-日历
- calender.getInstance();--获取日历对象
- get(获取的时间段);
- set(修改的时间段,修改后的时间);
- add(为某个时间段增加/减少指定值)
jdk8之后
-
datetimeformatter-时间的格式化和解析
- ofpattern(格式)-获取格式对象
- format(时间对象)-按照指定方式格式化
-
zoneid
- 创建:Set<类型> 集合名 = zoneid.类名(😉
- getAvailablezoneids()-获取所有的时区
- systemDefault()-获取系统默认时区
- of(获取指定时区)
-
instant-时间戳
-
ofxxx(获取指定时区的当前时间)-xxx表示是毫秒还是秒
-
miuxxx(减当前时间)-可以减秒,毫秒....
-
plusxxx(加当前时间)-可以加秒,毫秒....
-
//创建 Instant 对象名 = Instant.类名();
-
now()-获取当前时间(标准时间)
-
atzone(指定时区)
-
//使用 instant.now().atzone(zoneid.of("时区"));
-
-
判断时间对象1.isxxx(判断时间对象2)
-
-
zonedatetime-带时区的时间
- ofxxx(获取指定时区的当前时间)-xxx表示是毫秒还是秒
- miuxxx(减当前时间)-可以减秒,毫秒....
- plusxxx(加当前时间)-可以加秒,毫秒....
- withxxx(修改后的时间)-可以修改年月日......
- now()-获取当前时间(带时区)
-
calendar
- localdate,localtime,localdatetime
- ofxxx(获取指定时区的当前时间)-xxx表示是毫秒还是秒
- miuxxx(减当前时间)-可以减秒,毫秒....
- plusxxx(加当前时间)-可以加秒,毫秒....
- get开头的方法-获取日历中的年月日
- isbefore,isafter-比较两个localdate方法
- with开头的--修改时间
- minus开头的-减去当前时间
- plus开头的-加上当前时间
- localdate,localtime,localdatetime
-
duration,period,chronounit--计算时间间隔
- ofxxx(获取指定时区的当前时间)-xxx表示是毫秒还是秒
- miuxxx(减当前时间)-可以减秒,毫秒....
- plusxxx(加当前时间)-可以加秒,毫秒....
包装类
八种包装类除了char的都有一个parsexxx的方法,可以将字符串类型的整数转乘对应类型的整数
-
integer
-
成员方法
-
//调用 类名.方法(要转的参数)
-
tobinarySring-得到二进制
-
toOctalString-得到八进制
-
toHexString-得到十六进制
-
parseint-将字符串类型的整数转成int类型的整数
-
-
Arrays
- toString-将数组拼接成字符串
- binarysearch-二分查找法查找元素
- copyof(原数组,新数组长度)-拷贝数组
- copyofRange(原数组,起始索引,结束索引))-拷贝数组(指定范围)
- fill(数组,元素)-填充数组
- sort()-按照默认方式进行数组排序
- sort(数组,排序规则)-按照指定的规则排序
- 参数2:new Comparator重写方法
- o1-o2为升序,o2-o1为降序
正则表达式
//使用
对象.matches("表达式");
- 字符类(只匹配一个字符)
- [abc]-在abc这个范围内
- [^abc]-除了abc之外
- [a-zA-Z]-a-z或A-Z这个范围内
- [a-d[m-p]-a-d或者m-p这个范围内
- [a-z&&[def]]-a-z和def的交集,也就是def
- [a-z&&[^bc]]-a-z和非bc这个交集,也就是a和d到z
- [a-z&&[^m-p]]-a到z和除了m-p的交集,也就是a到l和q到z
- 预定义字符(只匹配一个字符)
- \表示转义字符,想让他就是表示\需要输入两个\
- .-任意字符
- \d-一个数字,与[0-9]相同
- \D-非数字,与[^0-9]相同
- \s-一个空白字符
- \S-非空白字符
- \w-[a-zA-Z_0-9],所有英文,数字和一个下划线
- \W-一个非单词字符
- 数量词(可以匹配多个字符)
- x?-一次或零次
- x*-零次或多次
- x+-一次或 多次
- x{n}-正好n次
- x{n,}-至少n次
- x{n,m}-至少n次但不超过m次
- 插件any-rule收集了很多正则表达式的规则
- 需要下载
- 快捷键:alt+a
File
文件可以是存在也可以是不存在的
-
//创建 File 对象名 = new File("文件路径");
常用api
-
//大小(字节) 对象名.length(;) //获取绝对路径 对象名.getAbsolutePath(); //获取文件定义时候的使用路径 对象名.getPath(); //判断是否为文件夹 对象名.isDirectory(); //获取文件的名称(有后缀) 对象名.getName(); //获取文件的最后修改时间(毫秒值) 对象名.lastModified(); //判断是否为文件 对象名.isFile(); //判断文件是否存在 对象名.exists();
创建和删除
-
//创建文件(创建的是创建对象时输入的文件路径) 对象名.createNewFile(); //创建一级目录 对象名.mkdir(); //创建多级目录 对象名.mkdirs(); //删除文件或空文件夹 对象名.delete(); //获取当前目录下所有的一级文件名称(用数组接收) 对象名.list(); //获取当前目录下所有的一级文件对象(File类型的数组接收) 对象名.listFiles(;)
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术