java常用的字符串有哪些(一文讲透Java字符串)
java常用的字符串有哪些(一文讲透Java字符串)方法用双引号引用的字符串即String类。如何优雅的处理异常--Java进阶知识讲义系列(一)全网最完整的免费Java进阶知识教程系列(二)——包装器类接下来就让我们正式开始分享课程内容吧。
序恭喜你发现宝藏文章!!!这里是全网最完整的Java进阶知识系列教程!!!
本期是Java进阶知识系列的第三讲,我们将分享字符串类的知识,包括String类和StringBuilder类。
如果你正在学习Java,不妨收藏这篇文章,或者关注我,我会定期分享与Java有关的知识和项目。
之前两讲的内容,可点击下方获取:
如何优雅的处理异常--Java进阶知识讲义系列(一)
全网最完整的免费Java进阶知识教程系列(二)——包装器类
接下来就让我们正式开始分享课程内容吧。
一、String类用双引号引用的字符串即String类。
1. 创建String对象的方法- String s = "lordK";
- String s = new String("lordk");
方法 |
说明 |
int length() |
返回当前字符串长度 |
int indexOf() |
查找指定字符第一次出现的位置索引 |
int lastIndexOf() |
查找指定字符最后一次出现的位置索引 |
String substring() |
根据参数获取该字符串的子串 |
String trim() |
返回去除前后空格的字符串 |
boolean equals() |
比较字符串内容文本是否相同 |
String toLowerCase() |
将字符串全部字母转为小写 |
String toUpperCase() |
将字符串全部字母转为大写 |
char charAt() |
根据索引获取字符 |
String[] split() |
根据参数分隔字符串,返回字符串数组 |
byte[] getBytes() |
将字符串转为byte数组 |
public class StringDemo {
public static void main(String[] args) {
String s = "老K 玩 java 代码";
// 打印字符串的长度
System.out.println("字符串长度:" s.length());
// 获取第2个字符(下标索引从0开始计数)
System.out.println("第二个字符为:" s.charAt(1));
// 获取字符串java
System.out.println("第6-10个字符为:" s.substring(5 9));
// 获取字符串"a"第一次出现的所在位置索引
System.out.println("a第一次出现的位置索引为:" s.indexOf("a"));
// 获取字符串"a"最后次出现的所在位置索引
System.out.println("a最后次出现的位置索引为:" s.lastIndexOf("a"));
// 将字符串根据空格分隔
String[] strs = s.split(" ");
System.out.print("字符串根据空格切分后:");
for(int i = 0; i < strs.length; i ) {
System.out.print(strs[i] " ");
};
System.out.println();
// 将字符串转换为二进制编码
byte[] bins = s.getBytes();
System.out.print("字符串转为byte编码:");
for(int i = 0; i < bins.length; i ) {
System.out.print(bins[i]);
};
System.out.println();
// 将二进制编码转换为字符串
System.out.println("byte编码转为字符串:" new String(bins));
}
}
上例输出结果为:
字符串长度:12
第二个字符为:K
第6-10个字符为:java
a第一次出现的位置索引为:6
a最后次出现的位置索引为:8
字符串根据空格切分后:老K 玩 java 代码
字符串转为byte编码:-24-128-1277532-25-114-8732106971189732-28-69-93-25-96-127
byte编码转为字符串:老K 玩 java 代码
4. ==与equals
- ==用来比较字符串的内存地址;
- equals用来比较字符串的内容。
示例:
public class StringDemo {
public static void main(String[] args) {
String str1 = "lordk";
String str2 = str1;
String str3 = new String("lordk");
System.out.println("用==比较str1和str2的地址:" (str1 == str2));
System.out.println("用==比较str1和str3的地址:" (str1 == str3));
System.out.println("用equals比较str1和str2的内容:" str1.equals(str2));
System.out.println("用equals比较str1和str3的地址:" str1.equals(str3));
}
}
上述代码得到结果:
用==比较str1和str2的地址:true
用==比较str1和str3的地址:false
用equals比较str1和str2的内容:true
用equals比较str1和str3的地址:true
说明:
str1、str2和str3三者的文本内容都一致,所以equals得到的结果都是true; str1和str2指向同一个内存地址,但str3是通过new关键字新建的,虽然文本内容一致,但内存地址不同,所以str1与str3用==比较的结果是false。
二、StringBuilder类
当需要对字符串操作时,建议使用StringBuilder类。
示例代码:
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("你好");
// 追加字符串内容
sb.append(' ').append("老K");
System.out.println(sb);
// 删除字符串内容
sb.delete(2 5);
System.out.println(sb);
// 插入字符串内容
sb.insert(0 "老K ");
System.out.println(sb);
// 替换字符串内容中的大小写
sb.replace(1 2 "k");
System.out.println(sb);
}
}
输出结果如下:
你好 老K
你好
老K 你好
老k 你好
以上就是第三讲课程的全部内容,内容不算多,每天积累一点,慢慢就能学业有成!
想了解Java基础部分的课程内容,可以查看以下链接:
全网最完整的免费java教程讲义系列(一)——java配置和安装
全网最完整的免费java教程讲义系列(二)——java数据和变量
全网最完整的免费java教程讲义系列(三)——java的运算符
全网最完整的免费java教程讲义系列(四)——java的流程控制
结束语我是专注于开发领域的@老K玩代码,会持续生产关于如何学习编程语言的优质内容。
如果你想学习Java编程,或者想精进你的Java编程能力,可以关注我。
如果你对开发、编程有任何疑问或者有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。
#头条创作挑战赛#