[JAVA]制御文
せんたくぶん
JAvaの選択文はif - else if - else
文とswitch - case
文を使用します.
選択した文のサブコードブロック実行文が1行である場合、コードブロックで囲む必要がなく、文をスキップできます.if(true)
doSomthing();
//==
if(true){
doSomthing();
}
if - else if - else
if
Javaでは、デフォルト条件文はif
文で実装できます.if(/*condition*/){
//action
}
クエリー条件では、boolean
式を入力する必要があります.サブコードブロックは、式の値がtrue
の場合にのみ実行されます.
else
else
文は、if
の条件がfalse
の場合にのみ実行されます.同様に、コードブロックはelse
節以降のコードブロックからなる.
なお、else
文は省略することができる.else{
//action
}
else
文は、if
文に属し、if
文と連続的に表現されなければならない.//올바른 사용
if(true){
//action
} else{
//action
}
//잘못된 사용
if(true){
//action
}
int a = 10;
else{
}
//syntax error
else-if
else-if
ゲートはelse
節の使用にboolean
条件式を加えた.同様に、if
文に属し、if
文がfalse
の場合、他の条件式を使用するために記述される.else
と同様に省略できます.if(true){
} else if(true){
} else{
}
switch - case
switch - case
は、式の戻り値を使用して複数のブランチを行う構文です.
式はswitch
文に作成され、ブロックを実行するためにサブコードブロックcase
文に文字を作成することができる.
この場合、switch
の式の戻り値は、整数型primitive
タイプ、Rapperクラス、String
またはenum
である必要があります.
Object a = "Hello";
String b = "Hello";
//에러, 조건식의 타입 불일치
switch(a){
}
switch((String)a){
case "Hello" :
//do something..
break;
//에러, 반드시 리터럴 값을 가져야함
case b :
}
default
default
はif
ゲートのelse
条件を満たしている.switch
のすべてのcase
が実行されない場合、default
文が実行されます.
break
switch - case
文は、次のすべての構文を実行します.したがって、case
は、コードフローにおいてフローを制御するために使用される.switch (a){
case 1 : a++;
case 2 : a++;
case 3 : a++;
break;
case 5 : a--;
}
//case가 수행되면 break을 만날 때까지 모든 하위 문장을 수행
強化されたswitch-case
JVM 13から、break
を使用して、既存の問題を解決するためにいくつかの改良を行うことができる.
if(true)
doSomthing();
//==
if(true){
doSomthing();
}
if(/*condition*/){
//action
}
else{
//action
}
//올바른 사용
if(true){
//action
} else{
//action
}
//잘못된 사용
if(true){
//action
}
int a = 10;
else{
}
//syntax error
if(true){
} else if(true){
} else{
}
Object a = "Hello";
String b = "Hello";
//에러, 조건식의 타입 불일치
switch(a){
}
switch((String)a){
case "Hello" :
//do something..
break;
//에러, 반드시 리터럴 값을 가져야함
case b :
}
switch (a){
case 1 : a++;
case 2 : a++;
case 3 : a++;
break;
case 5 : a--;
}
//case가 수행되면 break을 만날 때까지 모든 하위 문장을 수행
switch - case
switch - case
case
)Muti - value Case
yield
ゲートの→
分割は、一度に複数の条件を使用することができる.//이전 방식
switch(score){
case 10 :
case 9 :
case 8 :
System.out.println("A");
break;
case 7 :
case 6 :
case 5 :
System.out.println("B");
break;
default :
System.out.println("C");
}
//JVM 13
switch(score){
case 10, 9, 8 :
System.out.println("A");
break;
case 7, 6, 5 :
System.out.println("B");
break;
default :
System.out.println("C");
}
yield
case
文で使用し、,
文を返します.したがって、式としてswitch
文を使用することができます.System.out.println(
switch(score){
case 10, 9, 8 :
yield "A";
case 7, 6, 5 :
yield "B";
default :
yield "C";
});
String str =
switch(score){
case 10, 9, 8 :
yield "A";
case 7, 6, 5 :
yield "B";
default :
yield "C";
}
コードブロック
コードブロックは、
switch
内で使用することができる.矢印キー
式、構文、およびコードブロックは、矢印演算子
switch
で表される.String grade;
switch(score){
case 10, 9, 8 -> grade = "A";
case 7, 6, 5 -> grade = "B";
default -> grade = "C";
}
リファレンスhttps://docs.oracle.com/en/java/javase/13/language/switch-expressions.html
複文
Javaの重複文はcase
またはcase
の文からなる
while
while
文は、生成されたfor
式がwhile
ではないまで、サブブロックを繰り返し実行する.//무한 루프
while(true){
//action
}
do - while
boolean
文は、まずtrue
サブコードブロックを実行し、その後、do - while
の条件に従ってコードブロックを繰り返す.//action을 최소 한번 수행하고 이후 while 조건에 따라 반복
do{
action();
} while(isTrue());
for
do
文はwhile
で構成され、次の順序で実行されます.
//무한 루프
while(true){
//action
}
//action을 최소 한번 수행하고 이후 while 조건에 따라 반복
do{
action();
} while(isTrue());
for
式、実行を続行するかどうかを判断初期式、条件式、コードブロック、インクリメンタルは省略できますが、必要に応じて作成できます.
//for 구조
for(int a = 1; a < 10 ; a++){
System.out.println(a);
}
//모두 생략, 아무 행위가 없지만 무한루프
for(;;);
しょき式
構文を1回だけ使用すると、
for(초기식 ; 조건식 ; 증감식) { 코드블럭 }
ループ内でのみ参照可能な領域変数を宣言できます.さらに、1つの
boolean
変数のみが宣言され、for
を使用して同じタイプの複数の変数を宣言することができる.for(int a = 10, b;;);
//error
for(Object o, int a;;);
条件文
type
式を使用して記述され、条件に従ってコードブロックが繰り返される.for(int a = 10; a < 10 ;);
コードブロック
条件文が
,
の場合、実行するコードブロックが作成されます.増減式
デフォルトでは、インクリメンタル演算は実行できますが、すべての文をインクリメンタルとして宣言できます.コードブロックを作成した後に実行する式.
boolean
を使用して複数の文を作成できます.for(int a = 10; a < 10; a++, myMethod(), b += 20);
強化されたfor文
既存の
true
ゲートとは異なり、,
とともに使用することができる.for
インプリメンテーションオブジェクト(コレクション)または配列を使用して重複する研究レポートを作成し、宣言されたタイプ名を使用してオブジェクトをコピー(深さ)し、重複を実行します.オブジェクトの
for( 타입 레퍼런스 : Iterable 구현체)
のItereble
メソッドは、iterator
、すなわち、データ構造の最初のデータから最後のデータ構造まで繰り返される.//Iterable을 상속한 Collections의 상속 인터페이스 list, 구현체 ArrayList
List<Integer> list = new ArrayList<>();
for(Integer a : list){
//a 는 해당 객체의 깊은 복사본이므로 원본 객체 수정 불가능
a = 10;
}
break, continue
break
繰り返し条件文(
hasNext()
)の実行ブロック内にtrue
が作成されると、その条件文のコードブロックが飛び出します.for(/*...*/){
if(isTrue()) break;
}
while(/*...*/){
if(isTrue()) break;
}
continue
繰り返し条件文で作成し、コードブロック内のサブコード実行を省略し、インクリメント後に条件チェックを再実行します.
//isTrue() 가 false 일 때만 출력
for(/*...*/){
if(isTrue()) continue;
System.out.println("출력");
}
while(/*...*/){
if(isTrue()) continue;
System.out.println("출력");
}
continue - loop
親に宣言された重複文には
while(), for()
という名前が付けられており、このループをbreak
と命名することができます.loop1 :
while(true){
while(true){
//isTrue()가 true 이면 상위의 반복문으로 이동하여 반복을 계속 진행
//해당 루프의 출력 1 과 출력 2 모두 continue 됨
if(isTrue()) continue loop1;
System.out.println("출력1");
}
System.out.println("출력2");
}
Reference
この問題について([JAVA]制御文), 我々は、より多くの情報をここで見つけました https://velog.io/@tomato2532/JAVA-제어문テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol