第14天 捕获组,包装类,BigDecimal.BigInterger

字符串本质是字节数组

捕获组

匹配一个字符串是否含有两个及以上的字符

捕获组可以看作一个字符操作

如果一个双引号内有多个左括号,从左括号开始数,\n表示引用编号为n的捕获数组,编号从1开始
// (A((BC)D(E))F)(G)
// \1 A((BC)D(E))F
// \2 (BC)D(E)
// \3 BC
// \4 E
// \5 G

(.)\1 (.)\2: \1表示的与(.)的内容相同,匹配的与第一个括号的内容相同。
(…)\1 :\1表示的与(…)的内容相同。

replaceAll

字符串名.replaceAll(“要替换的”,“替换成的”)
将字符串中所有字符查找并替换

split

字符串.split(“以什么作为分隔输出”)。经常用数组接收。

String[] newStr = str.split(“,”);

Math

Math.E
.PI
.abs()
.cbrt() 立方根
.sqrt() 平方根
.ceil() 向上取整 4.3–> 5.0 -4.3–>-4

.floor 向下取整
Math.round 四舍五入
.max(a,b) 找两数的最大值
.min(a,b)找两数的最小值

Math.pow(2,3) 2的3次方

BigDecimal

用于精确计算,要求参数以字符串形式传递,底层可以按位运算

BigDecimal bigDecimal1 = new BigDecimal("3.0");
BigDecimal bigDiciaml2 = new BigDecimal("2.99");//通过字符串传值
System.out.println(bigDecimal1.subtract(bigDiciaml2));

add 加
substract 减
multiply 乘
divide 除

BigInterger类

用于存储和计算非常大的整数
需要new

 BigInteger bigInteger1 = new BigInteger("13212312312321312312123123");
 BigInteger bigInteger2 = new BigInteger("13212312312321312312123123");
 System.out.println(bigInteger2.multiply(bigInteger1));

DecimalFormat

new DecimalFormat(00.00),0表示占位符,表示一位数字,如果没有数字用数字0代替,0的位置必须显示数字,小数需要包含的数后面的数字如果是6及以上的向上进一位,如果是5及以下的不进位
new DecimalFormat(##00.00),#表示占位,如果这一位有数字则显示,如果#位没有数字则不显示,井号不出现在0之中

double a = 2.7771;
DecimalFormat decimalFormat = new DecimalFormat("#####.000000");
System.out.println(decimalFormat.format(a));

Date 类

SimpleDateFormat 是干什么的?

将输入格式固定:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd”)//有固定的输入格式,将日期格式化,固定输入的字符串格式
在这里插入图片描述
将字符串格式的str赋值转换为Date格式
Date date = simpleDateFormat.parse(str) ///

将Date格式的date转换为字符串String格式
String str = simpleDateFormat.format(date)

Date是什么格式?Date怎么也有对象?
Date类是一个代表时间的类
Date date1 = new Date(); // 调用无参数构造函数
// 获取当前时间
Date date = new Date();
System.out.println(date);

Calendar

如何创建一个Calendar对象?
Calender calender = Calender.getInstance(); //获取当前的时间并返回一个Calendar对象

calendar.setTime的作用?
calendar.setTime(date); //设置时间,date通常通过字符串转换得到
calender.get(Calender.WEEK_OF_MONTH
Calender.DAY_OF_WEEK
Calender.MINUTE······) //获取一个月的第几周,或者一周的第几天
DAY_OF_WEEK显示的少一天是因为外国从星期日开始算

Calendar.(点)后面能加什么?

包装类

定义了8个包装类,解决了基本类型不能直接面向对象开发的问题,使基本类型可以通过包装类的形式存在
包含 Integer,Character,Byte,Short,Long,Float,Double,Boolean
Character和Boolean直接继承自Object类,其余6个包装类继承自Number类

Integer i1 = new Integer(5);//new的对象的地址值一定不同
Integer i2 = Integer.valueOf(5);//(-128-127)会复用

包装类.valueOf(5) : 将基本类型转为包装类型。会复用一个字节(-128—127)范围内的数据,地址值都一样

int i = 包装类型变量.intValue() //将包装类转换为基本类型

包装类的作用

1.可以通过包装类来获取基本类型的取值范围:

int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;

long max1 = Long.MAX_VALUE;
long min1 = Long.MIN_VALUE;


2.将基本类型的字符串(String)类型转换成对应的基本类型(int /double)
String—>int\double
转换成的格式必须和String中的格式相同,否则报错

包装类.parseXXX()

String s1 = "39";
int age = Integer.parseInt(s1);

String s2 = "123.4546";
double price = Double.parseDouble(s2);




自动拆箱装箱

当基本类型与包装类型之间相互赋值,则自动补齐代码进行操作

Integer i = 6;//自动装箱
int j= i;//自动拆箱

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值