Массивы в Java
В этом уроке мы научимся работать с массивами в Java.
Массив — это структура данных, для хранения некоторого количества элементов одного и того же типа. Размер массива задается при его инициализации и не может быть изменен. Нумерация элементов начинается с нуля.
Синтаксис
Проще говоря массив — это структура, для замены этого:
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
Этим:
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
Преимущество этой конструкции заключается в том, что число в квадратных скобках можно заменить переменной, что удобно использовать в циклах.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Для того, чтобы использовать массив нам необходимо объявить и инициализировать его. Объявление:
<Тип>[] <Имя>; или <Тип> <имя>[];
Инициализация, с помощью оператора new выделим для массива необходимую память:
intArray = new int[10]; // выделяем память для хранения 10 целых чисел или int intArray[] = new int[10]; intArray[0]=1; // присваиваем первому элементу значение 1 intArray[1]=2;
Мы также можем объявить массив с заранее заданными значениями элементов:
int intArray[] = {1, 2, 3, 4}; // Объявляем массив размерностью 4, где первый элемент = 1
Напишем первую программу с использованием массива. Объявим, инициализируем и выведем значения на экран:
class ArrayDemo{ public static void main(String args[]){ int array[] = new int[7]; for (int count=0;count<7;count++){ array[count]=count+1; } for (int count=0;count<7;count++){ System.out.println("array["+count+"] = "+array[count]); } } }
Массивы передаются по ссылке
Массивы передаются другим функциям по ссылке или как указатель на оригинал. То есть, если переданный массив изменится в функции, изменится и оригинал. Запустив следующую программу вы можете в этом убедиться.
public class Test { public static void change(String a[]) { a[0]="с"; } public static void main(String[] args) { String b[] = {"a", "s"}; Test.change(b); for(int i=0;i<b.length;i++) { System.out.println(b[i]); } } }
Многомерные массивы
Для объявления многомерных массивов в Java используется следующая форма:
int twoD[][] = new int[4][]; twoD[0] = new int[5]; twoD[1] = new int[6]; twoD[2] = new int[7]; twoD[3] = new int[8];
Обратите внимание, что размерность каждого элемента может быть разной.
Массивы объектов
public class Test { public static class T { int a,b; public void set(int c, int d) { a=c; b=d; } public void show() { System.out.println("a="+a); System.out.println("b="+b); } } public static void main(String[] args) { T obj[] = new T[4]; obj[0] = new T(); obj[0].set(5, 6); obj[0].show(); } }
Обратите внимание, что в первой строчке метода main мы выделили память для 4 объектов типа Т, но каждый из них тоже надо инициализировать, иначе будет возбуждено исключение NullPointer.
Нет комментариев