JavaRush /Java блог /Random UA /Кава-брейк #117. Java Enum - Перерахування на конкретних ...

Кава-брейк #117. Java Enum - Перерахування на конкретних прикладах. Цикл while в Java: синтаксис та варіанти застосування

Стаття з групи Random UA

Java Enum — перерахування на прикладах Java

Джерело: FreeCodeCamp Перерахування (enumeration або enum для стислості) Java — це спеціальний тип даних, що містить набір зумовлених констант. Зазвичай enum використовується при роботі зі значеннями, які не потрібно змінювати, наприклад дні тижня, пори року, кольору і так далі. Кава-брейк #117.  Java Enum - Перерахування на конкретних прикладах.  Цикл while в Java: синтаксис та варіанти застосування - 1У цій статті ми побачимо, як створити enum і як надати його значення іншим змінним. Ми також дізнаємось, як використовувати enum в операторі switch або циклічно перебирати його значення.

Як створити Enum в Java

Щоб створити enum , ми використовуємо ключове слово enum . Це аналогічно до того, як ви створюєте клас, використовуючи ключове слово class . Ось приклад:
enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}
У цьому коді ми створабо enum під ім'ям Colors . Ви можете помітити, що всі значення enum тут написані у верхньому регістрі, але це просто загальна угода. Якщо значення написано у нижньому регістрі, помилки не буде. Кожне значення в enum відокремлюється комою. Далі ми збираємося створити нову змінну і привласнити їй одне із значень нашого enum .
enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main {
  public static void main(String[] args) {

    Colors red = Colors.RED;

    System.out.println(red);
    // RED
  }
}
Це схоже на ініціалізацію будь-якої іншої змінної. Тут у коді ми ініціалізували змінну Colors і надали їй одне із значень enum , використовуючи синтаксис dot: Colors red = Colors.RED; . Зверніть увагу, що ми можемо створити наш enum всередині класу Main , і код все одно буде працювати:
public class Main {
  enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}
  public static void main(String[] args) {

    Colors red = Colors.RED;

    System.out.println(red);
  }
}
Якщо ми хочемо отримати порядковий номер будь-якого значення, нам доведеться використовувати метод ordinal() . Ось ще один приклад:
enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main {
  public static void main(String[] args) {

    Colors red = Colors.RED;

    System.out.println(red.ordinal());
    // 0
  }
}
red.ordinal() із наведеного вище коду повертає 0.

Як використовувати Enum в операторі Switch

Зараз ми дізнаємося, як можна використовувати enum в операторі switch :
public class Main {
      enum Colors {
      RED,
      BLUE,
      YELLOW,
      GREEN
  }
  public static void main(String[] args) {

    Colors myColor = Colors.YELLOW;

    switch(myColor) {
      case RED:
        System.out.println("The color is red");
        break;
      case BLUE:
         System.out.println("The color is blue");
        break;
      case YELLOW:
        System.out.println("The color is yellow");
        break;
      case GREEN:
        System.out.println("The color is green");
        break;
    }
  }
}
Це дуже простий приклад того, як ми можемо використовувати enum в операторі switch . Ми можемо вивести на консоль "The color is yellow" , тому що це єдиний випадок, який відповідає умові оператора switch .

Як створити циклічний перебір значень enum

Для enum Java є метод values() , який повертає масив значень enum . Ми збираємося використовувати цикл foreach для перебору та друкування значень нашого enum . Зробити це можна ось так:
enum Colors {
  RED,
  BLUE,
  YELLOW,
  GREEN
}

public class Main {
  public static void main(String[] args) {

      for (Colors allColors : Colors.values()) {
      System.out.println(allColors);

      /*
      RED
      BLUE
      YELLOW
      GREEN
      */
    }

  }
}

Висновок

У цій статті ми дізналися, що таке enum Java, як його створити і як привласнити його значення іншим змінним. Ми також побачабо, як використовувати тип enum з оператором switch , і як можна циклічно перебирати значення enum . Вдалого кодингу!

Цикл while в Java: синтаксис та варіанти застосування

Джерело: Dev.to Сьогодні ми розберемо концепцію та синтаксис циклу while у Java, а також розглянемо, як використовувати цей цикл для перебору масиву. Кава-брейк #117.  Java Enum - Перерахування на конкретних прикладах.  Цикл while в Java: синтаксис та варіанти застосування - 2

Концепція циклу while

Цикл while - один з основних типів циклу Java, тому його можна використовувати в програмі для декількох цілей. Як і цикл for цикл while можна застосовувати для виконання операцій на основі умови. У циклі , коли лічильник включається не завжди. Кількість ітерацій циклу while залежить від цього, як часто повертається умова циклу true . Ініціалізація в циклі while у більшості випадків може бути необов'язковою, на відміну від циклу for . Іноді цикл while не завжди виконується в циклі. Візьмемо конкретний приклад:
System.out.println("You Input a wrong number");
       int i = input.nextInt();
       while(i==1||i==2||i==3||i==4){
           System.out.println("inside the while loop block");
       }
       //if the user chooses any number different from 1,2,3 and 4.
       System.out.println("outside the while loop block")
