Java &引用;给出将在Eclipse控制台窗口中看到的输出;(需要解释)
答案只对1和2有意义,在3时我会感到困惑。3和2不应该是一样的吗?因为它们一个接一个地打印,中间什么也没有发生?5和4不应该是一样的吗?我也有点困惑,我写的答案如下(星号表示不正确的答案)Java &引用;给出将在Eclipse控制台窗口中看到的输出;(需要解释),java,swing,applet,Java,Swing,Applet,答案只对1和2有意义,在3时我会感到困惑。3和2不应该是一样的吗?因为它们一个接一个地打印,中间什么也没有发生?5和4不应该是一样的吗?我也有点困惑,我写的答案如下(星号表示不正确的答案) init是一种覆盖从JApplet开发的所有内容的方法。在if的作用域上发生的只是一个覆盖。当您在init上初始化现有变量时,java会将其作为作用域上具有相同名称的新变量接受。2和3不同的原因是#2中的“y”基于语句int y=x+3仅存在于其if语句的范围内。第3行基于语句y=y-5但它不在if语句的范围
init
是一种覆盖从JApplet
开发的所有内容的方法。在if的作用域上发生的只是一个覆盖。当您在init上初始化现有变量时,java会将其作为作用域上具有相同名称的新变量接受。2和3不同的原因是#2中的“y”基于语句int y=x+3
仅存在于其if
语句的范围内。第3行基于语句y=y-5
但它不在if语句的范围内,因为它是在if语句开始之前声明的(代码行5)
5和4之间的区别是相似的,不同的范围#5使用protext(x)
方法中声明的x
,这是在#4中使用的不同x
。3:int y(上次使用)为53。这没有覆盖y,y仍然设置为95。println使用了“int”值,但下次调用y时,默认值为(非int数值)95,程序仍将其保存为y
对于#4和#5:您是否打算将问题列为1,2,3,4,5?两次都有5和4向后,所以我将按照我看到的顺序(1,2,3,5,4)引用它们
最有意义的做法是最后做5次,尽管我没有列出
5:x是使用int=20设置的,因此这次x的读数将为20,y=y+1将y推到96(并在那里停留4),z=10,因为它被放在那里
4:记住,#3的x=50,y=95,z=Q。注意,proc()在4之前运行。使用proc(intz)将“Q”值从z中的#3保持一次。因为调用了proc(),所以y+1值计算一次等于96。最后z=10,因为(intz)调用只将z的内容保持在值Q上一次,所以z的实际值至少是“int”20一次。这是由于int重载了以前的值。值get在使用后弹出
import java.awt.*;
import javax.swing.*;
public class S17Exam2Q5 extends JApplet {
int x = 5, y = 100, z = 15;
public void init( {
int x = z;
char z = 'X';
x = x - 3;
System.out.println("1: x, y, and z are "+x+" "+y+" "+z);
if (x <= y) {
x = 50;
y = y - 5;
int y = x + 3;
z = 'Q';
System.out.println("2: x, y, and z are "+x+" "+y+" "+z);
}
System.out.println("3: x, y, and z are "+x+" "+y+" "+z);
procExt(int z);
System.out.println("4: x, y, and z are "+x+" "+y+" "+z);
}
public void procExt(x) {
z = 10;
int x = 20;
y = y + 1;
System.out.println("5: x, y, and z are "+x+" "+y+" "+z);
}
}
1: x, y, and z are 12, 100, X
2: x, y, and z are 50, 53, Q
3: x, y, and z are 50, 95, Q
5: x, y, and z are 20, 96, 10
4: x, y, and z are 50, 96, Q
1: x, y, and z are 12, 100, X
2: x, y, and z are 50, 53, Q
3: x, y, and z are 50, *53*, Q
5: x, y, and z are 20, *54*, 10
4: x, y, and z are *20*, *54*, *10*