Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
206 Кб
Скачать
☆

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]); } } } }

Приклад виконання:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]