JavaSEの基本構文(以下)、あなたはそれを理解していますか?

序文

このブロガーはCSDNを使用して、ソフトウェア開発と学習の過程で得られ、学んだ経験と知識を記録します。興味のある友人はブロガーをフォローできます。
たぶん一人で歩いている人は非常に速く行くことができますが、一緒に歩いている人々のグループはさらに進むことができます!成長の道でお互いから学びましょう、注目してください!


フォローしてプライベートメッセージブロガー、あなたはJDK1.8中国語版を手に入れることができます!


1.プログラムフロー制御

1。概要

フロー制御ステートメントは、プログラム内の各ステートメントの実行順序を制御するために使用されるステートメントです。ステートメントは、特定の機能を完了することができる小さなロジックモジュールに組み合わせることができます。

2.分類

そのプロセス制御方法は、構造化プログラミングで指定された3つの基本的なプロセス構造を採用しています。

  1. シーケンス構造
    プログラムは、判断や途中でジャンプすることなく、上から下に1行ずつ実行されます。

  2. 分岐構造
    条件に基づいてコードのセクションを選択的に実行します。2つのブランチステートメント
    があります。if…elseswitch-case

  3. ループ構造
    は、ループ条件に従って特定のコードを繰り返し実行します。ループステートメントには、、、、およびの3種類
    があります。whiledo…whilefor

注:JDK1.5にはforeach、コレクション要素と配列要素を簡単にトラバースするためのループが用意されています。

2.シーケンシャル構造

Javaでメンバー変数を定義するときに、有効な前方参照が使用されます。そのような:

public class Test{
     
     
  int num1 = 12;
  int num2 = num1 + 2;
}
//错误形式:
public class Test{
     
     
  int num2 = num1 + 2int num1 = 12;
}

ここに画像の説明を挿入

3.ブランチ構造

1.if-else構造

1.1フォーマット

if文には3つの形式があります。

1.
if(条件表达式){
     
     
  执行代码块;
}

ここに画像の説明を挿入

2. 
if(条件表达式){
     
     
  执行代码块1;
}else{
     
     
  执行代码块2;
}

ここに画像の説明を挿入

3. 
if(条件表达式1){
     
     
  执行代码块1;
}
else if (条件表达式2){
     
     
  执行代码块2;
}
……
else{
     
     
  执行代码块n;
}

ここに画像の説明を挿入

1.2使用説明書

⭕条件式はブール式(関係式または論理式)、ブール変数である必要があります。

⭕ステートメントブロックに実行ステートメントが1つしかない場合は、{}のペアを省略できますが、そのままにしておくことをお勧めします。

if-elseステートメント構造。必要に応じてネストできます。

if-else構造が「多肢選択式」の場合、最後の構造elseはオプションであり、必要に応じて省略できます。

⭕複数の条件が「相互に排他的」な関係にある場合、条件付き判断ステートメントと実行ステートメントの順序は重要ではありません。複数の条件が「包括的」な関係にある場合、「小さい上位と大きい下位/子上位親下位"。

2.スイッチケース構造

2.1フォーマット

switch(表达式){
     
     
  case 常量1:
    语句1;
// break;
  case 常量2:
    语句2;
// break; … …
  case 常量N:
    语句N;
// break;
  default:
    语句;
// break;
}

ここに画像の説明を挿入

2.2使用説明書

