2017-01-01 13 views
-4

コードを実行したところ成功しました。目的は、次のプログラム断片の右側の空白に、マークされたステートメントの番号を1から6に付けて、それらが実行される論理的順序を示すことでした。私は印を付けられたステートメントに番号を付ける方法を混乱させる。コードと出力は以下の通りです。AP第2章ワークシート1の方法

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

答えて

2

どのステートメントにマークを付けるのかわかりませんが、ここではどのようにステートメントを実行するのか分かります。

プログラマになるための不可欠なスキルの1つは、問題をより小さな問題に分解することです。あなたはプログラムを与えられており、より大きな画像にどのように収まるかを見るためには、各コード行を分解する必要があります。

コードが必ずしも「線形」な形で実行されるとは限りません。 doThis()またはalsoDo()のようなメソッドを呼び出すと、メソッド内のコードが実行されます。 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メソッドが実行されると、プログラムは 'Number'を出力します。次に、整数型変数を1に初期化し、浮動型変数を2.5に初期化します。メインクラスであるタイプProblem1のオブジェクトを登録します。

これらのステートメントの実行は、プログラムが行ごとに進行するので、かなり簡単です。次の行は興味深いところです。

のメソッドは、number1number2で呼び出されます。次の行に進む代わりに、プログラムはdoThis()メソッドに「ジャンプ」します。これは、次を実行します。

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

この方法は、2つのパラメータ、1 intと1 floatをとります。これらの2つのパラメータと3の合計を出力します。

このメソッドが正常に実行されたら、mainメソッドの次の行に移動します。 object1.alsoDo(number1, number2);

これまでと同じように、クラス内で後で定義される新しいメソッドを実行します。私たちはalsoDo()に「ジャンプ」します。

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

この方法は、doThis()と同じパラメータですが、わずかに異なる機能です。 2つのパラメータの合計を出力します。

ここで、メインメソッドの最後の行に移動できます。 System.out.println(number1+" " + number2);

これは、2つの数字をスペースで区切って印刷するだけです。

私が最初に言ったように、コードは線形には実行されません。 mainメソッドのprintメソッドは、他の2つよりも前の行番号にありますが、最後に実行されます。

+0

ニースは、Javaがどのようにコード行を読むのか興味深いです。この情報は貴重です、ありがとうございます。 –

+0

ワークシートの場合、私はこの順序でマークされたステートメントの番号を1、5、3、6、4,2としました。 –

-1

wtih公共ボイドを開始線はProblem1クラスのメソッドです。自動的に呼び出されるのはmain()だけです。 「java Problem1」を実行すると、JVMはmain()メソッドを起動し、main()メソッドが終了するまで上から下に実行されます。

Geanyなどの優れたテキストエディタやIDEだけでは、どのブラケットセットが一致するかを確認できます。

+0

Geanyとは何ですか?私がJavaを使い慣れて以来、多くの助けをしてくれてありがとう、ありがとう。 –

+0

Geanyは、クロスプラットフォームなテキストエディタ/軽量IDEです。メモ帳++や他のプログラマー指向のテキストエディターでも、同じまたは類似の機能を提供する必要があります。 – ivanivan

+0

ニース、私はGeanyに関するさらなる研究を行い、それがどのように機能するかを見ていきます。私が使用するJava ComplierはBrowboxです。 –

0

これらのうちどれにマークされていますか?質問はあなたがページに書いて、それらが実行される順序で行の番号を付けたいと思うことがAP質問であると思われます。

通常、コードは上から下

1 
2 
3 

というように、しかし、あなたはあなたのmainメソッド内の関数を呼び出す場合は、このような何かを得るでしょう:あなたはちょうどそれらをマークすることが可能であろう質問はあなたを望んでいる

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 
} 

を上記のコード行が実行される順序を特定します。

関連する問題