String类常用方法
- public int length():返回字符串的长度
- public char charAt(int index):根据下标获取字符,括号中为序列数
- public boolean contains(String str):判断当前字符串中是否包含str
public class Demo01 {
public static void main(String[] args) {
String name="hello";//“hello“常量存储在字符串池中
name="更生";//并没有去改变hello的值,而是在字符串池重新开辟了一片空间“更生”,然后name从指向hello变成指向更生
String name2="更生";//这里是共享的
System.out.println(name==name2);//true
//字符串的另一种创建方式
String str=new String("java");//会指向堆里的java对象,事实上两个会合并到一个,所以用这种方式会浪费空间
String str2 = new String("java");
System.out.println(str==str2);//两个地址是不一样的
System.out.println(str.equals(str2));//这时候比的是数据
System.out.println("======================字符串方法的使用1===========================");
//字符串方法的使用
//length();返回字符串的长度
//charAt(int index):返回某个位置的字符
//contains(String str):判断是否包含某个字符串
String content="java ";//空格也算一个字符
System.out.println(content.length());
System.out.println(content.charAt(0));//打印第一个字符
System.out.println(content.charAt(content.length()-1));//打印最后一个字符
System.out.println(content.charAt(content.length()-2));//打印倒数第二个字符
System.out.println(content.contains("java"));
System.out.println(content.contains("php"));
System.out.println(content.contains("jv"));//被隔开的字符串是无法检测到的
System.out.println(content.contains("j"+"v"));//即使这样写也是不行的
}
}
输出结果为
5
j
a
true
false
false
false
- 空格算字符
- 打印倒数第几个字符时,可通过length()-a的思路实现,但要注意序列是从0开始的
- 被隔开的字符串是无法检测成功的,即使中间用“+”分隔也不行
- public char[ ] toCharArray():将字符串转换为数组
- public int indexOf(String str):查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1
- public int lastIndexOf(String str):查找字符串在当前字符串中最后一次出现的下标索引
import java.lang.reflect.Array;
import java.util.Arrays;
public class Demo01 {
public static void main(String[] args) {
String name="hello";//“hello“常量存储在字符串池中
name="更生";//并没有去改变hello的值,而是在字符串池重新开辟了一片空间“更生”,然后name从指向hello变成指向更生
String name2="更生";//这里是共享的
System.out.println(name==name2);//true
//字符串的另一种创建方式
String str=new String("java");//会指向堆里的java对象,事实上两个会合并到一个,所以用这种方式会浪费空间
String str2 = new String("java");
System.out.println(str==str2);//两个地址是不一样的
System.out.println(str.equals(str2));//这时候比的是数据
System.out.println("======================字符串方法的使用1===========================");
//字符串方法的使用
//1.length();返回字符串的长度
//2.charAt(int index):返回某个位置的字符
//3.contains(String str):判断是否包含某个字符串
String content="java 是世界上最好的语言,java真香";//空格也算一个字符
System.out.println(content.length());
System.out.println(content.charAt(0));//打印第一个字符
System.out.println(content.charAt(content.length()-1));//打印最后一个字符
System.out.println(content.charAt(content.length()-2));//打印倒数第二个字符
System.out.println(content.contains("java"));
System.out.println(content.contains("php"));
System.out.println(content.contains("jv"));//被隔开的字符串是无法检测到的
System.out.println(content.contains("j"+"v"));//即使这样写也是不行的
System.out.println("======================字符串方法的使用2===========================");
//字符串的方法使用
//4.toCharArray();返回字符串对应的数组
//5.indexOf();返回子字符串首次出现的位置
//6.lastIndexOf();返回字符串最后一次出现的位置
System.out.println(content);
System.out.println(content.toCharArray());//Q:输出为什么和上面是一样的
System.out.println(Arrays.toString(content.toCharArray()));//打印出来的是数组本身
System.out.println(content.indexOf("java"));//只会找第一个出现的
System.out.println(content.indexOf("java",4));//从第四个字符开始找java,输出是15,因为是从0开始计的
System.out.println(content.lastIndexOf("java"));//找的是最后一个,但还是从0开始计来打印出他的序数
}
}
在打印时序数始终是从0开始计数的