Умовні конструкції. Перетворення базових типів даних

Прокрутити вниз

Умовні конструкції в Java

Умовні конструкції дозволяють виконувати різні частини коду залежно від значення певних умов. Основними умовними конструкціями в Java є if, else if, else, switch. Вони використовуються для прийняття рішень у програмі на основі результату логічних виразів.

1. `if`

Конструкція if виконує блок коду, якщо умова є істинною (повертає true).

int age = 18;
if (age >= 18) {
System.out.println(“Ви дорослий.”);
}

2. if-else

Конструкція if-else виконує один блок коду, якщо умова істинна, і інший блок — якщо хибна.

int age = 16;
if (age >= 18) {
System.out.println(“Ви дорослий.”);
} else {
System.out.println(“Ви неповнолітній.”);
}

3. else if

Конструкція else if використовується, коли потрібно перевірити кілька умов послідовно. Якщо перша умова не виконана, перевіряється наступна.

int score = 85;
if (score >= 90) {
System.out.println(“Оцінка: Відмінно”);
} else if (score >= 75) {
System.out.println(“Оцінка: Добре”);
} else {
System.out.println(“Оцінка: Задовільно”);
}

4. switch

Конструкція switch дозволяє вибирати один із кількох можливих варіантів залежно від значення змінної. Використовується для випадків, коли є кілька можливих значень для однієї змінної, що зручно замість кількох if-else.

int day = 3;
switch (day) {
case 1:
System.out.println(“Понеділок”);
break;
case 2:
System.out.println(“Вівторок”);
break;
case 3:
System.out.println(“Середа”);
break;
default:
System.out.println(“Невірний день”);
}

  • break — використовується для виходу з блоку `switch` після виконання коду для певного варіанту.
  • default — виконується, якщо жоден з випадків (`case`) не збігається із значенням змінної.

5. Тернарний оператор

Тернарний оператор `? :` — це скорочений спосіб запису `if-else`. Він повертає одне з двох значень залежно від умови.

int age = 20;
String status = (age >= 18) ? “Дорослий” : “Неповнолітній”;
System.out.println(status); // Виведе: Дорослий

Перетворення базових типів даних

Перетворення типів даних в Java дозволяє змінювати тип змінної або результату виразу. Перетворення може бути неявним (автоматичним) або явним (примусовим).

1. Неявне (автоматичне) перетворення

Неявне перетворення відбувається, коли менш точний тип автоматично перетворюється на більш точний тип без втрати даних. Це відбувається, коли, наприклад, значення типу `int` присвоюється змінній типу `long`.

  • Ціле число → число з плаваючою точкою
  • Малий тип → більший тип (наприклад, `byte` → `int` або `int` → `long`)

int a = 10;
double b = a; // Неявне перетворення з int на double
System.out.println(b); // Виведе 10.0

2. Явне (примусове) перетворення

Явне перетворення використовується, коли потрібно перетворити більший тип у менший або зробити перетворення між несумісними типами. Для цього використовуються круглі дужки перед змінною або значенням.

  • Число з плаваючою точкою → ціле число (при цьому дробова частина відкидається).
  • Більший тип → менший тип (наприклад, `long` → `int`)

double x = 9.7;
int y = (int) x; // Явне перетворення з double на int
System.out.println(y); // Виведе 9

У цьому випадку дробова частина числа буде втрачена.

3. Перетворення між примітивними типами

Java підтримує перетворення між різними числовими типами, а також між `char` та числовими типами.

int i = 65;
char c = (char) i; // Перетворення int у char
System.out.println(c); // Виведе символ ‘A’

4. Перетворення рядків у числа і навпаки

Для перетворення рядків у числа використовуються спеціальні методи класів-обгорток, таких як `Integer`, `Double` та інші.

  • Рядок у число:

String str = “123”;
int num = Integer.parseInt(str); // Перетворення String у int
System.out.println(num); // Виведе 123

  • Число у рядок:

int num = 123;
String str = Integer.toString(num); // Перетворення int у String
System.out.println(str); // Виведе “123”

Також можна використовувати конкатенацію з порожнім рядком:

int num = 123;
String str = num + “”; // Інший спосіб перетворення int у String

Типи перетворень:

1. Неявне перетворення:

  • Виконується автоматично компілятором Java.
  • Без втрати даних.
  • З менших типів у більші.

2. Явне перетворення:

  • Вимагає вказання типу вручну.
  • Може бути втрата даних при перетворенні з більшого типу в менший (наприклад, дробова частина при перетворенні `double` у `int`).
  • Використовується для примусового перетворення між несумісними типами.

Підсумок:

1. Умовні конструкції (`if`, `else`, `switch`, тернарний оператор) використовуються для прийняття рішень у програмі на основі логічних умов.
2. Перетворення типів в Java може бути неявним або явним і використовується для зміни типу даних змінної. Неявне перетворення відбувається автоматично, тоді як явне перетворення потребує вказання типу вручну.
3. Перетворення між типами корисне при роботі з різними числовими типами, рядками, або коли потрібно узгодити типи змінних у виразах.

Тест Java. Перетворення базових типів данихУмовні конструкції