⭕ (式)の式の値は、次のいずれかのタイプあるswitch必要があります:、、、、、byte、。shortcharint枚举 (jdk 5.0String (jdk 7.0)

case句の値は、変数名や不確定な式の値ではなく、定数である必要があります。

⭕同じステートメントのswitchすべての句の定数値caseは互いに異なります。

breakステートメントはcase、分岐の実行後にプログラムをswitchステートメントブロックからジャンプさせるために使用されます。そうでないbreak場合、プログラムは最後まで順番に実行されswitchます。

default句はオプションです。同時に、場所も柔軟です。一致するものがない場合はcase、を実行しdefaultます。

2.3例

例1

public class SwitchTest {
     
     
    public static void main(String args[]) {
     
     
        int i = 1;
        switch (i) {
     
     
          case 0:
            System.out.println("zero");
            break;
          case 1:
            System.out.println("one");
            break;
          default:
            System.out.println("default");
            break; 
        } 
    }
}

例2

String season = "summer";
    switch (season) {
     
     
      case "spring":
        System.out.println("春暖花开");
        break;
      case "summer":
        System.out.println("夏日炎炎");
        break;
      case "autumn":
        System.out.println("秋高气爽");
        break;
      case "winter":
        System.out.println("冬雪皑皑");
        break;
      default:
        System.out.println("季节输入有误");
        break; 
    }

3.switchステートメントとifステートメントの比較

ifステートメントと同様switchに、特定のシナリオでどのステートメントを使用する必要がありますか?

⭕判断の具体的な価値が少なく、byte、short 、char、int、String、枚举いくつかの種類に適合している場合。両方のステートメントを使用できますが、ステートメントをお勧めしswtichます。効率が少し高いからです。
⭕その他の場合:間隔判定の場合、boolean型判定の結果は、を使用するifif、使用範囲が広くなります。つまり、使用されているものは。switch-caseとして書き直すことができますif-else反対は成り立たない。

4.環状構造

1。概要

特定の条件が満たされたときに、特定のコードの機能を繰り返し実行します。

2.分類

⭕cycle⭕cycle⭕cycle ___ for_
_ while_
_do-while

3.構造

(1)初期化部分(init_statement)
(2)ループ条件部分(test_exp)
(3)ループ本体部分(body_statement)
(4)反復部分(alter_statement)
ここに画像の説明を挿入

1.forループ

1.1構文形式

for (①初始化部分; ②循环条件部分; ④迭代部分){
       ③循环体部分;

1.2実行プロセス

①-②-③-④-②-③-④-②-③-④-…-②

1.3説明

⭕②ループ条件部分はブール型の式です。値がfalseの場合、ループは終了します。
⭕①初期化の部分では、複数の変数を宣言できますが、それらはコンマで区切られた同じタイプである必要があります。
⭕④コンマで区切って、複数の変数を更新できます。

ここに画像の説明を挿入

1.4例

public class ForLoop {
     
     
    public static void main(String args[]) {
     
     
      int result = 0;
      for (int i = 1; i <= 100; i++) {
     
     
           result += i; 
      }
     System.out.println("result=" + result);
    } 
}

2.whileループ

2.1構文形式

①初始化部分 while(②循环条件部分){
     ③循环体部分; 
     ④迭代部分;
 }

2.2実行プロセス

①-②-③-④-②-③-④-②-③-④-…-②

2.3説明

⭕④反復部分の宣言を忘れないように注意してください。そうしないと、ループは終了せず、無限ループになります。
⭕forループとwhileループは相互に変換できます。

2.4例

public class WhileLoop {
     
     
  public static void main(String args[]) {
     
     
    int result = 0;
    int i = 1;
    while (i <= 100) {
     
     
      result += i; i++;
    }
    System.out.println("result=" + result);
 } 
}

3.do-whileループ

3.1構文形式

①初始化部分;
do{
     
     
  ③循环体部分
  ④迭代部分
}while(②循环条件部分); 

3.2実行プロセス

①-③-④-②-③-④-②-③-④-…②

3.3説明

do-whileループはループ本体を少なくとも1回実行します。

3.4例

public class DoWhileLoop {
     
     
    public static void main(String args[]) {
     
     
      int result = 0, i = 1;
      do {
     
     
        result += i; i++;
      } while (i <= 100);
      System.out.println("result=" + result);
    } 
}

注:最も単純な「無限」ループ形式:while(true)、、for(;;)無限ループが存在する理由は、ループする回数がわからないため、ループ内の特定の条件に従ってループの終了を制御する必要があるためです。ループ本体。

4.ネストされたループ

⭕ネストされたループは、別のループの本体内にループを配置することによって形成されます。それらの中で、for ,while ,do…while両方とも外部循環または内部循環として使用することができます。
⭕本質的に、ネストされたループは、内側のループを外側のループのループ本体として扱うことです。内側のループのループ条件のみがであるfalse場合、内側のループを完全にジャンプアウトし、外側のループの現在のループを終了して、次のループを開始することができます。
⭕外層のループ数をm回、内層のループ数をn回とすると、実際には内ループ本体をm*n回実行する必要があります。

5.特別なキーワードの使用:中断、続行

5.1休憩

(1)breakステートメントは、ステートメントのブロックの実行を終了するために使用されます

{
     
      ……
break;
……
} 

(2)breakステートメントがマルチレベルのネストされたステートメントブロックに表示される場合、ラベルはステートメントブロックのどのレベルを終了するかを示すことができます。

label1: {
     
      ……
label2:       {
     
      ……
label3:            {
     
      ……
                 break label2;
                    ……
                    } 
               } 
        }

(3)例

public class BreakTest{
     
     
  public static void main(String args[]){
     
     
    for(int i = 0; i<10; i++){
     
      
      if(i==3)
       break;
      System.out.println(" i =" + i);
    }
     System.out.println("Game Over!");
  } 
}

5.2続行

continueはループ構造でのみ使用できます。
continueステートメントは、それが配置されているループステートメントブロックの1回の実行をスキップし、次のループに進むために使用されます。
continueステートメントがマルチレベルのネストされたループ本体に表示される場合、ラベルを使用して、スキップするループのレベルを示すことができます。

5.3休憩与続行

⭕はステートメントとループbreakでのみ使用できます。はループステートメントでのみ使用できます。⭕2つの機能は似ていますが、このループを終了すると、このレイヤーのループが終了します。プログラムはその後のステートメントを実行しないため、その後に他のステートメントはありません。⭕ラベル付きステートメントは、ループの先頭の直後に続く必要があります。ラベル付きステートメントは、非ループステートメントの前に使用することはできません。⭕多くの言語には、プログラム内の任意のステートメントに自由に制御を移して実行するステートメントがあります。ただし、プログラムエラーが発生しやすくなります。合計は異なります。switch
continue
continuebreak
breakcontinue

gotogotoJavabreakcontinuegoto

5.4戻り、中断して続行

return:ループを終了するために特に使用されるわけではなく、その機能はメソッドを終了することです。メソッドがreturnステートメントに到達すると、メソッドは終了します。

との違いは、リターンがいくつのループ層にあるかに関係なくbreakメソッド全体が直接終了することです。continuereturn

おすすめ

転載: blog.csdn.net/weixin_52533007/article/details/123673398