字符串特点:
1.字符串是常量,他们的值创建之后不可改变
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l6wVJRLr-1632129164750)(C:\Users\86156\Desktop\字符串的值不可改变.png)]
2.正是因为其不可改变,所以字符串可以共享使用
3.字符串效果上相当于char[]字符数组,但是底层原理是byte[]字节数组
创建字符串的几种方法:
1.String():创建一个空白字符串,不含有任何内容
2.string(char【】 array):根据字符数组的内容,来创建字符串
3.string(byte【】 array):根据字节数组的内容来创建字符串
4.直接创建: string str = “hello”:
注:直接写上双引号,就是字符串对象
字符串常量池(在堆之中 ):程序当中直接写上的双引号字符串,就在字符串常量池中;new的不在里边
对于基本类型来说:==是进行数值的比较
对于引用类型来说:==是进行地址值的比较
字符串中的常用方法
String字符串的内容比较常用方法:
public boolean equals(Object obj): 其中参数可以为任何对象,只有参数是一个字符串并且内容相同的才会给true,否则返回false
public boolean equalsIgnoreCase(String str) : 忽略大小写,进行内容比较
注:
- 任何对象都可以使用Object接收
- equals具有对称性 ,也就是a.equals(b)和b.equals(a)相同,效果一样
- 如果比较双方一个常量一个变量,推荐把常量字符写在前面
NullPointerException
: 空指针异常
String字符串当中与获取有关的常用方法:
// public int length(); 获取字符串当中含有的字符个数,拿到字符串的长度;
// public String concat(String str); 将当前字符串和参数字符拼接成为返回值新的字符串
// public char charAt(int index) : 获取指定索引位置的单个字符(从索引0开始)
// public int indexOf(String str) : 查找参数字符串在本字符串当中首次出现的位置,如果没有返回-1值
String字符串中的截取方法
String当中与转换有关的常用方法
备注:CharSquence
意思是说可以接受字符串类型
String字符串中的分割方法
字符串练习
public class StringPractise1 {
public static void main(String[] args) {
int[] array = {1, 2, 3};
String s = returToNewStrng(array);
System.out.println(s);
}
public static String returToNewStrng (int [] array){
String str1 = "[";
for (int i = 0; i < array.length; i++) {
if (i == array.length-1){
str1+="word"+array[i]+"]"; // 最后一个数组元素后跟的不是#,而是结尾”】“
}else {
str1 += "word" + array[i] + "#";
}
}
return str1 ;
}
}
public class StringPractise2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入需要统计的字符串");
String next = scanner.next();
int countBig = 0;
int countSmall = 0;
int countNumber = 0;
int countOther = 0;
char[] charArray = next.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char c = charArray[i];
if ('A'<= c && c <='Z'){
countBig++;
}else if ('a'<= c && c <='z'){
countSmall++;
}else if ('0'<= c && c <='9'){
countNumber++;
}else {
countOther++;
}
}
System.out.println("大写字母出现的次数为 : "+countNumber+" 小写字母出现的次数为 :"
+countSmall+" 数字出现的次数为 :"+countNumber+" 其他字符出现的次数为 :"+countOther);
}
}