МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет “Львівська політехніка”
Кафедра САПР
/
Лабораторна робота № 3
з дисципліни: “Об’єктно-орієнтоване програмування”
На тему:
Керуючі структури та масиви у Java
1. МЕТА РОБОТИ
Одержати навики побудови алгоритмів лінійних обчислювальних процесів, навчитися складати алгоритми та програмувати процеси з розгалуженням, циклами, ітераційними циклами за допомогою мови Java. Одержати навички роботи із масивами.
2.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Набір операторів мови Java включає:
оператори описування змінних та інших об’єктів;
оператори-вирази;
оператори присвоювання;
умовний оператор if;
три оператори циклу while, do-while, for;
оператор варіанта switch;
Оператори переходу break, continue і return;
блок {};
порожній оператор —крапка з комою.
Блок складається з нуля або декількох операторів з метою використання їх як один оператор у тих місцях, де за правилами мови можна записати лише один оператор.
Умовний оператор (if-then-else statement) у мові Java записується так:
if (логічний вираз) оператор1 else оператор2, і діє наступним чином. Спочатку обчислюється логічний вираз. Якщо результат true, то діє оператор1 і на цьому дія умовного оператора завершується, оператор2 не діє, далі буде виконуватися наступний за if оператор. Якщо результат false, то діє оператор2, при цьому оператор1 взагалі не виконується. Синтаксис мови не дозволяє записувати декілька операторів ні у гілці then, ні у гілці else.
Основний оператор циклу — оператор while — виглядає так:
while (логвир) оператор
Спочатку обчислюється логічний вираз логвир; якщо його значення true, то виконується оператор, що утворює цикл. Потім знову обчислюється логвир і діє оператор, і так доти, поки не отримається значення false. Якщо логвир з самого початку дорівнює false, то оператор не буде виконуватися жодного разу.
Третій оператор цикла — оператор for — виглядає наступним чином:
for (списокВир1; логВир; списокВир2) оператор
Перед виконанням циклу обчислюється список виразів списокВир1. Це нуль або декілька виразів, перерахованих через кому. Вони обчислюються зліва направо, і у наступному виразі уже можна використовувати результат попереднього виразу. Як правило, тут задаються початкові значення змінних циклу.
Потім обчислюється логічний вираз логвир. Якщо він істинний, true, то діє оператор, потім обчислюються зліва направо вирази із списку виразів списокВир2. Далі знову перевіряється логвир. Якщо він істинний, то виконується оператор і списокВир2 і т. д. Як тільки логвир стане дорівнювати false, виконання циклу завершується, тобто виконується послідовність операторів.
Оператор continue використовується тільки в операторах циклу. Він має дві форми. Перша форма складається тільки зі слова continue і здійснює негайний перехід до наступної ітерації циклу.
Друга форма містить мітку:
continue мітка
мітка записується, як і всі ідентифікатори, із літер Java, цифр і знака підкреслювання, але не вимагає жодного опису. Мітка ставиться перед оператором або відкриваючою фігурною дужкою і відокремлюється від них двокрапкою. Так виходить помічений оператор або помічений блок.
Оператор break використовується в операторах циклу і операторі варіанта для негайного виходу із цих конструкцій.
Масиви у мові Java відносяться до ссилочних типів і описуються своєрідно, але характерно для вказівникових типів. Опис відбувається у три етапи.
Записується ім’я типу елементів масиву, квадратними дужками вказується, що оголошується вказівник на масив, а не проста змінна, і перераховуються імена змінних типу посилання, наприклад,
double[] а, b;
Другий етап — визначення (installation)
а = new double[5];
b = new double[100];
ar = new int[50];
Індекси масивів завжди починаються з 0.
Третій етап — ініціалізація (initialization). На цьому етапі елементи масиву отримують початкові значення. Наприклад,
а[0] = 0.01; а[1] = -3.4; а[2] = 2:.89; а[3] = 4.5; а[4] = -6.7;
ІНДИВІДУАЛЬНЕ ЗАВДАННЯ
Задано натуральне число n. Скільки різноманітних цифр зустрічається в його десятковому записі.
ТЕКСТ ПРОГРАМИ
import java.util.*;/** * Created by Вика on 01.03.2016. */public class laboratory3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); HashSet<Integer> st = new HashSet<>(); System.out.println("Введіть ціле число"); Integer n = sc.nextInt(); int strLength = n.toString().length(); for(int i = 0; i < strLength; i++) { int res = n%10; n -= res; n = n/10; st.add(res); } System.out.println(st.size()); }}
Результати
Введіть ціле число
21564
5
ВИСНОВОК
На цій лабораторній роботі я одержала навики побудови алгоритмів лінійних обчислювальних процесів, навчилася складати алгоритми та програмувати процеси з розгалуженням, циклами, ітераційними циклами за допомогою мови Java. Одержала навички роботи із масивами.