Тут код використовує цикл while для перевірки введення користувача на основі деяких умов, тому він повторюється тільки один раз.

Синтаксис циклу while

while(condition){
//Statements
}
Умова циклу while приймає аргумент, який повертає логічне значення true чи false . При появі true код у циклі while виконується, але за false цикл завершується.

Потік кожного циклу while

Цикл while має прийнятий потік: ініціалізація > умова > виконання операторів (initialization > condition > statements execution). Перший етап – це етап ініціалізації. Його можна виконати, оголосивши змінну і також ініціалізувавши її. Другий етап - етап умови, цей етап повинен повертати значення true чи false . Якщо він повертає true , оператор у циклі while виконується, але якщо повертається false , цикл завершується.

Використання циклу while як лічильник

Як і цикл for , цикл while також можна використовувати як лічильник. У наведеній нижче програмі використовують цикл while для ітерації від 2 до 20. Це потрібно для виведення на друк парних чисел.
int j = 2;
       while(j <=20){
           System.out.println(j);
           j+=2;
       }
Як бачите, у програмі j ініціалізується значенням 2, умова перевіряється, якщо j менше або дорівнює 20. Якщо воно повертає true , оператор виконується, але якщо воно повертає false цикл while завершується.

Цикл while можна використовувати для перебору масиву

int[] age = {20, 30, 40, 40, 90};
        int i = 0;
        while (i < age.length)
        {
            System.out.println(age[i]);
            i++;
        }
У цьому коді ми маємо масив віку, і цикл while використовується для перебору масиву і виведення кожного елемента в масиві. Для перевірки загальної кількості елементів у масиві використовується age.length , у наведеній вище програмі i служить індексом.

Оператор break у циклі while

Оператор break також може використовуватися в циклі while , як і цикл for :
int i = 1;
        while (true)
        {
            System.out.println(i);
            if (i == 20)
            {
                break;
            }
            i++;
        }
У наведеній вище програмі оператор break використовувався, щоб зупинити програму від нескінченного виконання. While(true) означає, що програма завжди повертатиме true .

Цикл while можна використовувати для перевірки введення користувача

System.out.println("Select an option\n"+
         "1.Add Users\n"+
         "2.Delete Users");
         int x = input.nextInt();
         while(x==1||x==2){
         //Do something
         }
System.out.println("You Input a wrong number");
У наведеній вище програмі цикл while використовується для перевірки введення користувача і для гарантії того, що користувач вибирає або 1, або 2. Якщо вибирає інше число, то виконується System.out.println ("You Input a wrong number"); .

Оператор умови з циклом while

int i = 0;
        while(i<10){

            i++;
            if(i==5){
                continue;
            }             System.out.println(i);
        }
Оператор умови також можна використовувати в циклі while , щоб пропустити конкретну ітерацію. У наведеній вище програмі оператор if використовується для перевірки i==5 якщо він повертає true , то ця конкретна ітерація буде пропущена.

Проект циклу while

Давайте створимо гру-угадайку, використовуючи цикл while .
import java.util.*;

public class Main
{
    static Scanner input = new Scanner(System.in);

    static boolean hasWon;
    static int count;
    static int guess;

    public static void main (String[] args)
    {
        System.out.println("Welcome to guess world");

        System.out.println("Do you want to start the game? ");
        System.out.println("1.Yes\n" +
                           "2.No");
        int option= input.nextInt();
        int guessNumber = (int) Math.floor(Math.random() * 10 + 1);
        if (!( option == 2 ))
        {
            System.out.println("Welcome, choose a guess between 1 and 10\n" +
                               "you have only ten trials");


            while (count <= 10)
            {
                int userGuess = input.nextInt();
                if (userGuess == guessNumber)
                {
                    hasWon = true;
                    System.out.println("Congratulation, you guessed right at " + count + " count");

                    count++;
                    break;
                }
                else if (userGuess < guessNumber)
                {
                    hasWon = false;
                    System.out.println("Oops, you guessed a lower number, try an higher one");
                    count++;
                }
                else if (userGuess > guessNumber)
                {
                    System.out.println("Oops, you guessed an high number, try an lower one");
                    hasWon = false;
                }
            }
            if (hasWon == false)
            {
                System.out.println("You trials exceeds 10");
            }
        }


    }
}
У цій програмі ми створюємо гру в угадайку цифр, використовуючи цикл while . Гравець має лише 10 спроб. Як тільки кількість разів, коли він грав у гру, перевищує 10, гра завершується. Якщо гравець вгадав правильну цифру, повідомлення з вітанням відображається на консолі.

Висновок

Цикл, який тільки здається складним, освоїти його не так важко. Крім того, він є другим найбільш часто використовуваним циклом Java і може використовуватися для різних цілей.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