在Java中使用String变量for“for loop”

时间:2014-12-29 09:26:22

标签: java for-loop

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”然后它将停止循环。 但是,它不会停止并显示无限循环。

你能帮助我知道它是什么原因吗?

3 个答案:

答案 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);
          }
     }
}