Java学习【阶段一[03]】API(11字符串的方法)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_41915980/article/details/102749734

一、字符串的比较方法

==是进行地址值的比较,如果确实需要字符串的内容比较,可以使用两个方法

public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会返回true,否则返回false
【注意事项】
1、任何对象都能用Object进行接收
2、equals方法具有对称性,也就是a.equals(b)与b.equals(a)效果一样。
3、如果比较双方一个常量一个变量,推荐把常量字符串写出前面。

public boolean equalsIgnoreCase(Object obj):不区分大小写进行比较,仅限英文字母的大小写

package Day08;

/*
==是进行地址值的比较,如果确实需要字符串的内容比较,可以使用两个方法

public boolean equals(Object obj):参数可以是任何对象,只有参数是一个字符串并且内容相同的才会返回true,否则返回false
【注意事项】
1、任何对象都能用Object进行接收
2、equals方法具有对称性,也就是a.equals(b)与b.equals(a)效果一样。
3、如果比较双方一个常量一个变量,推荐把常量字符串写出前面。

public boolean equalsIgnoreCase(Object obj):不区分大小写进行比较,仅限英文字母的大小写
 */
public class Demo01StringEquals {
	public static void main(String[] args) {
		String str1="Hello";
		String str2="Hello";
		char [] charArray= {'H','e','l','l','o'};
		String str3=new String(charArray);
		System.out.println(str1.equals(str2));//true
		System.out.println(str2.equals(str3));//true
		System.out.println(str3.equals("Hello"));//true
		System.out.println("Hello".equals(str1));//true
		
		String str4="hello";
		System.out.println(str4.equals(str1));//false
		
		String str5="abc";
		System.out.println("abc".equals(str5));//推荐
		System.out.println(str5.equals("abc"));//不推荐:会出现空指针异常
		
		String strA="Java";
		String strB="java";
		System.out.println(strA.equals(strB));//false,严格区分大小写
		System.out.println(strA.equalsIgnoreCase(strB));//true,不区分大小写
		
	}

}

二、字符串的常用获取方法

 String当中与获取相关的常用方法有:

  •  public int length():获取字符串当中含有的字符个数,拿到字符串长度
  •  public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串
  •  public char charAt(int index):获取指定索引位置的单个字符(索引从0开始)
  •  public int indexof(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值
package Day08;
/*
 String当中与获取相关的常用方法有:
 public int length():获取字符串当中含有的字符个数,拿到字符串长度
 public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串
 public char charAt(int index):获取指定索引位置的单个字符(索引从0开始)
 public int indexof(String str):查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值
 */
public class Demo02StringGet {
	public static void main(String[] args) {
		//获取字符串长度
		int length="sjsjjsfffskssm".length();
		//拼接字符串
		String str1="Hello";
		String str2="World";
		String str3=str1.concat(str2);
		System.out.println(str3);
		//获取指定索引位置的单个字符
		char ch=str1.charAt(2);
		System.out.println(ch);
		//查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值
		String original="HelloHelloHello";
		int index=original.indexOf("llo");
		System.out.println("出现第一次的索引值是"+index);//2
		
		System.out.println("HelloWorld".indexOf("abc"));//-1
	}

}

三、字符串的常用截取方法

字符串的常用截取方法:

  •  public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串
  •  public String substring(int begin,int end):截取从begin开始到end结束,返回新字符串
package Day08;
/*
 字符串的截取方法:
 public String substring(int index):截取从参数位置一直到字符串末尾,返回新字符串
 public String substring(int begin,int end):截取从begin开始到end结束,返回新字符串
 */
public class Demo03Substring {
	public static void main(String[] args) {
		String str1="HelloWorld";
		String str2=str1.substring(5);
		System.out.println(str1);//HelloWorld原字符串原封不动
		System.out.println(str2);//World,新字符串
		
		String str3=str1.substring(4,7);
		
		//下面这种写法,字符串的内容仍然是没有改变的
		//下面有两个字符串:“Hello”,“Java”
		//strA当中保存的地址值
		//本来地址是Hello的0x666
		//后来变成了Java的0x999
		String strA="Hello";
		System.out.println(strA);//Hello
		strA="Java";
		System.out.println(strA);//Java
	}

}

四、字符串常用的转换方法

String当中与转换相关的常用方法有:

  • public char[] toCharArray():将当前字符串拆分成字符数组作为返回值
  • public byte[] getBytes():获得当前字符串底层的字节数组
  • public string replace(CharSequence oldString,CharSequence newString):
  • 将所有出现的老字符串替换成新的字符串,返回替换之后的结果新字符串

备注:CharSequence意思就是可以接受字符串类型

package Day08;
/*
String当中与转换相关的常用方法有:

public char[] toCharArray():将当前字符串拆分成字符数组作为返回值
public byte[] getBytes():获得当前字符串底层的字节数组
public string replace(CharSequence oldString,CharSequence newString):
将所有出现的老字符串替换成新的字符串,返回替换之后的结果新字符串
备注:CharSequence意思就是可以接受字符串类型
 */
public class Demo04StringConvert {
	public static void main(String[] args) {
		//转换为字符数组
		char[] chars="Hello".toCharArray();
		System.out.println(chars[0]);//H
		System.out.println(chars.length);//5
		
		//转换成字节数组
		byte[] bytes="abc".getBytes();
		for(int i=0;i<bytes.length;i++){
		System.out.println(bytes[i]);
		}
		
		//字符串的内容替换
		String str1="How do you do?";
		String str2=str1.replace("o", "*");
		System.out.println(str1);//How do you do?
		System.out.println(str2);//H*w d* y*u do?
	}
}

五、字符串的分割方法

分割字符串的方法:

  • public String[ ] split(String regex):按照该参数的规则,将字符串切分为若干部分
  • 注意事项:splitt方法的参数regex为一个正则表达式
    如果要按照英文句点中出现.   需要用参数\\.(见代码)
package Day08;

/*
分割字符串的方法:
punlic String[] split(String regex):按照参数的规则,将字符串切割为若干部分
注意事项:splitt方法的参数regex为一个正则表达式
如果要按照英文句点中出现. 需要用参数\\.
 */
public class Demo05StringSplit {
	public static void main(String[] args) {
		String str1="aaa,bbb,ccc";
				String[]array1=str1.split(",");
				for(int i=0;i<array1.length;i++) {
					System.out.println(array1[i]);//aaa bbb ccc
				}
				
		String str2="aaa,bbb,ccc";
		String[]array2=str2.split(",");
		for(int i=0;i<array2.length;i++) {
		System.out.println(array2[i]);//aaa bbb ccc
	}
		String str3="aaa.bbb.ccc";
		String[]array3=str3.split(".");
		System.out.println(array3.length);//长度为0,切失败
		for(int i=0;i<array3.length;i++) {
		System.out.println(array3[i]);
		}//无输出
		
		String str4="aaa.bbb.ccc";
		String[]array4=str4.split("\\.");
		System.out.println(array4.length);//长度为3,切成功
		for(int i=0;i<array4.length;i++) {
		System.out.println(array4[i]);
		}//aaa bbb ccc
	}
}

猜你喜欢

转载自blog.csdn.net/qq_41915980/article/details/102749734