java基础8(常用类—API)

本文介绍了Java中的StringBuffer类,包括其构造方法、添加、删除、替换、反转和截取功能,以及与String和StringBuilder类在不同场景下的选择。还提到了Math类的数学计算方法和Random类的随机数生成。
摘要由CSDN通过智能技术生成

java基础8(常用类—API)

StringBuffer

我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String 对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列

  1. StringBuffer类的构造方法:

    • public StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。

    • public StringBuffer(int capacity) 指定容量的字符串缓冲区对象

    • public StringBuffer(String str) 指定字符串内容的字符串缓冲区对象

      public class StringBufferDemo1 {
          public static void main(String[] args) {
              //  StringBuffer 就是一长度可变的字符容器,如果你有拼串的需求,可以采用字符容器来拼串。
      ​
              //StringBuffer()
              //构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。
              StringBuffer sbf = new StringBuffer();
              int c1 = sbf.capacity();
              System.out.println(c1);//16
              sbf.append("aaa");
              System.out.println(sbf.capacity());//获取容器的容量;16
              System.out.println(sbf.length());//获取容器中字符的长度;3
      ​
              //StringBuffer( int capacity)
              //构造一个不带字符,但具有指定初始容量的字符串缓冲区。
              StringBuffer sbf1 = new StringBuffer(100);
              int c2 = sbf1.capacity();
              System.out.println(c2);//100
      ​
              // StringBuffer(String str)
              // 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
              StringBuffer sbf2 = new StringBuffer("aaaaaa");
              int c3 = sbf2.capacity();
              System.out.println(c3);//22
      ​
          }
      }

  2. StringBuffer类的添加功能

    1. public StringBuffer append(String str)

    2. public StringBuffer insert(int offset,String str)

      class StringBufferDemo2{
          public static void main(String[] args) {
              StringBuffer stringBuffer= new StringBuffer();
              stringBuffer.append("acd");
              stringBuffer.insert(1,"b");
              System.out.println(stringBuffer.toString());//abcd
          }
      }

  3. StringBuffer类的删除功能

    1. public StringBuffer deleteCharAt(int index)

    2. public StringBuffer delete(int start,int end)

      class StringBufferDemo2{
          public static void main(String[] args) {
              StringBuffer stringBuffer1 = new StringBuffer();
              stringBuffer1.append("abcdefg");
              stringBuffer1.deleteCharAt(0);
              System.out.println(stringBuffer1.toString());//bcsefg
              stringBuffer1.delete(1,3);
              System.out.println(stringBuffer1.toString());//befg
          }
      }
      ​

  4. StringBuffer类的替换功能

    1. public StringBuffer replace(int start,int end,String str)

      class StringBufferDemo2{
          public static void main(String[] args) {
              StringBuffer stringBuffer2= new StringBuffer();
              stringBuffer2.append("abcdef");
              stringBuffer2.replace(0,3,"123");
              System.out.println(stringBuffer2.toString());//123def
          }
      }

  5. StringBuffer类的反转功能

    1. public StringBuffer reverse()

      class StringBufferDemo2{
          public static void main(String[] args) {
              StringBuffer stringBuffer3= new StringBuffer();
              stringBuffer3.append("1234567");
              stringBuffer3.reverse();
              System.out.println(stringBuffer3.toString());//7654321
          }
      }

  6. StringBuffer类的截取功能

    1. public String substring(int start)

    2. public String substring(int start,int end)

      class StringBufferDemo2{
          public static void main(String[] args) {
              StringBuffer stringBuffer4 = new StringBuffer();
              stringBuffer4.append("abcdef");
              String s =stringBuffer4.substring(2,4);
              System.out.println(s);//cd
          }
      }

String类、StringBuffer类和StringBuilder类的选择

  1. 如果字符串中存在大量的修改操作,可以选择StrinBuffer和StringBuilder其中之一。

  2. 如果字符串中存在大量的修改操作而且在单线程的情况下,使用StringBuilder。

  3. 如果字符串中存在大量的修改操作而且在多线程的情况下,使用StringBuffer。

  4. 如果字符串修改很少、被多个对象引用,使用String。这个在配置信息的时候应用广泛。

Math类

  • java.lang.Math 提供了静态方法用于科学计算,其方法的参数和返回值类型一般为double类型

  • abs 取绝对值

  • sqrt 平方根

  • pow(double a, double b) a的b次幂

  • max(double a, double b)

  • min(double a, double b)

  • random() 返回 0.0 到 1.0 的随机数

  • long round(double a) double型的数据a转换为long型(四舍五入)

Random类

  1. 概述

    Random类用于产生随机数

  2. 构造方法

    public Random()

  3. 成员方法

    public int nextInt()

    public int nextInt(int n)

    import java.util.Random;
    ​
    public class TestRandom {
        public static void main(String[] args) {
            Random a = new Random();
            int x = a.nextInt(); // 给x 赋值随机数
            int y = a.nextInt(10);  // 给y 赋值0 - 10 的随机数
            System.out.println(x);
            System.out.println(y);
        }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值