Java核心类学习-String、StringBuilder、StringBuffer、Math

String类

  1. String是一个引用类型,其本身就是一个class,但String不能被继承,原因是String类的的定义是final类.

  2. 字符串比较需要用equals,==比较的是引用,虽然java在编译时会将相同的字符串当做一个对象放入常量池,此时字符串的引用相同,但要比较字符串必须总是调用equals方法.

  3. String常用方法

    contains(String s);//是否包含子字符串s
    indexOf(String s);//返回子字符串s第一次出现的位置下标
    lastIndextOf(String s);//返回子字符串s最后一次出现的位置下标
    starsWith(String s);//否以字符串s开始
    endWith(String s);//否以字符串s结束
    substring(int s);//提取从下标先开始的子字符串
    substring(int start, int end);//提取从下标start开始到end-1的子字符串
    trim();//去除首尾空格
    strip();//去除首尾空格但类似中文的空格\u3000也会被移除
    isEmpty();//判断字符串是否为空
    isBlank();//判断字符串是否为空白字符串
    replace(char a,char b);//将所有的字符a换成b
    replace(String a,String b);//将所有子字符串a换成b
    split(String regex);//以正则表达式regex为分隔符分割字符串
    join(String s,String[] arr);//用指定的字符串连接指定的字符串数组
    formatted();//格式化字符串
    format();//格式化字符串
    
  4. 类型装换

    • 将基本类型或引用类型转换为字符串,调用String的静态方法valueOf
    • 将字符串转换为其他类型,调用相应类型的类方法,如Integer.parseInt(“1234”);
    • 转换为char数组,调用方法toCharArray();

StringBuilder与StringBuffer类

StringBuilder是一个可变对象,可预分配缓冲区,可高效拼接字符串,调用append()方法进行拼接,StringBuilder还可以进行链式操作,因为其append方法会返回实例本身.

StringBufferStringBuilder早期的一个线程安全版本,可以保证多个线程操作StringBuffer也是安全的,但是也相应的带来效率变低


Math类

  1. Math类主要用来进行数学计算,它提供了大量的静态方法让我们用来实现数学计算

  2. 常用方法

    abs(-7);//求绝对值
    max(a,b);//取最大值
    min(a,b);//取最小值
    pow(a,b);//计算a的b次方
    sqrt(a);//计算根号a
    exp(a);//计算e的a次方
    log(a);//计算以e为底的对数
    log10(a);//计算以10为底的对数
    //三角函数
    sin(a);
    cos(a);
    tan(a);
    asin(a);
    acos(a);
    //数学常量
    Math.PI;
    Math.E;
    Math.random();//获取一个0~1的随机数
    

Random类

  1. Random用来创建随机数,伪随机数是指只要给定一个初始的种子,产生的随机数序列是完全一样的

  2. 用法如下

    Random ran=new Random();
    ran.nextInt();//生成一个随机的int值
    ran.nextInt(20);//生成一个0~20之间的随机int值
    ran.nextLong();//生成一个随机的long值
    ran.nextFloat();//生成一个0~1之间的float值
    ran.nextDouble();//生成一个0~1之间的double值
    

SecureRandom类

  1. SecureRandom无法指定种子,SecureRandom使用RNG算法(random number generator),SecureRandom通过操作系统提供的安全的随机种子来生成随机数.因而SecureRandom生成的随机数更安全

  2. 使用例子如下

    import java.util.Arrays;
    import java.security.SecureRandom;
    import java.security.NoSuchAlgorithmException;
    public class Main {
        public static void main(String[] args) {
            SecureRandom sr = null;
            try {
                sr = SecureRandom.getInstanceStrong(); // 获取高强度安全随机数生成器
            } catch (NoSuchAlgorithmException e) {
                sr = new SecureRandom(); // 获取普通的安全随机数生成器
            }
            byte[] buffer = new byte[16];
            sr.nextBytes(buffer); // 用安全随机数填充buffer
            System.out.println(Arrays.toString(buffer));
        }
    }
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值