String类
- String代表字符串,是个常量,创建值之后不能再更改
- 变更字符串内容实际上是新开了内存空间,并改了记录的地址值,指向新字符串
创建对象,把数组元素变成一串字符串
String = new String( byte[] 或者 char[] )
字符串长度
int = str.length
获取部分字符串
String = str.substring(index)
String = str.substring(begin , end)
是否指定开头和结尾
boolean = str.startsWith("abc")
boolean = str.endsWith("abc")
判断字符串是否包含另一个字符串
boolean = str.contains("abc")
判断字符串是否为空字符串
boolean = str.isEmpty()
返回指定字符串第一次出现的索引值
int = str.indexOf("abc")
int = str.indexOf( "abc" , startIndex )
将字符串转成 字节数组 或 字符数组
byte[] = str.getBytes() 与 char[] = str.toCharArray()
将字符串里某些字符或字符串替换成新字符或字符串
String = str.replace( old , new )
去除字符串头尾空格,中间不去除
String = str.trim()
将字符串转换大小写
String = str.toLowerCase()
String = str.toUpperCase()
StringBuffer、StringBuilder类
- 又称可变字符序列,即可变的字符串,其实就是一个容器,容器里存放多个字符串
- 长度可变,且支持任意类型(任意类型转成String存储)
- 所有容器里的数据最终变成一个字符串
拼接字符串
strbuff.append( String )
移除从start到end的字符串
strbuff.delete( start , end )
替换从start到end的字符串
strbuff.replace( start , end , String )
反转字符串内容
strbuff.reverse()
正则表达式
- 通常用来检索、替换一些符合规则的文本(详细后续补坑)
- 正则表达式是通过Pattern类与Matcher类实现的;
- Pattern类用于创建一个正则表达式(匹配模式),只有简单的匹配操作
- Matcher类提供更强更便捷的正则匹配操作,以及分组支持
判断字符串是否匹配regex规则
boolean = str.matches( regex )
根据regex规则拆分字符串成一个数组
String[] = str.split( regex )
将符合regex规则的子字符串替换成新字符串
String = str.replaceAll( regex , "new" )
包装类
基本类型封装成对象,提供更多操作数值的功能:
Integer = Integet.valueOf( value )
Character = Character.valueOf( value )
除上面两个外,其他六个将名字小写改为大写即可
字符串转基本类型:(静态方法)
byte = Byte.parseByte("127")
short = Short.parseShort(str)
int = Integer.parseInt(str)
long = Long.parseLong(str)
float = Float.parseFloat(str)
double = Double.parseDouble(str)
在需要的情况下,基本类型与包装类型可以通用
- 自动拆箱 = 对象转成基本数值
- 自动装箱 = 基本数值转成对象(在数值范围内,不会新创建对象空间)
大数据运算
- BigInteger(整形)
用不同构造方法可以将 二进制补码形式的btye数组、十进制、字符串、等等等转换为BigInteger
public static void main(String[] args) {
//大数据封装为BigInteger对象
BigInteger big1 = new BigInteger(12345678909876543210);
BigInteger big2 = new BigInteger(98765432101234567890);
//add实现加法运算
BigInteger bigAdd = big1.add(big2);
//subtract实现减法运算
BigInteger bigSub = big1.subtract(big2);
//multiply实现乘法运算
BigInteger bigMul = big1.multiply(big2);
//divide实现除法运算
BigInteger bigDiv = big2.divide(big1);
}
BigDecimal(浮点型)
加:add
减:subtract
乘:multiply
除:divide
乘次方:pow ( int )
取绝对值:abs( )
取反:negate( )
对比:compareTo ( BigDecimal )
设置小数精确度:setScale( int )
保留小数点并选择保留方式(加一或四舍五入):setScale( int , int )
想要避免精度损失,应先将double类型的值转化为 String,然后用 BigDecimal 类型运算
public static void main(String[] args) {
//大数据封装为BigDecimal对象
BigDecimal big1 = new BigDecimal("0.09");
BigDecimal big2 = new BigDecimal("0.01");
BigDecimal big3 = new BigDecimal("1.0");
BigDecimal big4 = new BigDecimal("0.32");
BigDecimal big5 = new BigDecimal("1.105");
BigDecimal big6 = new BigDecimal("100");
//add实现加法运算
BigDecimal bigAdd = big1.add(big2);
//subtract实现减法运算
BigDecimal bigSub = big3.subtract(big4);
//multiply实现乘法运算
BigDecimal bigMul = big5.multiply(big6);
}
System类
- 提供的是对应系统属性信息和系统操作
- System类不能手动创建对象,因为被private修饰
返回以毫秒为单位的当前时间
long = System.currentTimeMillis()
Math类
- 数学工具类,均为静态方法
返回输入数的绝对值
double = Math.abs(double)
返回两个数最大最小值
double = Math.max( n , n) 与 double = Math.min( n , n)
返回参数值四舍五入后的结果
double = Math.round( double )
产生一个 [ 0 , 1 ) 的double小数
double = Math.random()
Arrays类
- 用于操作数组的工具类
- 如果指定数组引用是null,会抛出空指针异常
对指定的int数组进行升序排序
Arrays.sort( int[] )
在数组里查找key出现的位置,必须是有序数组
int = Arrays.binarySearch( int[] , int key)
来源:https://www./content-1-327101.html
|