AP第2章工作表1方法

时间:2017-01-01 03:09:25

标签: java

我运行了代码并且成功了。目标是在下面的程序片段右侧的空白处对从1到6的标记语句进行编号,以显示它们的执行顺序。我对如何对标记的语句进行编号感到困惑。代码和输出如下。

import java.lang.Math;

public class Problem1{
    public static void main(String[] args){
        System.out.println("Number");
        int number1 = 1;
        float number2 = 2.5f;
        Problem1 object1 = new Problem1();
        object1.doThis(number1, number2);
        object1.alsoDo(number1, number2);
        System.out.println(number1 + " " + number2);
    }

    public void alsoDo(int value1,float value2){
        System.out.println(value1 + value2);
    }

    public void doThis(int num1, float num2) {
        int num3 = 3;
        System.out.println(num1 + num2 + num3);
    }
}

数 6.5 3.5 1 2.5

3 个答案:

答案 0 :(得分:2)

我不知道哪些陈述应该被标记,但是这里有关于如何做到这一点的细分。

成为程序员的基本技能之一是将问题分解为更小的问题。您已经获得了一个程序,并且您需要细分每行代码以了解它如何适应更大的图景。

您还需要知道代码并不总是在"线性"中执行。时尚。当您调用方法(例如doThis()alsoDo())时,将执行方法内的代码。即使在System.out.println(value1 + value2);之后键入System.out.println(number1+" " + number2);,也会先执行前者。

在您的示例中,我们的主要方法是:

public static void main(String[]args){
    System.out.println("Number");
    int number1= 1;
    float number2= 2.5f;
    Problem1 object1 = new Problem1();
    object1.doThis(number1,number2);
    object1.alsoDo(number1,number2);
    System.out.println(number1+" " + number2);
}

程序始终通过运行main方法开始。执行main方法时,程序会打印“数字”'。然后,它将整数类型变量初始化为1,然后将浮动类型变量初始化为2.5。它创建了一个类型为Problem1的对象,它是主类。

这些语句的执行非常简单,因为程序逐行进行。下一行是有趣的地方。

doThis()number1上调用number2方法。程序"跳过"而不是继续下一行。到doThis()方法。它执行以下操作:

public void doThis(int num1, float num2){
    int num3= 3;
    System.out.println(num1+num2+num3);
}

此方法需要2个参数,一个int和一个float。然后它打印这两个参数和的总和3.

成功执行此方法后,我们可以转到main方法的下一行。 object1.alsoDo(number1, number2);

和以前一样,我们执行一个稍后在类中定义的新方法。我们"跳跃"到alsoDo()

public void alsoDo(int value1,float value2){
    System.out.println(value1 + value2);
}

此方法与doThis()具有相同的参数,但功能略有不同。它打印两个参数的总和。

现在,我们可以转到main方法的最后一行。 System.out.println(number1+" " + number2);

这只打印由空格分隔的两个数字。

就像我在开头所说的那样,代码不会以线性方式执行。即使main方法中的print方法的行号早于其他两行,它也是最后一行。

答案 1 :(得分:0)

哪些陈述被标记?似乎(因为这是一个AP问题),问题是你想要在页面上写下并按照他们将被执行的顺序对行进行编号。

通常,代码只会从上到下执行,因此您只能标记它们:

1
2
3

等等,但是如果你在主方法中调用一个函数,你会得到这样的东西:

public static void main(String args[]){
    some line of code; //Executes first
    some line of code; //Executes second
    function();
    some line of code; //Executes fourth
}
private void function(){
    some line of code; //Executes third
}

这个问题希望您确定上面代码行的运行顺序。

答案 2 :(得分:-1)

以public void开头的行是Problem1类的方法。唯一一个自动调用的是main()。当你运行" java Problem1" JVM启动main()方法,它从上到下运行,直到main()方法结束。

一个好的文本编辑器,如Geany或任何IDE,都可以让你看到哪些支架组相互匹配。