Java/Оператор условия if и оператор выбора switch: различия между версиями

Содержимое удалено Содержимое добавлено
Изменение кода и полное форматирование
Строка 3:
Иногда нам нужно использовать не прямые действия, а с условием. Условие вы можете задавать сами. Некоторые примеры:
== Оператор if ==
Этот оператор проверяет равно ли выражение в скобках ''true''. Если да, то действие выполняется. Если нет, то идёт следующая команда. Пример:
<source lang="java">class TESTTest {
Пример:
public static void main(String[] args){
<source lang=java>class TEST{
if(true){
public static void main(String[] args){
System.out.println("Тест прошёл успешно.");
if(true){
{}
System.out.println("Тест прошёл успешно.");
{}
}
}</source>
Вывод в консоли:

<code>Тест прошёл успешно.</code>
 
Как видите, этот оператор сработал успешно, так как в выражение в скобках равно true.
===== Оператор else =====
Действия написанные в операторе <code>else</code> будут выполнены только если значение <code>if</code> равно ''false''. Пример:
<source lang="java">class TEST1AnotherTest {
public static void main(String[] args){
if(false){
System.out.println("Тест прошёл не очень успешно.");}
else{
System.out.println("Тест прошёл успешно.");}
int i=2;}
}
{}
}</source>
Вывод в консоли:Тест прошёл успешно.
 
== Оператор switch ==
Данный способ сравнивает то что дано в ''<code>switch(i)</code>'' и то что написано после ключевого слова ''<code>case</code>''. Таким образом <code>switch</code> сравнивает i с возможными значениями. Пример:
Данный способ использует много вариантов сразу. Пример:
<source lang="java" line="1">class TEST2SwitchTest {
public static void main(String[] args) {
{
public static void main(String[] args)
{
int i=2;
switch(i) {
{ case 1:
case 1: System.out.println("Тест работает.");
break;
case 2:
System.out.println("Тест добрый.");
break;
case 3:
System.out.println("Тест поможет вам.");
break;
default:System.out.println("Тест интересный.");
}
}
}</source>Вот код без использования ''<code>switch</code>'' который делает то же самое: <syntaxhighlight lang="java" line="1">
}</source>'''Внимание: С оператором switch надо быть очень осторожным так как неправильно написанный код может вывести "Красную взбучку"'''
class NoSwitchTest {
Вывод в консоли будет:
public static void main(String[] args) {
int i = break2;
if(i == 1) { // аналог "case 1"
default:System.out.println("Тест интересный.работает");
} else if(i == 2) {
System.out.println("Тест добрый");
} else if(i == 3) {
System.out.println("Тест поможет вам.");
{ }
}
</syntaxhighlight>Вывод в консоли будет:
 
<code>Тест добрый.</code>
 
=== Ключевое слово <code>break</code> ===
Тест поможет вам.
Теперь подробнее про ключевое слово <code>break</code> ''.'' По умолчанию после того как нужный код из <code>case</code> выполнен оператор ( если нет этого слова ) перескакивает на следующий <code>case</code> '''без проверки''', таким образом если бы мы не ставили слово <code>break</code> вывод в консоли был бы:
 
<code>Тест интересный.добрый</code>
 
<code>Тест поможет вам</code>
Потому что после каждого "case" надо ставить команду break; и тогда...
 
=== Ключевое слово <code>default</code> ===
<source lang=java>class TEST2
Предположим <code>case</code>'ов может быть много, а число не подходит ни к одному. Для таких ситуаций и нужен "default". Он выполняется в случае если ни один из <code>case</code>'ов не сработал. Пример :
{
 
public static void main(String[] args)
<source lang="java" line="1">class TEST2DefaultTest {
{
public static void main(String[] args) {
int i=2;
switch(int i) = 152;
switch(i) {
case 1:
System.out.println("Тест работает.");
break;
case 2:
System.out.println("Тест добрый.");
break;
case 3:
System.out.println("Тест поможет вам.");
break;
default:
System.out.println("Тест интересный.");
break;
}
}
}</source>
Вывод в консоли будет только:
 
Вывод на консоль :
Тест добрый.
 
<code>Тест интересный.</code>
Предположим case'ов может быть много, а число не подходит ни к одному. Для таких ситуаций и нужен "default".
 
Он как и все <code>case</code> тоже выполняется если нету ключевого слова <code>break</code> . Пример:
<source lang=java>class TEST2
 
{
<source lang="java" line="1">class TEST2DefaultAndBreakTest {
public static void main(String[] args)
public static void main(String[] args) {
{
int i =91 1;
switch(i) {
{
case 1:
System.out.println("Тест работает.");
break;
case 2:
System.out.println("Тест добрый.");
break;
case 3:
System.out.println("Тест поможет вам.");
break;
default:
System.out.println("Тест интересный.");
break;
}
Строка 103 ⟶ 116 :
}</source>
 
Вывод в консоли будет:
А вот здесь он нам выведет:
 
<code>Тест работает</code>
 
<code>Тест добрый.</code>
 
<code>Тест поможет вам</code>
 
<code>Тест интересный</code>
 
Заметьте что если в конце блока <code>default</code> ( или <code>case</code>) стоит <code>break</code>, это не значит что он не будет выполняться.
Тест интересный.
 
[[Категория:Java]]