public class ForTest{
public static void main(String[] args)
{
String s;
for(s="ha"; s!="haha"; s=s+"ha"){
System.out.println(s);
}
}
}
在我看来,这段代码应该只打印“ha”, 因为在一个循环之后,s =“ha”将成为s =“haha”然后它将停止循环。 但是,它不会停止并显示无限循环。
你能帮助我知道它是什么原因吗?
答案 0 :(得分:1)
我宁愿像这样使用它:
public class ForTest{
public static void main(String[] args)
{
String s;
for(s="ha"; !s.equals("haha"); s=s+"ha"){
System.out.println(s);
}
}
}
答案 1 :(得分:0)
好吧,只需将ha
+ ha
添加到==
haha
即可。像这样使用它:
for (s = "ha"; (!s.equals("haha")); s = s + "ha") {
System.out.println(s);
}
==
比较2个引用是否指向同一个对象。 equals()
检查2个引用是否指向相同值的对象。
答案 2 :(得分:0)
如果您有需要,可以这样做。
public class ForTest{
public static void main(String[] args)
{
String s;
for(s="ha"; !s.equals("haha"); s=s+"ha"){
System.out.println(s);
}
}
}