Массивы в Java

12-10-21 Java 0

В этом уроке мы научимся работать с массивами в 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.

Хочешь получать статьи на почту?

Подпишись на обновления!
* Ваш email не будет разглашен/продан. Вы сможете отписаться в любое время.

Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *