Програмування на мові Java Типи

March 5th, 2009


« Програмування на мові Java Робота з рядками   |   Програмування на мові Java Обробка виключень »

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

Багатовимірні масиви

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

double matrix [][] = new double [4][4];

Наступний фрагмент коду ініціалізувала така ж кількість пам’яті, але пам’ять під другу розмірність відводиться уручну. Це зроблено для того, щоб наочно показати, що матриця насправді є вкладеними масивами.

double matrix [][] = new double [4][]; matrix [0] = new double[4]; matrix[1]= new double[4]; matrix[2]= new double[4], matrix[3]= { 0, 1, 2, 3 };

В наступному прикладі створюється матриця розміром 4 на 4 з елементами типу double, причому її діагональні елементи (ті, для яких х==у) заповнюються одиницями, а решта всіх елементів залишається рівними нулю.

class Matrix { public static void main(String args[]) { double m[][]; m = new double[4][4]; m[0][0]= 1; m[1][1]= 1; m[2][2]= 1; m[3][3]= 1; System.out.println(m[0][0]+” “+ m[0][1]+” “+ m[0][2]+” “+ m[0][3]); System.out.println(m[1][0]+” “+ m[1][1]+” “+ m[1][2]+” “+ m[1][3]); System.out.println(m[2][0]+” “+ m[2][1]+” “+ m[2][2]+” “+ m[2][3]); System.out.println(m[3][0]+” “+ m[3][1]+” “+ m[3][2]+” “+ m[3][3]); } }

Запустивши цю програму, ви отримаєте наступний результат:

C : \> Java Matrix 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1


Tags: , , , , , ,

програмування


Схожі записи

Категория: програмування |

Комментарии