java下列代码的执行结果是

下列代码的执行结果是:
public class Test5{
public class Test5{
public static void main(String args[]){
String s1=new String("hello");
String s2=new String("hello");
System.out.print(s1==s2);
System.out.print(",");
System.out.println(s1.equals(s2));
} }

第1个回答  2009-06-06
false,true
第一个为false是因为”==“比较的是两个应用,他们在内存中的地址不一样,所以为false
第二个为true 是因为String类里重写了equals方法,只要两个对象的内容一样,就返回true
第2个回答  2009-06-06
false,true
解释
==是比较两个对象的内存地址
因为是new了两个对象所以内存地址是不一样的
equals是比较两个对象的内容
都是hello所以是一样的
第3个回答  2019-01-14
结果是:10570
for(int
i=0;i<10;i++){
//循环到这里的时候
i
有执行了一次++

if(++i%3==0){
//
i
先执行了++,然后再进行判断;
system.out.print(0);
}else
{
system.out.print(i);
}
}
程序开始的时候
i
=
0,进入if语句
i
=
1
输出1
第二次循环,执行for里面的i++,
i
=
2,然后执行if里面的
i++,
i
=
3;输出0以此到程序结尾。
第4个回答  2009-06-06
嗯,原代码有问题,答案是false ,true,==比较的是两个String对象的hashcode,它们是不相等的,equals比较的是String字符串的内容,在你的程序中它们是相等的,呵呵
第5个回答  2009-06-07
是不是应该直接报个错啊~
既然是java 语言,两个字符串之间能用双等号“==”??

再说了,看看最上面两行~
public class Test5{
public class Test5{

这样用是代表需要使用构造函数么?就算使用构造函数,起码大括号需要配上对吧?

路过~拙见~