Java数组和字符串:字符串的操作


1.获取字符串长度和在一个字符串中获取某个单个字符。
2.字符串连接(concat)
3.在一个字符串中找出一个字符或一个子串的位置
4. 比较(equals、compareTo)
5. 子串(substring(index)、substring(start, end))
6. 字符串转换
7. 字符串和数组之间的转换
8. 将字符和数值转换成字符串

【字符串长度、字符以及组合字符串】

int length():返回字符串的长度
char charAt(int index):返回字符串中index位置上的字符
String concat(String s):回连接这个字符串和字符串s所构成的新字符串。

【获取字符串长度】

使用length()方法获取字符串的长度:

【在字符串中获取单个字符】

不能使用message[0]
使用message.charAt(index)
下标index从0开始
在这里插入图片描述

【字符串连接】

String s3 = s1.concat(s2);

Sreing s3 = s2 + s3;

s1+s2+s3+s4+s5等价于(((s1.concat(s2)).concat(s3)).concat(s4)).concat(s5);

【找出字符串中的某个字符或者某个子串】

  • int indecOf (char ch):返回字符ch在字符串中第一次出现的位置
  • int indexOf (char ch,int from):返回字符ch在字符串中from以后第一次出现的位置
  • int lastIndexOf (char ch):返回字符ch在字符串中最后一次出现的位置
  • int lastIndexOf (char ch,int from):返回字符ch在字符串中from以前最后一次出现的位置

【字符串比较】

  • ==
    判断比较的是两个字符串是否引用同一个对象
  • boolean equals(String s)方法
    比较某一字符串是否与字符串s的内容相同。
  • int compareTo(String abotherString)
    按字典顺序比较两个字符串。
  • int compareToIgnoreCase(String str)
    按字典顺序比较两个字符串,不考虑大小写。

【获取子串】

  • String substring(int begin):返回从begin开始的子串
  • String substring(int begin,int end):用来得到字符串中指定范围内的子串

【字符串的转换、替换和分割】

  • String toLowerCase()
    将此字符串中的所有字符都转换为小写
  • String toUpperCase()
    将此字符串中的所有字符都转换为大写
  • String trim()
    返回去掉两端的空白字符之后的新字符串
  • String replace(char oldChar,char newChar)
    返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。

【String类对象与其它数据的转换】

字符串与基本数据类型的转换

(1) 从基本类型到字符串的转换
String类的valueOf()提供转换。
(2) 字符串到基本数据类型的转换

① 先转换成相应包装类实例,再调用包装类方法转换。
Public static 类型名 valueOf(String s)

② 静态parseXXX方法
该方法可直接将字符串转换为指定的基本数据类型。

基本数据类型(byte short int long float double char boolean)不能像使用对象一样去使用它们,对它们做一些个别的操作。所以Java对每个基本类型设定了一个包装类,如果是完整的单词,首字母大写即可;缩写转换成完整单词后首字母大写。(Byte Short Integer Long Float Double Character Boolean)这就是包装类,包装类与基本类型之间,包装类的对象可以拆包为基本类型数据进行加减乘除这样的运算;一个基本类型也可以自动的包装为包装类的对象去处理

字符串与数组的转换

(1) 字符数组到字符串的转换

① String(char []chars)

② Static String valueOf(char[] data)

(2) 字符串到字符数组的转换

Public char[] toCharArray()

String与StringBuffer/StringBuilder的转换

(1) String到StringBuffer/StringBuilder的转换

public StringBuffer(String str)
public StringBuilder(String str)

该字符串的初始容量为16加上字符串参数的长度
(2) StringBuffer/StringBuilder到String的转换

① 使用String类构造方法

String(StringBuffer buffer)
String(StringBuilder builder)

② 使用StringBuffer/StringBuilder的toString()方法
Public String toString()

【StringBuffer/StringBuilder类】

StringBuffer/StringBuilder类是可以替代String类的另一种处理字符串的解决方案。
在StringBuilder上的主要操作是append和insert方法:
append方法始终将这些字符添加到生成器的末端;
insert方法则在指定的点添加字符。

【StringBuilder的常用构造方法】

StringBuilder()
构造一个不带任何字符的字符串生成器,其初始容量为16个字符。
StringBuilder(int capacity)
构造一个不带任何字符的字符串生成器,其初始容量由capacity参数指定。
StringBuilder(String s)
构造一个字符串生成器,并初始化为指定的字符串内容。

【StringBuilder的常用方法】

  • StringBuilder append(primitiveType v)将一个基本类型值作为字符串追加到此字符串序。
  • StringBuilder append(String str)将一个字符串追加到此字符串。
  • StringBuilder delete(int start,int end)移除此序列的子字符串中的字符。
  • StringBuilder deleteCharAt(int index)移除此序列指定位置上的字符。
  • StringBuilder insert(int offset,PrimitiveType v)将v参数的字符串表示形式插入此字符序列位置偏移量处。
  • StringBuilder insert(int offset,String s)将字符串插入此字符串序列位置偏移量处。
  • StringBuilder reverse()将此字符序列用其反转形式取代。

猜你喜欢

转载自blog.csdn.net/m0_46700215/article/details/106459258