String s1=new String("This is a string");s1.indexOf('i')s1.indexOf('i',7) s1.indexOf("is")s1.indexOf("is",5)s1.lastIndexOf("is") 都是什么意思
时间: 2024-03-31 19:36:59 浏览: 34
这些都是 String 类中的字符串查找方法,其具体含义如下:
1. s1.indexOf('i'):查找字符 'i' 在字符串 s1 中第一次出现的位置,返回值为 2;
2. s1.indexOf('i',7):从下标为 7 的位置开始查找字符 'i' 在字符串 s1 中第一次出现的位置,返回值为 12;
3. s1.indexOf("is"):查找字符串 "is" 在字符串 s1 中第一次出现的位置,返回值为 2;
4. s1.indexOf("is",5):从下标为 5 的位置开始查找字符串 "is" 在字符串 s1 中第一次出现的位置,返回值为 5;
5. s1.lastIndexOf("is"):查找字符串 "is" 在字符串 s1 中最后一次出现的位置,返回值为 5。
需要注意的是,如果查找的字符串或字符在原字符串中不存在,则这些方法都会返回 -1。另外,indexOf() 和 lastIndexOf() 方法都有一个重载版本,可以指定起始查找位置和结束查找位置。
相关问题
String s1 = "Lisi is Chinese"; if (s1.indexOf("is")==1){ String s2 = s1.replace("Lisi", "Zhangsan"); System.out.print(s1 + " "); System.out.println(s2); }else{ String s3 = s1.replace("Chinese", "American" A、Zhangsan is Chinese Zhangsan is Chinese B、Lisi is Chinese Zhangsan is Chinese C、Lisi is American D、Lisi is Chinese Lisi is Chinese
根据代码的逻辑,if语句中的条件判断为s1.indexOf("is")==1,而字符串s1中"Chinese"前面的字符是空格,因此"is"的索引是2,不等于1,所以if语句的条件判断为假,程序将执行else语句中的代码,即执行以下语句:
```String s3 = s1.replace("Chinese", "American");```
此时,s3被赋值为"Lisi is American",因为字符串s1不变,所以执行以下语句:
```System.out.print(s1 + " ");```
输出"Lisi is Chinese ",最后执行以下语句:
```System.out.println(s3);```
输出"Lisi is American",因此程序的输出结果是选项C、Lisi is American。
package five; public class five { public static void main( String [] args ) { String s1 = " 1234567890QWERTYUIOPqwertyuiop~!@#~$%^^&~我们永远热爱和平 "; System.out.println("s1 = " + s1); int s1_len = s1.length(); System.out.println( s1_len ); String s2 = s1.substring( 10, 20 ); System.out.println( s2 ); char c = s1.charAt( 10 ); System.out.println( c ); String s3 = s1.concat("世界!"); System.out.println( s3 ); String s4 = s1; boolean b1 = s3 == s4; System.out.println( b1 ); int index = s1.indexOf('3'); System.out.println( index ); s1 = s1.trim(); s1.toUpperCase(); System.out.println( s1 ); char cc[] = s1.toCharArray(); System.out.println( java.util.Arrays.toString(cc) ); } }
这是一个Java类,名为five。它包含一个main方法,用于测试一些字符串操作。在main方法中,定义了一个字符串s1,然后对其进行了多种操作:
1. 使用length()方法获取字符串长度,并将其输出。
2. 使用substring()方法从s1中获取子字符串,然后将其输出。
3. 使用charAt()方法获取s1中指定位置的字符,并将其输出。
4. 使用concat()方法将字符串s1和"世界!"拼接起来,并将拼接后的结果输出。
5. 将s1赋值给s4,然后使用"=="运算符比较s3和s4是否相等,并将比较结果输出。
6. 使用indexOf()方法查找字符'3'在s1中第一次出现的位置,并将其输出。
7. 使用trim()方法去除s1首尾的空格,然后使用toUpperCase()方法将其转换为大写字母,并将结果输出。
8. 使用toCharArray()方法将s1转换为字符数组,然后使用Arrays.toString()方法将字符数组转换为字符串,并将其输出。
需要注意的是,虽然使用了trim()和toUpperCase()方法,但是s1本身并没有被修改,因为在Java中String是不可变的。
阅读全文