Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印';法官的执行令_Java_String_Printing - Fatal编程技术网

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()这将首先被调用