Java学习笔记——字符串

字符串

定义:n个字符组成的序列
字符串常量:一对双引号" "定界起来的字符序列
如:“Hello World !”
若两个双引号之间没有任何字符,则为空串“”
“”:空串,长度为0 “ ”:空格串,长度为1 null 不能计算长度
除String以外,都为字符串变量类。

Java中字符串处理类
  • String类
  • StringBuffer类
  • StringBuilder类
  • StringTokenzier类

String类

  • String是字符串常量类
    String对象的值一经赋值,其值不可变
    指的是所指向的内存值不可修改,但可以改变指向
  • String类型变量的初始化
    – 构造方法初始化
    String name= new String(“zhangxiao”);
    – 字符串常量初始化
    String sex = “男”;
    String类是final的,无法被继承
  • 字符串连接
    – concat(String str)
    – “+”运算符
  • 字符串查找
    – indexOf (String str) //从左向右
    – lastIndexOf(String str)//从右向左
    例:zhangsan indexOf(“a”)–>2 lastIndex(“a”)–>6
    –charAt(int indexOf)//返回指定位置的字符
    –startsWith(String prefix)
    在这里插入图片描述
  • 字符串分割
    – split(String regex):字符串分割,遇到匹配的字符则分割
    Java学习笔记——字符串_第1张图片
    在这里插入图片描述
    若有多个分割字符,用 | 分割
    – compareTo(String str):字符串比较
    – equalslgnoreCase(String str):忽略大小写比较大小
  • 字符串替换
    –replace(char oldChar, char newChar)
    替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。
  • 字符串求子串
    –substring(int beginIndex, int endIndex) //包含起始,不包含结束
    在这里插入图片描述
    打印结果为:ang
    内容是从 begin处到 end-1 处的所有字符,其长度为 end减 begin
  • 字符串大小写转换
    – toUpperCase() 小写转大写
    – ToLowerCase()大写转小写

StringBuffer

  • StringBuffer类是一个字符串变量类
    – StringBuffer对象的值可以修改
    – 主要用于对字符串做大量修改的操作时
    String 类有两种方式,StringBuffer只能用构造方法初始化
  • StringBuffer变量的初始化
    StringBuffer sb = new StringBuffer(“Hello”);
    new StringBuffer();//空串
  • 字符串连接
    – append(Object obj)
  • 字符串删除
    – delete(int start,int end) //包含起始,不包含结束
  • 字符串插入
    – insert(int offset,Object obj)
  • 字符串逆序
    – reverse() //String没有
  • StringBuffer对象转换为String对象
    – toString()
  • String对象转换为StringBuffer对象
    –new StringBuffer(String)
    –new StringBuffer(), .append(String)

StringBuilder类

StringBuilder类与StringBuffer类的方法调用是一致的。

  • StringBuilder类与StringBuffer类的区别:
    –StringBuffer是线程安全的
    –StringBuilder是非线程安全的

StringTokenizer类

  • StringTokenizer类主要用途是将字符串以定界符为界,分析为一个个独立的token(可理解为单词)。
    StringTokenizer中的定界符可以自己指定。
    • StringTokenizer常用的方法:
    –hasMoreTokens:是否有更多的分隔符
    –nextToken:返回下一个分隔符前的内容值
    该方法用途类似于split方法,只是对结果进行了封装

你可能感兴趣的:(Java)