1.ループ構造:
Javaには3つの主要なループ構造があります。
- whileループ
- do ... whileループ
- forループ
1.whileループ
public class Test {
public static void main(String args[]) {
int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
2. do ... whileループ
public class Test {
public static void main(String args[]){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
while与道…while区
while:条件が満たされない場合、ループに入ることができません。
do ... while:少なくとも1回実行されます。
3.forループ
public class Test {
public static void main(String args[]) {
//最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
forとwhileの違い
forループの初期化変数は、ループの終了後にアクセスできません。
whileループの初期化変数は継続して使用できます。
変数を初期化して後で引き続きアクセスする場合は、whileを使用します。それ以外の場合は、を使用することをお勧めします。for(int x=1; x<=10; x++){ System.out.println("爱生活,爱Java"); } //这里的x无法继续访问 //System.out.println(x); System.out.println("-----------------"); int y = 1; while(y<=10) { System.out.println("爱生活,爱Java"); y++; } System.out.println(y); }
[補足] Java拡張forループ
/** *for(声明语句 : 表达式){ //代码句子 } //声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。 表达式:表达式是要访问的数组名,或者是返回值为数组的方法。 **/ public class Test { public static void main(String args[]){ int [] numbers = { 10, 20, 30, 40, 50}; for(int x : numbers ){ System.out.print( x ); System.out.print(","); } System.out.print("\n"); String [] names ={ "James", "Larry", "Tom", "Lacy"}; for( String name : names ) { System.out.print( name ); System.out.print(","); } } }
ループ終了キーワード
1.break
Breakは主に、ステートメントブロック全体からジャンプするためにループステートメントまたはスイッチステートメントで使用されます。
break最も内側のループからジャンプして、ループの下のステートメントを実行し続けます。
2.続行
継続は、すべてのループ制御構造に適用されます。その効果は、プログラムをループの次の反復にすぐにジャンプさせることです。
第二に、条件文
1.if…else
public class Test {
public static void main(String args[]){
int x = 30;
if( x == 10 ){
System.out.print("Value of X is 10");
}else if( x == 20 ){
System.out.print("Value of X is 20");
}else if( x == 30 ){
System.out.print("Value of X is 30");
}else{
System.out.print("这是 else 语句");
}
}
}
2.スイッチケース
switch(expression){
case value1 :
//语句
break; //可选
case value2 :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
switch(expression){
case value1 :
case value2 :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
【注意】
- switchステートメントの変数タイプは、byte、short、int、またはcharです。
Java SE 7以降、スイッチは文字列型をサポートし、ケースラベルは文字列定数またはリテラルである必要があります。 - switchステートメントには複数のcaseステートメントを含めることができます。各ケースの後には、比較する値とコロンが続きます。
- caseステートメントの値のデータ型は、変数のデータ型と同じである必要があり、定数またはリテラル定数のみにすることができます。
- 変数の値がcaseステートメントの値と等しい場合、caseステートメントの後のステートメントが実行を開始し、breakステートメントが表示されるまでswitchステートメントは終了しません。
breakステートメントが検出されると、switchステートメントは終了します。プログラムは、switchステートメントに続くステートメントの実行にジャンプします。caseステートメントにbreakステートメントを含める必要はありません。breakステートメントが表示されない場合、プログラムはbreakステートメントが表示されるまで次のcaseステートメントを実行し続けます。 - switchステートメントには、デフォルトのブランチを含めることができます。これは通常、switchステートメントの最後のブランチです(任意の位置に配置できますが、最後のブランチにすることをお勧めします)。defaultは、caseステートメントがなく、変数値が等しい場合に実行されます。デフォルトのブランチはbreakステートメントを必要としません。
スイッチ和if…else
すべてのスイッチをif ... elseに置き換えることができますが、すべてのif ... elseを
スイッチに置き換えることができるわけではありません。これは効率的であり、使用できる場所であればどこでも使用する必要があります。