Java基础学习(五):String类、字符串常见操作

Java基础学习(五):String类、字符串常见操作

一、String类、字符串

  1. 字符串是常量,创建后其值不可改变,长度也不可变。
String str = "hahaha" ;
  1. 如果不初始化字符串对象,变量就不会指向任何一个内存地址,此时调用会出错。
  2. 创建一个空字符串可以使用null赋值。
String str = null ;
  1. 初始化字符串
    ·String str = "hahaha"
    ·String str = new String ("hahaha")
    ·string str = String.valueOf(其他任意类型)(用来将其他任意类型的基本数据类型转化成字符串)
  2. 用字符数组初始化
    ·new String(char[])
    ·new String(char[],int,int)(int,int是截取字符数组当中的int1到int2的字符)
    ·String.valueOf(char[])
    ·String.valueOf(char[],int,int)
public class first {
	public static void main(String[] args) {
			char[] ch = {'h','a','h','a'};
			String s1 = new String(ch);
			String s2 = new  String(ch,1,2);
			String s3 = String.valueOf(ch);
			String s4 = String.valueOf(ch,1,2);
			System.out.println(s1+"\n"+s2+"\n"+s3+"\n"+s4);
	}
}
//-------------输出---------------
haha
ah
haha
ah

二、字符串的常见操作:拼接

  1. · “ + ”加号用来拼接多个字符串,注意两边必须是字符串或者String对象。(右操作数会被强制转化成String类型)。
    · “ += ”即str += str1 => str = str + str1
    · 字符串.concat(字符串)(返回一个新的对象,不改变原对象本身,必须执行赋值操作)。
  2. 字符长度:字符串.length()
public class first {
	public static void main(String[] args) {
			char[] ch = {'h','a','h','a'};
			String s1 = new String(ch);
			System.out.println(s1.length());
	}
}

三、字符串的常见操作:字符串的索引

  1. charAt()方法:
    使用charAt(int index)方法可以获取字符串中的指定索引位置的字符,方法入参为int数值,字符串第一个索引值为0,最后一个字符索引值为字符长度减1,返回为一个char类型。
public class first {
	public static void main(String[] args) {
			String s1 = "hahehrht";
			System.out.println(s1.charAt(1));
	}
}
//-----------输出-------------
a
  1. indexOf()方法:
    使用indexOf()方法可以返回入参字符在指定String对象中 第一次出现 的索引位置,如果失败返回-1。
    indexOf()重载有四种:
方法 功能描述
indexOf(int ch) 返回入参字符在指定String对象中第一次出现的索引位置,入参字符为Unicode编码
indexOf(int ch , int fromIndex) 从入参索引值 fromIndex开始搜索,返回入参字符在指定String对象中第一次出现的索引位置,入参字符为Unicode编码
indexOf(String str) 返回入参字符串在指定String对象中第一次出现的索引位置
indexOf(String str , int fromIdex) 从入参索引值 fromIndex开始搜索,返回入参字符串在指定String对象中第一次出现的索引位置

四、字符串的常见操作:字符串的替换

方法 功能描述
replace(char old , char new) 把old替换为new,注意是字符串中的old会全部替换为new,支持正则表达式
replaceAll(String regex , String replacement) 从字符串的首位开始进行搜索,直到尾部,被匹配到的字符,字符串,正则表达式都会被替代
replaceFirst(String regex , String replacement) 从字符串的首位开始进行搜索,直到尾部,被匹配到的字符,字符串,正则表达式只会把第一个匹配的替换

五、字符串的常见操作:字符串的截取

方法 功能描述
substring(int beginIdex) 从入参索引位置开始截取,直到指定String对象结尾
substring(int beginIdex , int endindex) 从入参索引位置开始截取,到endindex-1的位置结束(左闭右开)

六、字符串的常见操作:字符串的分割

方法 功能描述
split(String regex) 将字符串按照一定的规划分割成字符串数组,可以是“,” 等分隔符,也可以是正则表达式
String[] str = str.split(",");

七、字符串的常见操作:判断字符串首尾内容,字符串首尾去空格,字符串大小写转换

操作 方法 功能描述
判断字符串首尾内容: startsWith(String prefix) 判断字符串是否以前缀开始
startsWith(String prfix , int fromidex) 从索引处判断字符串是否以前缀开始
endsWith(String suffix) 判断字符串是否以后缀开始
字符串首尾去空格: trim() 返回一个去除字符串首尾空格的字符串
字符串大小写转换: toLowerCase() 指定对象中每个字符都转化成小写字母
toUpperCase() 定对象中每个字符都转化成大写字母

八、字符串的常见操作:字符串比较
Java中,利用“ == ”来比较数据是否相等,而字符串双等号却是比较的引用内存地址是否相同。

方法 功能描述
equals(String anotherString) 比较字符串,区分大小写
equealsIgnoreCase(String anotherString) 比较字符串,不区分大小写

九、字符串的常见操作:其他字符操作

方法 功能描述
contains(CharSequences) 判断String对象中是否包含入参字符串,返回布尔值
compareTo(String antherString) 按照ASCLL码进行比较,如果相同则继续往后比较,如果不同返回ASCLL的差值
hashCode() 返回该字符串的哈希值
toCharArray() 该方法可以将字符串转化成一个新的字符数组
toString() 转化成字符串

十、格式化输出

format(string str , Objetc...args)
转换符 说明
%s 字符串类型
%c 字符类型
%b 布尔类型
%d 整数类型(十进制)
%x 整数类型(十六进制)
%o 整数类型(八进制)
%f 浮点类型
%a 十六进制浮点类型
%e 指数类型
%g 通用浮点类型
%% 百分比类型
%n 换行符
%tx 时间如日期类型

例如:

public class first {
	public static void main(String[] args) {
			String s1 = "hahehrht";
			System.out.println(String.format("%s这是一个字符串",s1));
	}
}
//--------------输出-------------
hahehrht这是一个字符串

format还提供时间格式化的操作:链接

发布了12 篇原创文章 · 获赞 14 · 访问量 1343

猜你喜欢

转载自blog.csdn.net/weixin_43818177/article/details/105199859