下面程序的运行结果是 public static void main(String[] args) { String str1 = "hello"; String str2 = "he" + new String("llo"); String str3 = "he" + "llo"; System.err.println(str1 == str2); System.err.println(str1 == str3); }
时间: 2023-12-10 12:40:35 浏览: 69
程序的运行结果是:
```
false
true
```
解释如下:
1. `str1` 和 `str2` 的比较结果为 `false`,因为它们是不同的对象。`str1` 是通过字符串常量池创建的字符串对象,而 `str2` 是通过 new 关键字创建的字符串对象,它不在字符串常量池中。虽然 `str2` 的值和 `str1` 相同,但是它们的引用地址不同,所以比较结果为 `false`。
2. `str1` 和 `str3` 的比较结果为 `true`,因为它们都是在字符串常量池中创建的字符串对象,且它们的值相同,所以比较结果为 `true`。
相关问题
下列程序的输出结果是什么? public+class+E+{ +++public+static+void+main+(String+[]args)+++{ ++++++int+x+=+1,y+=
这段程序存在语法错误,无法编译通过。在第6行代码中,变量x和y没有被正确初始化,且赋值操作符+=的使用也不正确。正确的代码应该是:
public class E {
public static void main(String[] args) {
int x = 1;
int y = 2;
System.out.println(x + y);
}
}
这段代码的输出结果是3。
public+class+Test+{ public+static+void+main(String[]+args)+{ int+a+=+0; int+b+=+0; for+(int+i+=
以下是填充代码中的空白的答案:
```java
public class TestOR {
public static void main(String[] args) {
int a=111111;
int b=222222;
//以下代码将a和b值互换
int temp = a;
a = b;
b = temp;
System.out.println("a="+a+" b="+b);
}
}
```
以下是下列程序的输出结果的答案:
```java
public class Test {
public static void main(String[] args) {
int i=0;
for(i=0;i<4;i++) {
if(i==3) break;
System.out.print(i);
}
System.out.println(i);
}
}
```