Последовательная структура может выполняться только последовательно и не может делать выводы и выборы, поэтому необходима ветвящаяся структура.
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 ложно, будет выполнен блок операторов 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执行代码} }
Вы можете вкладывать else if...else так же, как операторы if.
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(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