Java 打印';法官的执行令
这个程序给出输出-Java 打印';法官的执行令,java,string,printing,Java,String,Printing,这个程序给出输出- A 1 2 它不应该输出吗- 1 A 2 因为首先a.i应该打印1,然后a.getI()执行并应该打印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
A 1 2
它不应该输出吗-
1 A 2
因为首先a.i应该打印1,然后a.getI()执行并应该打印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());
}
}
在此表达式中:
a.i+" "+a.getI()
首先计算对
a.getI()
的调用,然后通过连接a.i
和a.getI()
来形成字符串JVM要做的第一件事就是构造字符串。从这里开始:
a.i + " "
这是第一步。现在,我们有了“1”
。接下来,它处理这个问题:
"1 " + a.getI()
要缝合这两部分,将执行该方法以了解要缝合的内容。
因此,现在输入metod:
System.out.print("A ");
return i+1;
执行第一个print语句<代码>“A”被打印到控制台(1)。现在,该方法返回i+1
,即2
。
这意味着我们有:
"1 " + "2"
这是“12”
。此时字符串构建完成,因此它被传递到println()
。
现在“12”
被打印到控制台。(2)
如您所见,首先执行(1),然后执行(2)。因此,在控制台中,这将导致:
A 1 2
不。a、 getI()这将首先被调用