Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

This program gives output -

A 1 2

Shouldn't it give output -

1 A 2

since first a.i should print 1 and then a.getI() executes and should print A 2

public class A1{

     int i=1;

     public int getI(){
          System.out.print("A ");
          return i+1;
     }

     public static void main(String args[]){
          A1 a=new A1();
          System.out.print(a.i+" "+a.getI());
     }
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
181 views
Welcome To Ask or Share your Answers For Others

1 Answer

In this expression:

a.i+" "+a.getI()

The call to a.getI() gets evaluated first, and afterwards the string is formed by concatenating a.i plus a.getI()


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...