Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпори JAVA.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
178.34 Кб
Скачать

32. Клонування масивів.

Стандартна бібліотека Java містить статичний метод System.arraycopy ( ) , який копіює масиви значніше швидше, ніж при ручному копіюванні в циклі for .

В аргументах arraycopy ( ) передається вихідний масив , початкова позиція копіювання у вихідному масиві , приймальний масив , початкова позиція копіювання в приймальному масиві і кількість копійованих елементів . Будь-яке порушення меж масиву призведе до виключення .

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

int [] luckyNumbers = smailPrimes ;

luckyNuimbers [ 5 ] = 12 ; / / Тепер елемент smailPrimes [ 5 ] також дорівнює 12 .

Якщо необхідно скопіювати всі елементи одного масиву в інший, слід використовувати метод arraycopy з класу System. Його виклик виглядає наступним чином:

System.arraycopy ( from , fromlndex , to , tolndex , count ) ;

Масив to повинен мати достатній розмір , щоб у ньому помістилися всі копійовані елементи .

Масив у мові Java значно відрізняється від масиву в мові C + + . Однак він практично збігається з покажчиком на динамічний масив . Це означає , що оператор

int [] a = new int [ 100 ] ; / / Java

еквівалентний оператору

int * = new int [1+0+0] ; / / C + + ,

а не

int a [ 100 ] ; / / C + +

У мові Java оператор [] no замовчуванням перевіряє діапазон зміни індексів. Крім того , в мові Java немає арифметики покажчиків - не можна збільшити покажчик а , щоб звернутися до наступного елементу масиву.

33. Керування ходом виконання програми.

Управління потоком обчислень є фундаментальною основою всієї мови програмування. У цьому розділі будуть розглянуті основні мовні конструкції і способи їх застосування. Синтаксис виразів досить схожий з синтаксисом мови С, що полегшує його розуміння для програмістів знайомих з цією мовою, разом з тим є ряд відмінностей, які будуть розглянуті пізніше і на які слід звернути увагу. Порядок виконання програми визначається операторами. Оператори можуть містити в собі інші оператори або виразу.

34. Нормальне і перерване виконання операторів.

Послідовність виконання операторів може бути безперервною, а може і перериватися (при виникненні певних умов). Виконання оператора може бути перервано, якщо в потоці обчислень будуть виявлені оператори brake, continue, return, то управління буде передано в інше місце (відповідно до правил обробки цих операторів , які будуть розглянуті пізніше). Нормальне виконання оператора може бути перервано, так само , при виникненні виняткових ситуацій . Які так само будуть розглянуті пізніше. Явна збудження виняткової ситуації за допомогою оператора throw, так само перериває нормальне виконання оператора, і передає управління виконанням програми (далі просто управління) в інше місце. Переривання нормального виконання завжди викликається певною причиною .

Наведемо список таких причин

• break (без вказівки мітки)

• break (із зазначенням мітки)

• continue (без вказівки мітки)

• continue (із зазначенням мітки)

• return ( з поверненням значення)

• return ( без повернення значення)

• throw із зазначенням об'єкта Exception , а так само всі виключення порушувані віртуальною машиною Java.

Вирази так само можуть завершуватися нормально і передчасно (аварійно ) . У даному випадку термін аварійно цілком застосовний , тому що причиною послідовності виконання вираження відмінної від нормальної може бути тільки виникнення виняткової ситуації .

Якщо в операторі міститься вираз, то в разі його аварійного завершення, виконання оператора теж буде завершено передчасно. (тобто нормальний хід виконання оператора буде порушено). У разі якщо в операторі мається вкладений оператор, і відбувається ненормальне його

завершення, то так само не нормально завершується оператора містить вкладений (в деяких випадках це не так, але буде обумовлюватися особливо)

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