Javaは条件文と循環構造を使用して制御フローを決定する(例)


任意のプログラム設計言語と同様に、Javaは条件文と循環構造を用いて制御フローを決定する。ここでは条件、循環、スイッチについて簡単に説明します。
一、ブロックスコープ
ブロック(block)、すなわち複合文です。大きい括弧のペアで囲まれたいくつかの簡単なJava文です。ブロックは変数のスコープを決定します。
たとえば:

public class Code {
static
{
  System.out.println("1");
}
{
  System.out.println("2");
}
public Code()
{
  System.err.println("3");
}
public static void main(String[]args)
{
  new Code();
}
}
注意:入れ子の二つのブロックに同名の変数を宣言してはいけません。
二、条件文
フォーマット1:

if(condition)

{

statement1

statement2

........

}
たとえば:

 if(youSales>=target)
 {
  performance="Satisfactory";
  bonus=1000;
 }
フォーマット2:
if statement 1 else statement 2
たとえば:

if(youSales>=target)
{
 performance=“Satisfactory”;
 bonus=100+10*(youSales-target“);
 }
else
{
 performance=”Unstatisfactory“;
 bonus=0;
}
サイクル
条件がtrueの場合、whileはループ実行します。
フォーマット1:
while(condition)statemnet
たとえば:

while (balance<goal)
{
balance+=payment;
double interest=balance*interestRate/100;
balance+=interest;
years++;
}
フォーマット2:
do statement while;

do
  {
    balance+=payment;
    double interest=balance*interestRate/100;
    balance+=interest;
    
    year++;
    
    System.out.printf("After year %d,your balance is %,.2f%,year,balance");
    
    System.out.print("Ready to retire?(Y/N)");
    input=in.next();
  }
  while(input.equals("N"));

  }
四、循環を確定する
forループステートメントは、反復をサポートする汎用構造であり、反復の後に更新されるカウンタまたは同様の変数を利用して反復の回数を制御する。
フォーマットは以下の通りです。
for(int i=0;iSystem.out.println(i);
例4:

public class ShuZu1 {
  public static void main(String[]args){
    int [][] x={{1,2,2,2,2},{3,3,3,3,3},{4,5,-1,17,55}};
    int result=qiuHe(x);
    System.out.println("  "+result);
    }
  public static int qiuHe(int[][]x){
    int s=0;
    for(int i=0;i<x.length;i++)
    {
      for(int j=0;j<x[i].length;j++)
      {
        s+=x[i][j];
        }
      }
    return s;
  }
}

public class ShuZu2 {
  public static void main(String[]args){
    int [][] x=new int[7][7];
    //      ,       ,       
    suiJi(x);
    System.out.println("      :");
    
    //      ,       
    showArray(x);
    
    //  
    float result=getAvg(x);
    System.out.println("    "+result);
    
  }
  static float getAvg(int [][] x){
    float s=0;
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
        s+=x[i][j];
      }
    }
    return s/(x.length*x[0].length);
  }
  static void suiJi (int[][]x){      //      。     int ,    。    。
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
      x[i][j]=(int)(Math.random()*10);
      }
    }
  }
  static void showArray(int[][]x){    //      。     int ,    。    。
    for(int i=0;i<x.length;i++){
      for(int j=0;j<x[i].length;j++){
        System.out.print(x[i][j]+"\t");//      
      }
      System.out.println();//    
    }
  }
}

import java.util.Arrays;
public class SuZu3{
  public static void main(String[] args) {
    int [] x={2,-1,7,777,6,764,85896,65554,0,874785,417825,74};  
    sort(x,'n');
    for(int i=0;i<x.length;i++){
      System.out.print(x[i]+"\t");
      }
    }
  //          
  //  API    
  static void sort(int[]x,char Flag){
    if('A'==Flag){
      Arrays.sort(x);
      }
    else {
      for(int i=0;i<x.length-1;i++){
        for(int j=0;j<x.length-1-i;j++){
          int temp=0;
          if(x[j]<x[j+1]){
            temp=x[j];
            x[j]=x[j+1];
            x[j+1]=temp;
            }
          }
        }
      }
    }
  }

import java.util.Scanner;

public class Suzu4 {
  public static void main(String[] args) {
    System.out.println("   ");//         Scanner scan = new Scanner(System.in);         。
    Scanner scan = new Scanner(System.in);
    //System.out.println("   ");    Scanner scan = new Scanner(System.in);   
    String str = scan.nextLine();// nextLine      
    
    char[] s = str.toCharArray();//              
    scan.close();
    int letterCount = 0;
    int numberCount = 0;
    int spaceCount = 0;
    int otherCount = 0;
    for (int i = 0; i < s.length; i++) {
      if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') {
        letterCount++;
      } else if (s[i] >= '1' && s[i] <= '9') {
        numberCount++;
      } else if (s[i] == ' ') {
        spaceCount++;
      } else {
        otherCount++;
      }
    }
    System.out.println("   " + letterCount + " ");
    System.out.println("   " + numberCount + " ");
    System.out.println("   " + spaceCount + " ");
    System.out.println("   " + otherCount + " ");
  }
}//ctrl+shift+f       
//ctrl+shift+o    
五、複数選択:switch文
フォーマットは以下の通りです。

switch(choice)

{

case 1:

........

break;

case 2:

.......

break;

.........

//      case( break    )

default:

.......

break;

}
注意:
caseタグは、次のようにすることができます。
*タイプはchar、byte、shotまたはintの定数表現です。
*列挙の定数
*Java SE 7からcaseラベルは文字列の字面量であっても良いです。
以上のJavaは条件文と循環構造を使用して、コントロールフロー(例)を確定しました。つまり、小編集は皆さんに全部の内容を共有しました。