字符串
String 类 引用类型 默认值 null
声明字符串
public class East {
public static void main(String[] args) {
System.out.println("East");
String st = "East";
st=new String("East");
st=new String();
char []ch = {1,2,3,'w',114};
st=new String(ch);
System.out.println(st);
st=String.valueOf(12);
System.out.println(st);
}
}
字符串的拼接 加号在拼接字符串和数学运算时优先级是一样的
字符串和所有类型相加后 得到的都是字符串(丧尸病毒)
String类型中常用的方法
valuOf 将传入的参数转成字符串
查找子串出现的位置 index
输出2
如果找不到,会返回-1
倒着找:lastIndex,从后往前返回下标!下标!不是别的
截取字符串 用substring 区间左闭右开。包含开始下标,不包含结束下标
替换字符串:replace 把什么替换为什么
replaceAll:正则表达式
分割字符串:split 里面也是正则表达式,分割的·时候会直接把你传输的分割点切没
如果切在了头,前面会有个空串,但是切在尾巴,就不会有空串
字符串长度 length()
是空返回true,不然返回false
String 对象 定义后就不可改变 常量 private final 修饰value数组
字符串常量池 池 容器 重用
字符串怎样加入到常量池中--- 使用量的方式声明的字符串就会加入到常量池中
过程:检查str是否在字符串常量池中存在副本,如果不存在就复制一份存入到常量池中
然后返回常量池中的副本对象。
如果已经存在副本对象,直接返回副本对象
那么,两个字符串的intern 方法 ==
String 字符串定义后就不可改变
存在常量池中
在拼接宇符串时不要产生中间串
StringBuilder
StringBuffer 他们的默认值都是16
扩容
记住!!!扩容是原来的*2再+2.也可以理解为+1后乘2
//取整//四舍五入
long num = Math.round(ranNum);
//向上取整
double ceiTNum=Math.ceil(ranNum);
//向下取整
double floorNum=Math.floor(ranNum);
对于正数,1.5取2
对于负数,-1.5取-1,-1.6取-2
简称:正数四舍五入,负数五舍六入
Date getTime()
时间的初始值是在1970年的1月1日0时0分0秒000毫秒开始
long类型,因此会在后续某个日子爆仓(long的数值是2的64次-1,溢出,不过我们应该活不到
随机数
Math Random
真随机数 Math.random()
double 类型的,Math.random()的取值范围是[0~1)之间的随机数
double ran=Math.random();//[0~1)之间的随机数double
假随机数 Random();
Random ranB =new Random( seed: 12);
Random ranA=new Random( seed: 12);//假随机
不带种子将会返回随机的数字,每次运行结果不一样有种子无论程序运行多少次,返回结果都是一样的
因为种子一样,他的随机是固定顺序,参考高中的随机数表