【序文】
プロセス制御ステートメント:
プログラムの実行中、各ステートメントの実行命令は、プログラムの結果に直接的な影響を与えます。言い換えれば、プログラムのプロセスは、操作結果に直接的な影響を及ぼします。したがって、各ステートメントの実行プロセスについて明確にする必要があります。さらに、多くの場合、ステートメントの実行順序を制御することにより、完了する機能を実装する必要があります。
プロセス制御ステートメント分類:
シーケンシャル構造の選択構造:IFステートメント、スイッチステートメントループ構造:声明
1。シーケンス構造:
これは、特定の構文構造なしで、プログラム内で最も単純で最も基本的なプロセス制御であり、コードの順序に従って順番に実行されます。プログラムのコードのほとんどは、この方法で実行されます。
一般的に:正面に書いて最初に実行し、後ろに書き、後で実行します
シーケンス構造図:
2。構造を選択します。
選択構造:分岐構造とも呼ばれます。選択構造には特定の構文ルールがあります。コードは、判断のために特定の論理操作を実行する必要があります。論理操作には2つの結果があるため、選択が生成され、さまざまな選択に従って異なるコードが実行されます。
Java言語は、2つの選択構造ステートメントを提供します。
IFステートメント
スイッチステートメント
3.構造を選択するステートメントの場合:
IFステートメントには3つの形式があります。以下で詳しく説明しましょう。
1。IFステートメントの最初の形式:(判断に適しています)
コードコードを次のようにコピーします。if(lerational expression){statement body;}
実行プロセス:
最初に、関係式が真か偽かを判断します。それが真である場合、ステートメント本体を実行します。それが間違っている場合、ステートメント本文を実行しないでください
対応するフローチャートは次のとおりです。
注:
A:リレーショナル式は、単純であろうと複雑であろうと、ブール型でなければなりません。
B:IFステートメントによって制御されたステートメント本体が文である場合、ブレースは省略できます。複数のステートメントの場合、省略できません。省略しないことをお勧めします。
C:一般的に言えば、左ブレースがある場合、セミコロンはありません。セミコロンがある場合、左ブレースはありません。
A:ifの特別なケース(a == b && a == c){…}:
if(a == b){}は(a = b){}のように書かれています
ITタイプの場合、エラーが報告されます。この時点で、それはBをAに割り当ててAを裁判官にすることを意味します。AはタイプINTであるため、エラーが報告されます。
しかし、AとBが両方ともブール型の場合、問題はありません。
2。IFステートメントの2番目の形式:( 2つの判断に適しています)
if(リレーショナル式){ステートメントボディ1;} else {ステートメントボディ2;}実行プロセス:
最初に、関係式が真か偽かを判断します。 falseの場合は、ステートメントボディを実行します2
対応するフローチャートは次のとおりです。
以前に、三元演算子について説明しました。比較に基づいて判断した後、結果が示されます。したがって、この状況は、IFステートメントの2番目の形式に非常に似ています。場合によっては、彼らはお互いを変換できるはずです。
IFステートメントの2番目の形式と三元演算子:
IFステートメントを使用して、3成分演算子のすべての操作を改善できます。それ以外の場合は無効です。
いつ機能しませんか? IFステートメントによって制御されたステートメント本体が出力ステートメントである場合、機能しません。三元オペレーターはオペレーターであるため、結果を返す必要があります。ただし、結果として出力ステートメントを返すことはできません。
3。IFステートメントの3番目の形式:(複数の判断に適しています)
IFステートメントの3番目の形式:if(リレーショナル式1){ステートメントボディ1; } else if(リレーショナル式2){ステートメントボディ2; } ... ... else {ステートメントボディn+1; }実行プロセス:
最初に、関係式1を決定して、結果が真か誤りかを確認します
本当なら、ステートメント本文を実行します1
それが虚偽の場合、結果が真か虚偽かどうかを確認するために、関係式2を判断し続けます
本当なら、ステートメントボディを実行します2
それが虚偽の場合は、関係の表現を判断し続けてください...結果が真か虚偽かどうかを確認します
…
リレーショナル式が真でない場合、ステートメント本体n+1が実行されます。
対応するフローチャートは次のとおりです。
ステートメント機関の1つだけが実行されることに注意する必要があります。
例:IFステートメントのネストを使用して、3つのデータの最大値を取得します。コードは次のとおりです。
// IFステートメントでint max1を実装します。 if(a> b){max1 = a; } else {max1 = b; } system.out.println( "max1:"+max1);3。構造を選択するためのスイッチステートメント:
スイッチステートメント形式:
switch(expression){ケース値1:ステートメント本文1;壊す;ケース値2:ステートメントボディ2;壊す; ... ...デフォルト:ステートメントボディn+1;壊す;}説明する:
スイッチは、これがスイッチステートメントであることを意味します
式の値:Byte、Short、Int、Char(JDK5の後に列挙でき、JDK7の後に文字列にすることができます)(この文はインタビューの質問かもしれません)
ケースの後に、式と比較される値が続きます
ステートメント本体の部分は、1つ以上のステートメントにすることができます
ブレークは割り込み、終了、およびスイッチステートメントを終了することを意味します
デフォルトステートメントは、すべての状況が一致しない場合、内容が実行され、IFステートメントのELSEに似ていることを示しています。
実行プロセス:
最初に式の値を計算します。
第二に、順番のケースと比較します。対応する値があると、対応するステートメントが実行されます。実行プロセス中、休憩に遭遇すると終了します。
最後に、すべてのケースが式の値と一致しない場合、デフォルトステートメント本体の部分が実行され、プログラムが終了します。
フローチャート:
注:
(1)ケースは一定であり、変数ではなく、複数のケースの後の値は同じように見えないことができます
(2)デフォルトは省略できますか?
省略できます。一般的に推奨されません。審査された値が固定されていない限り(つまり、すべての可能なケースが既にケースにリストされています)
(3)休憩を省略できますか?
一般的には推奨されませんが、省略できます。それ以外の場合、結果はあなたが望むものではない場合があり、現象が発生します:ケースの浸透。
(4)デフォルトの位置は最後になければなりませんか?
Switchステートメントのどこにでも表示できます。
(5)スイッチステートメントの終了条件:
状況A:デフォルトに遭遇するときではなく、ブレークに遭遇するときに終了します。
状況B:プログラムの終わりに実行が終了します
2。ifおよびswitchで使用されるシナリオ:
判断を下すとき、IFステートメントとスイッチステートメントの2つの選択肢があります。では、どのステートメントを使用するかをどのように選択する必要がありますか?
ステートメントの使用シナリオの場合:
結果がブールタイプであることについての判断
範囲の判断
いくつかの一定の値の判断
スイッチステートメントを使用するためのシナリオ:
いくつかの一定の値の判断
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。