不知道说啥。。。
字符串:
字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。
字符串不变性:字符串不能被修改,所谓修改其实是新开辟了一块内训空间,创建后是不可变的。
每次 new 一个字符串就是产生一个新的对象,即便两个字符串的内容相同,使用 ”==” 比较时也为 ”false” ,如果只需比较内容是否相同,应使用 ”equals()” 方法
- 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
- 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1
- 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
针对如此繁杂的方法,推荐大家一个学习技巧:好记性不如烂笔头!多看的同时一定要多敲哦~~
public class Str {
public static void main(String[] args) {
String str="学习 Java 编程";
System.out.println("字符串长度为"+str.length());
char c='编';
System.out.println("字符‘编’的位置"+str.indexOf(c));
String ch="immoc";
System.out.println("字符串immoc的位置为"+str.indexOf(ch));
String ch2="Java";
System.out.println("字符串java的位置为"+str.indexOf(ch2));
String[] arr=str.split(" ");
System.out.println("空格将字符串分割为"+Arrays.toString(arr));
System.out.println("获取3.7.之间的字符串"+str.substring(3,7));
}
}
运行结果为:
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
// Java文件名
String fileName = "HelloWorld.java";
// 邮箱
String email = "laurenyang@imooc.com";
// 判断.java文件名是否正确:合法的文件名应该以.java结尾
/*
参考步骤:
1、获取文件名中最后一次出现"."号的位置
2、根据"."号的位置,获取文件的后缀
3、判断"."号位置及文件后缀名
*/
//获取文件名中最后一次出现"."号的位置
int index = fileName.lastIndexOf('.');
// 获取文件的后缀
String prefix =fileName.substring(index);
// 判断必须包含"."号,且不能出现在首位,同时后缀名为"java"
if ( index!=0&&index!=-1&&prefix==".java" ) {
System.out.println("Java文件名正确");
} else {
System.out.println("Java文件名无效");
}
// 判断邮箱格式是否正确:合法的邮箱名中至少要包含"@", 并且"@"是在"."之前
/*
参考步骤:
1、获取文件名中"@"符号的位置
2、获取邮箱中"."号的位置
3、判断必须包含"@"符号,且"@"必须在"."之前
*/
// 获取邮箱中"@"符号的位置
int index2 = email.indexOf('@');
// 获取邮箱中"."号的位置
int index3 = email.indexOf('.');
// 判断必须包含"@"符号,且"@"必须在"."之前
if (index2 != -1 && index3 > index2) {
System.out.println("邮箱格式正确");
} else {
System.out.println("邮箱格式无效");
}
}
}
public static void main(String[] args) {
String str = "学习 Java 编程";
System.out.println("转换为小写"+str.toLowerCase());
System.out.println("转换为大写"+str.toUpperCase());
System.out.println("位置为一的字符:"+str.charAt(1));
String str2 =new String("学习 Java 编程");
System.out.println("比较字符串内容是否相同"+str.equals(str2));
System.out.println("比较字符串内存地址是否相同"+(str==str2));
byte[] b=str.getBytes();
for(int i=0;i<b.length;i++){
System.out.printf(b[i]+" ");
}
}
StringBuilder:操作修改了 str 对象的值,而没有创建新的对象,这就是 StringBuilder 和 String 最大的区别。
提供的方法:
public static void main(String[] args) {
StringBuilder str = new StringBuilder("Hello");
str.append(" immoc");
str.append(520);
System.out.println("长度为"+str.length());
System.out.println("插入前为:"+str);
str.insert(11,'!');
System.out.println("插入后为: "+str);
str.toString();
}