Java学习(79)Java字符串——String的常用方法、字符串与byte数组间的相互转换

常用方法简介

方法说明
int length()返回当前字符串的长度
int indexOf(int ch)查找ch字符在该字符串中第一次出现的位置
int indexOf(String str)查找str字符串在该字符串中第一次出现的位置
int lastIndexOf(int ch)查找ch字符在该字符串中最后一次出现的位置
int lastIndexOf(String str)查找str字符串在该字符串中最后一次出现的位置
String substring(int beginIndex)获取从beginIndex位置开始到结束的字符串
String substring(int beginIndex, int endIndex)获取从beginIndex位置开始到endIndex的字符串
String trim()返回去除了前后空格的字符串
boolean equals(Object obj)将该字符串与指定对象比较,返回true或false
String toLowerCase()将字符串转换为小写
String toUpperCase()将字符串转换为大写
String[] aplit(String regex, int limit)将字符串分割为子字符串,返回字符串数组
byte[] getBytes()将该字符串转换为byte数组

注:CharAt(m):取出第m个位置的字符。

案例1:length(),charAt(),substring()

public class StringDemo1 {
	public static void main(String[] args) {
		//定义一个字符串"JAVA 编程 基础"
		String str="JAVA 编程 基础";
		//打印输出字符串的长度
		System.out.println("字符串的长度是:"+str.length());

		//取出字符'程'并输出
		System.out.println(str.charAt(6));
		
		//取出子串"编程 基础"并输出
		System.out.println(str.substring(5));
		
		//取出子串"编程"并输出
		System.out.println(str.substring(5, 7));
	}
}

运行结果:

字符串的长度是:10
程
编程 基础
编程

案例2:indexOf(),lastIndexOf()

public class StringDemo2 {

	public static void main(String[] args) {
		// 定义一个字符串"JAVA编程基础,我喜欢java编程"
		String str=new String("JAVA编程基础,我喜欢java编程");
		String s = null;
		System.out.println(s);
		
		//查找字符'A'在字符串中第一次出现的位置
		System.out.println("字符'A'在字符串中第一次出现的位置"+str.indexOf('A'));

		//查找子串"编程"在字符串中第一次出现的位置
		System.out.println("子串\"编程\"在字符串中第一次出现的位置"+str.indexOf("编程"));
		
		//查找字符'A'在字符串中最后一次出现的位置
		System.out.println("字符'A'在字符串中最后一次出现的位置"+str.lastIndexOf('A'));
		
		//查找子串"编程"在字符串中最后一次出现的位置
		System.out.println("子串\"编程\"在字符串中最后一次出现的位置"+str.lastIndexOf("编程"));
		
		//在字符串index值为8的位置开始,查找子串"编程"第一次出现的位置
		System.out.println("在字符串index值为8的位置开始,查找子串\"编程\"第一次出现的位置"+str.indexOf("编程", 8));
	}
}

运行结果:

null
字符'A'在字符串中第一次出现的位置1
子串"编程"在字符串中第一次出现的位置4
字符'A'在字符串中最后一次出现的位置3
子串"编程"在字符串中最后一次出现的位置16
在字符串index值为8的位置开始,查找子串"编程"第一次出现的位置16

注:要想打印输出双引号,需要使用转义字符“\”。

案例3:字符串与byte数组间的相互转换

	public static void main(String[] args) throws UnsupportedEncodingException {
		// 字符串和byte数组之间的相互转换
		//定义一个字符串
		String str=new String("JAVA 编程 基础");
		//将字符串转换为byte数组,并打印输出
		byte[] arrs=str.getBytes("GBK");
		for(int i=0;i<arrs.length;i++){
			System.out.print(arrs[i]+" ");
		}

		System.out.println();
		//将byte数组转换为字符串
		String str1=new String(arrs,"GBK");
		System.out.println(str1);
	}
}

运行结果:

74 65 86 65 32 -79 -32 -77 -52 32 -69 -7 -76 -95 
JAVA 编程 基础

注:
(1) 工程 → \to 右键 → \to Properties查看编码方式;
(2) 在utf-8编码方式下,每个汉字占3个字节;
(3) 编码方式一定要在工程开始之前就确定下来。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值