순차 구조는 순차적으로만 실행될 수 있고 판단과 선택이 불가능하므로 분기 구조가 필요합니다.
Java에는 두 가지 분기 구조가 있습니다.
if 문은 부울 표현식과 하나 이상의 문으로 구성됩니다.
If 문의 구문은 다음과 같습니다.
if(布尔表达式) { //如果布尔表达式为true将执行的语句}
부울 표현식이 true로 평가되면 if 문의 코드 블록이 실행됩니다. 그렇지 않으면 If 문 블록 다음의 코드가 실행됩니다.
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("这是if 语句"); } } }
위 코드를 컴파일하고 실행한 결과는 다음과 같습니다.
这是if 语句
if 문 뒤에는 else 문이 올 수 있습니다. if 문의 부울 표현식 값이 false인 경우 else 문 블록이 실행됩니다.
if…else의 사용법은 다음과 같습니다.
if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("这是if 语句"); }else{ System.out.print("这是else 语句"); } } }
위 코드를 컴파일하고 실행한 결과는 다음과 같습니다.
这是else 语句
if 문 다음에는 다양한 상황을 감지할 수 있는 else if...else 문이 올 수 있습니다.
if, else if, else 문을 사용할 때 다음 사항에 주의해야 합니다.
if...else의 구문 형식은 다음과 같습니다.
if(布尔表达式1){ //如果布尔表达式1的值为true执行代码}else if(布尔表达式2){ //如果布尔表达式2的值为true执行代码}else if(布尔表达式3){ //如果布尔表达式3的值为true执行代码}else { //如果以上布尔表达式都不为true执行代码}
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 语句"); } } }
위 코드를 컴파일하고 실행한 결과는 다음과 같습니다.
Value of X is 30
중첩된 if-else 문을 사용하는 것은 합법적입니다. 이는 다른 if 또는 else if 문 내에서 if 또는 else if 문을 사용할 수 있음을 의미합니다.
중첩된 if…else 구문 형식은 다음과 같습니다.
if(布尔表达式1){ ////如果布尔表达式1的值为true执行代码if(布尔表达式2){ ////如果布尔表达式2的值为true执行代码} }
if 문과 마찬가지로 else if...else를 중첩할 수 있습니다.
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
위 코드를 컴파일하고 실행한 결과는 다음과 같습니다.
X = 30 and Y = 10
switch 문은 변수가 일련의 값에 포함된 값과 같은지 여부를 확인합니다. 각 값을 분기라고 합니다.
스위치 구문 형식은 다음과 같습니다.
switch(expression){ case value : //语句break; //可选case value : //语句break; //可选//你可以有任意数量的case语句default : //可选//语句}
switch 문에는 다음과 같은 규칙이 있습니다.
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("优秀"); break; case 'B' : case 'C' : System.out.println("良好"); break; case 'D' : System.out.println("及格"); case 'F' : System.out.println("你需要继续努力"); break; default : System.out.println("无效等级"); } System.out.println("你的等级是" + grade); } }
위 코드를 컴파일하고 실행한 결과는 다음과 같습니다.
良好你的等级是C