русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Тема 6 Масиви. Робота з рядками. Виключення. Пакет java.lang


Дата додавання: 2014-05-29; переглядів: 1117.


План

1 Масиви як тпи даних в Java

2 Ініціалізація масивів

3 Клонування

4 Рядки

5 Помилки при роботі програми. Виключення (Exceptions)

6 Обробка виняткових ситуації. Конструкція try-cath

7 Використання оператора throw

 

1 Масиви як тип даних в Java

Відразу обмовимося, що в Java масив символів char[] і клас String є різними типами. Їхнього значення можуть легко конвертуватися з одного в інший за допомогою спеціальних методів, але все-таки вони не ставляться до ідентичних типів.

Як уже говорилося, масиви в Java є об'єктами (примітивних типів в Java усього вісім і їхня кількість не змінюється), їхній тип прямо успадковується від класу Object..

Базовий тип також може бути масивом. У такий спосіб конструюється масив масивів, або багатомірний масив.

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

Оскільки масив є об'єктним типом даних, його значення можуть бути приведені до типу Object або, що теж саме, привласнено змінній типу Object. Наприклад:

 

Object o = new int[4];

 

Це дає цікаву можливість для масивів, заснованих на типі Object, зберігати як елемент посилання на самого себе:

 

2 Ініціалізація масивів

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

Розглянемо створення масиву на основі посилального типу. Припустимо, це буде клас Point. При створенні екземпляра масиву із застосуванням ключового слова new не створюється жоден об'єкт класу Point, створюється лише один об'єкт масиву. Кожний елемент масиву буде мати порожнє значення null.

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

Крім того, існує й інший спосіб створення масивів - ініціалізатори. В цьому випадку ключове слово new не використовується, а ставляться фігурні дужки, і в них через кому перераховуються значення всіх елементів масиву. Наприклад, для числового масиву явна ініціалізація записується в такий спосіб:

 

int i[]={1, 3, 5};

int j[]={}; // еквівалентно new int[0]

 

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

Однак ініціалізатор не можна використовувати для анонімного створення екземплярів масиву, тобто не для ініціалізації змінної, а, наприклад, для передачі параметрів методу або конструктору.

Однак такий погляд на двовимірні й багатомірні масиви є неповним. Більше точний підхід полягає в тому, що в Java немає двовимірних, і взагалі багатомірних масивів, а є масиви, базовими типами яких є також масиви. Наприклад, тип int[] означає «масив чисел», а int[][] означає «масив масивів чисел».

Корисно підрахувати, скільки об'єктів породжується вираженням new int[3][5]. Правильний підрахунок такий: створюється один масив масивів (один об'єкт) і три масиви чисел, кожний довжиною 5 (три об'єкти). Разом, чотири об'єкти.

Взагалі, при створенні багатомірних масивів за допомогою new необхідно вказувати всі пари квадратних дужок, відповідно кількості вимірів. Але заповненою обов'язково повинна бути лише крайня ліва пара, це значення задасть довжину верхнього масиву масивів. Якщо заповнити наступну пару, то цей масив заповниться не значеннями за замовчуванням null, а новими створеними масивами з меншою на одиницю розмірністю. Якщо заповнено другу пару дужок, то можна заповнити третю, і так далі.

Аналогічно, для створення багатомірних масивів можна використовувати ініціалізатори. У цьому випадку застосовується стільки вкладених фігурних дужок, скільки потрібно.


<== попередня лекція | наступна лекція ==>
Заборонені перетворення | Клонування


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн