在平常对两个数进行比较是否相等时我们一般使用==来比较,但在对字符串进行比较时如果使用==进行比较则判断的是两个字符串的地址而不是字符串的内容。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String number = s.next();
String a="sadjas";
if(number==a){
System.out.println("想等");
}else{
System.out.println("不等");
}
}
这里输入的字符串和定义的字符串内容是一样,但是地址不一样所以不管输入的字符串内容是什么都不会相等。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String number = s.next();
String a="sadjas";
if(a.equals(number)){
System.out.println("想等");
}else{
System.out.println("不等");
}
将==换为.equals 则判断的就是字符串里的内容而不是地址了。
2..charAt()方法.charAt()方法的意思是分离出字符串里对应下标的值改为char类型。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String a=scanner.next();
for (int i = 0; i
代码中的a.length为字符串a的长度。
3.substring()方法substring()方法的意思是截取字符串中的一部分。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String number = s.next();
String befor = number.substring(0,3);
String after = number.substring(7);
String result = befor+"****"+after;
System.out.println(result);
substring(0,3)其中 的0和3表示的是其中对应的下标,表示截取的是下标为0,1,2的字符串中的数据。运行结果为:
4..replace()方法
.replace()方法表示替换字符串中不想展示出来的字符。比如对一些敏感词汇的屏蔽。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String number = s.next();
String newStr = number.replace("TMD", "****");
System.out.println(newStr);
}
运行结果为:
游戏中对骂人语句的屏蔽也用的是这种方法。



