java---モジュール二:フロー制御
10414 ワード
一、複合文:ブロック全体を単位として、どのような単独のステートメントでも使えるところを使用できます。複合文は複合文を入れ込むことができます。
eg:主方法では、複合文を定義し、他の複合文ブロックを含む
eg:条件文を使って、二つの変数の大きさを判断します。
(2)switch文は、まず式の値を計算し、式の値があるcaseの後の変数の値と同じであれば、case文の後の文を押してbreak文に出会うまで
(3)定数の値が表式の値と同じでない場合はdefaultの後の文を実行します。default文はオプションです。存在しないなら、switchは何の処理もしません。
(4)case文の後定数表式の値は整数でも良いですが、実数であってはいけません。文字でもいいですが、文字列であってはいけません。
eg:主な方法でswitch文を使って月曜日から水曜日までの英語の単語をプリントアウトします。
(2)ループ実行プロセス:条件式の値が本物である場合、{}の語句を折って実行し、{}の語句を実行し終わったら、条件式の値を再判定し、条件式が戻った結果が偽である場合にループを終了します。
*注意:*while表現の後ろの括弧の後にない';
eg:整数1-10を加算する
(2)ド…while文は末尾に1つのセミコロンが追加されました。’
eg:
(2)forループの実行手順:まず、式1を実行して、ある変数の初期化を完了します。次の判定式2の値は、trueであれば循環体に入ります。循環体を実行した直後に式3を計算します。この部分は通常、循環制御変数を増加または減少させる式です。ループは終了します。第2ラウンドは、計算式2から開始します。trueのためにループを続けます。さもないと全for文が飛び出します。
eg:2-200間の偶数の合計を計算します。
(2)構文:for(要素変数x:遍歴対象obj){java文を引用しました。}
(3)foreach文の要素変数xは、初期化する必要がありません。
eg:1次元配列を定義し、巡回します。
eg:主方法では、複合文を定義し、他の複合文ブロックを含む
public class Compound{
public static void main(String[] args){
int x=20;
{
int y=40;
System.out.println(y);
int z=67;
boolean b;
{
b=(y>z);
System.out.println(b);
}
}
}
}
二、条件文1、(1)if条件文注意:キーワードifの後に条件としての表現が返される結果は、ブール値でなければなりません。eg:条件文を使って、二つの変数の大きさを判断します。
public class Getif{
public static void main(String[] args){
int x=90;
int y=98;
if(x>y)
{
System.out.println("x y");
}
if(x<=y)
{
System.out.println("y x");
}
}
}
(*2)if...else文*ある条件に対して選択されたegを処理します。public class Getifelse{
public static void main(String[] args){
int math=98;
int english=59;
if(math>=60)
{
System.out.println(" ");
}
else{
System.out.println(" ");
}
if(english>=60)
{
System.out.println(" ");
}
else{
System.out.println(" ");
}
}
}
(3)if...elseif多分岐文は、ある事物の様々な状況に対してegを処理する:public class Getterm{
public static void main(String[] args){
int x=20;
if(x>30)
{
System.out.println("a 30");
}
else if(x>10)
{
System.out.println("a 10, 30");
}
else if(x>0)
{
System.out.println("a 0, 10");
}
else{
System.out.println("a 0");
}
}
}
2、switchマルチ分岐文の説明:(1)switch文の表現値は、整数または文字型でなければならず、case 1-case n、定数1-nも整数または文字型でなければなりません。(2)switch文は、まず式の値を計算し、式の値があるcaseの後の変数の値と同じであれば、case文の後の文を押してbreak文に出会うまで
(3)定数の値が表式の値と同じでない場合はdefaultの後の文を実行します。default文はオプションです。存在しないなら、switchは何の処理もしません。
(4)case文の後定数表式の値は整数でも良いですが、実数であってはいけません。文字でもいいですが、文字列であってはいけません。
eg:主な方法でswitch文を使って月曜日から水曜日までの英語の単語をプリントアウトします。
public class GetSwitch{
public static void main(String[] args){
int week=3;
switch(week){
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Sorry!I don't know");
}
}
}
三、循環文1**、while循環文*説明:(1)while文は条件判定文とも呼ばれ、条件を利用してこの文を繰り返し実行するかどうかを制御する循環方式です。(2)ループ実行プロセス:条件式の値が本物である場合、{}の語句を折って実行し、{}の語句を実行し終わったら、条件式の値を再判定し、条件式が戻った結果が偽である場合にループを終了します。
*注意:*while表現の後ろの括弧の後にない';
eg:整数1-10を加算する
public class GetSum{
public static void main(String[] args){
int x=1;
int sum=0;
while(x<=10)
{
sum=sum+x;
x++;
}
System.out.println("sum="+sum);
}
}
2、do…while循環説明:(1)do…while循環はwhile循環文と似ていますが、それらの違いはwhile文が条件が実行体に成立しているかどうかを判断し、do…while循環文は一度循環してから条件が成立しているかを判断します。つまりdo…while循環文の中の大括弧の中のプログラムは少なくとも一回実行されます。(2)ド…while文は末尾に1つのセミコロンが追加されました。’
eg:
public class java2{
public static void main(String[] args){
int a=100;
while(a==60){
System.out.println("ok1");
a--;
}
int b=100;
do{
System.out.println("ok2");
b--;
}while(b==60);
}
}
3、for循環語句の説明:(1)for(式1;式2;式3){語句配列}(2)forループの実行手順:まず、式1を実行して、ある変数の初期化を完了します。次の判定式2の値は、trueであれば循環体に入ります。循環体を実行した直後に式3を計算します。この部分は通常、循環制御変数を増加または減少させる式です。ループは終了します。第2ラウンドは、計算式2から開始します。trueのためにループを続けます。さもないと全for文が飛び出します。
eg:2-200間の偶数の合計を計算します。
public class java2{
public static void main(String[] args){
int sum=0;
for(int i=2;i<=200;i+=2)
{
sum=sum+i;
}
System.out.println("2-200 :"+sum);
}
}
4、foreach文の説明:(1)応用:行列との遍歴が一般的に使われています。(2)構文:for(要素変数x:遍歴対象obj){java文を引用しました。}
(3)foreach文の要素変数xは、初期化する必要がありません。
eg:1次元配列を定義し、巡回します。
public class java2{
public static void main(String[] args){
int arr[]={7,10,1};
System.out.println(" :");
for(int x:arr){
System.out.println(x);//foreach ,int x ,arr , x
}
}
}