2.1.6. Оператор break
Оператор break використовується в операторах циклу і операторі варіанта для негайного виходу із цих конструкцій.
Оператор break мітка
2.1.7. Оператор варіанта
Оператор варіанта switch організовує розгалуження за декількома напрямками. Кожна гілка відмічається константою або константним виразом будь-якого цілого типу (крім long) і вибирається, якщо значення певного виразу співпадає з цією константою. Вся конструкція виглядає наступним чином.
switch (цілВир){
case констВир1: оператор1
case констВир2: оператор2
. . . . .
case констВирN: операторN
default: операторDef
}
Вираз в дужках цілвир може бути типу byte, short, int, char, але не long.
2.2. Масиви
Як завжди у програмуванні масив — це сукупність змінних одного типу, що зберігаються у суміжних комірках оперативної пам’яті.
double[] а, b;
Тут визначені дві змінні — вказівники а і b на масиви типу double. Можна поставити квадратні дужки і безпосередньо після імені. Це зручно робити серед визначень звичайних змінних:
int i = 0, ar[], k = -1;
Тут визначені дві змінні цілого типу i і k, і оголошено вказівник на цілочисельний масив аr.
Другий етап — визначення (installation). На цьому етапі вказується кількість елементів масиву (довжина), виділяється місце для масиву в оперативній пам’яті, змінна-вказівник одержує адресу масиву. Всі ці дії виконуються ще однією операцією мови Java — операцією new тип, що виділяє місце в оперативній пам’яті для об’єкта вказаного в операції типу і повертає в якості результату адресу цього місця. Наприклад,
а = new double[5];
b = new double[100];
ar = new int[50];
Третій етап — ініціалізація (initialization). На цьому етапі елементи масиву отримують початкові значення.
Можна сумістити другий і третій етап:
а = new double[] {0.1, 0.2, -0.3, 0.45, -0.02};
2.3. Багатовимірні масиви
Елементами масиву у Java можуть бути масиви. Можна оголосити:
char[] [] с;
що є еквівалентним
chart[] с[];
або
char с[][];
Потім визначаємо зовнішній масив:
с = new char[3][];
c — масив, який складається з трьох елементів-масивів. Тепер визначимо його елементи-масиви:
с[0] = new char[2];
с[1] = new char[4];
с[2] = new char[3];
Після цих визначень змінна с.length дорівнює 3, с[0] .length дорівнює 2,
c[l].length дорівнює 4 і с[2].length дорівнює 3.
Нарешті, задаємо початкові значення с [0] [0] = 'a', с[0][1] = 'r',
с[1][0] = 'г',с[1][1] = 'а',с[1][2] = 'у' тощо.
Двовимірний масив у Java не повинен бути прямокутним.
Опис можна скоротити:
int[] [] d = new int[3] [4];
А початкові значення задати наступним чином:
int[] [] d = {{I, 2, 3}, {4, 5, 6}};
3. Завдання до лабораторної роботи
22. Задано натуральне число n і масив дійсних чисел a[1..n]. Якщо в масиві від'ємні і додатні елементи чергуються, то вивести масив. Інакше одержати новий масив із від'ємних елементів заданого масиву, зберігши порядок їх проходження.
Код програми:
import java.util.Scanner; public class lab3 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n; do { System.out.println("Введіть кількість елементів масиву n: "); n = in.nextInt(); } while (n <= 1); double mas[] = new double[n]; System.out.println("Введіть елементи масиву: "); for (int i = 0; i < n; i++) { mas[i] = in.nextDouble(); } if (mas[0] < 0) { int rahunok = 0; for (int i = 0; i < n; i++) { if (((i % 2 == 0) && (mas[i] < 0)) || ((i % 2 != 0) && (mas[i] > 0))) { rahunok++; if (rahunok == n) { System.out.println("Елементи масиву чергуються, тому виводимо: "); for (int k = 0; k < n; k++) { System.out.println(mas[k]); } } } else { int minuskil = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { minuskil++; } } double masminus[] = new double[minuskil]; int a = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { masminus[a] = mas[j]; a++; } } System.out.println("Елементи масиву не чергуються, тому створюємо новий масив і, зберігаючи порядок чисел, виводимо: "); for (int j = 0; j < minuskil; j++) { System.out.println(masminus[j]); } break; } } } else if (mas[0] > 0) { int rahunok = 0; for (int i = 0; i < n; i++) { if (((i % 2 == 0) && (mas[i] > 0)) || ((i % 2 != 0) && (mas[i] < 0))) { rahunok++; if (rahunok == n) { System.out.println("Елементи масиву чергуються, тому виводимо: "); for (int k = 0; k < n; k++) { System.out.println(mas[k]); } } } else { int minuskil = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { minuskil++; } } double masminus[] = new double[minuskil]; int a = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { masminus[a] = mas[j]; a++; } } System.out.println("Елементи масиву не чергуються, тому створюємо новий масив і, зберігаючи порядок чисел, виводимо: "); for (int j = 0; j < minuskil; j++) { System.out.println(masminus[j]); } break; } } } else { int minuskil = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { minuskil++; } } double masminus[] = new double[minuskil]; int a = 0; for (int j = 0; j < n; j++) { if (mas[j] < 0) { masminus[a] = mas[j]; a++; } } System.out.println("Елементи масиву не чергуються, тому створюємо новий масив і, зберігаючи порядок чисел, виводимо: "); for (int j = 0; j < minuskil; j++) { System.out.println(masminus[j]); } } } }
Приклад виконання:
