1. 阅读以下程序,写出程序运行结果。 public class Test { public static void main(String[] args) { String str1 = "百年追梦"; String str2 = "百年追梦"; String str3 = new String("百年追梦"); String str4 = new String("百年追梦"); String str5 = "胸怀千秋伟业,恰是百年风华!"; System.out.println(str1 == str2); System.out.println(str3 == str4); System.out.println(str3.equals(str4)); System.out.println(str5.length()); System.out.println(str5.substring(9,13)); System.out.println(str5.indexOf("伟业")); } }
时间: 2024-01-18 22:04:06 浏览: 71
哈工程-阅读程序写结果试题
程序运行结果如下:
```
true
false
true
13
伟业
6
```
解释如下:
1. `str1`和`str2`都是直接赋值的字符串常量,它们的值相同,都指向字符串常量池中的同一个对象,因此`str1 == str2`的结果为`true`。
2. `str3`和`str4`都是通过`new`关键字创建的字符串对象,它们的值相同,但是它们指向堆内存中的不同对象,因此`str3 == str4`的结果为`false`。
3. `str3.equals(str4)`比较的是字符串对象的值是否相同,因此结果为`true`。
4. `str5.length()`返回字符串长度,结果为`13`。
5. `str5.substring(9,13)`返回字符串中索引为9到12的子串,结果为`伟业`。
6. `str5.indexOf("伟业")`返回第一次出现`"伟业"`的位置,结果为`6`。
阅读全文