Работа с массивами java

Массив — это набор элементов одного типа.
Массив, вообще говоря, является объектом, и поэтому создается с помощью оператора new.
Приведем пример использования массивов (листинг 2.12).

Листинг 2.12
Пример использовании массивов

public class Example 
{
    public static void main(String[] args) {
        
        int[] a; // Объявление массива
        a = new int[5]; // Создание массива с заданным размером
        int[] b = new int[6]; // Объявление и инициализация
        String[] s = new String[8];
        int c = b.length; // Определение размера массива
    }
}

 

 

По создании массива его нужно инициализировать.
Вот как это делается (листинг 2.13).

Листинг 2.13
Инициализация массива

public class Example
{
    public static void main(String[] args) {

        int[] i = new int[3];
        i[0] = 11; //Инициализация
        i[1] = 12; //Инициализация
        i[2] = 3; //Инициализация

        String[] s = {"June", "July", "August"}; /* Можно использовать
        инициализацию и объявление одновременно */

        String[] s2 = new String[]{"Dog", "Cat"}; /* Можно использовать
        инициализацию и объявление вместе с оператором new, но не обязательно */

        s2[0] = "Grumpy ";
        System.out.println(s2[0] + s2[1]); // Выведет "Grumpy Cat"

        i[2] = 5; // Любой элемент массива - переменная
    }
}

 


Квадратные скобки при объявлении массива можно ставить как после имени типа данных, так и после имени массива, однако принято ставить их после названия типа.
Если вы задаете массив с десятью элементами, то отсчет элементов идет от 0 до 9, а не от 1 до 10. Если вы попытаетесь обратиться к десятому элементу не с помощью цифры 9, а с помощью цифры 10, это будет ошибкой.

Есть такое понятие, как многомерные массивы. В этом случае элементом одного массива является другой массив. Рассмотрим многомерные массивы на примере двумерных массивов (листинг 2.14).

 

Листинг 2.14.
Пример двумерного массива

public class Example
{
    public static void main(String[] args) {

        int[][] i = new int[10][6]; // Двумерный массив
        i[5][4] = 10;
        i[5][5] = 11;
        i[9][4] = 15;
        
        String[][] s = new String[2][];
        s[0] = new String[7];
        s[1] = new String[3];
        s[0][6] = "Example";
        s[1][1] = "MyArray";
        /* У этого массива у каждого левого индекса неодинаковое количество 
         * правых индексов (их количество задается отдельно для элементов
         * с разными левыми индексами) */
    }
}

 


Вернемся к строкам. Если помните, строки можно представить массивом элементов char. Приведем пример создания такой строки (листинг 2.15).

Листинг 2.15.
Преобразование строки в массив с помощью метода char

public class Example
{
    public static void main(String[] args) {

        String s = "Akkuratov";
        char[] myName = s.toCharArray(); // С помощью этого встроенного метода

        String s2 = new String(myName, 0, 3); /* Создаем строку из массива myName;
        начиная с элемента с номером 0, берем подряд три символа */

        System.out.println(s2);
    }
}

 

 

Рассмотрим последний оператор — условный оператор.
Вот его схема.

“Условие” ? “действие при истинном условии”:
“действие при ложном значении условия”

 

Пример его использования представлен в листинге 2.16.

 

Листинг 2.16.
Пример использования условного оператора

public class Example
{
    public static void main(String[] args) {

        int a = 10;
        a = a < 0 ? a : -a; // Если а меньше 0, оставим как есть, если нет - меняем знак.
        
        int b = -5;
        b = a > b ? b - 5 : b + 5; // Если -10>-5, то вычтем из b 5, если нет - прибавим.
    }
}

 

 

В табл. 2.9 перечислены операторы в порядке уменьшения их приоритета.

Таблица 2.9. Приоритеты выполнения операторов

2016-05-29_08-55-26

 

Резюме
1.         Переменная — это именованная ячейка памяти компьютера, которая может хранить данные определенного типа. Константа — это переменная, объявленная с модификатором final и, следовательно, не способная менять своего значения.
2.         Литералы — это константы определенного типа данных, записанные по правилам языка Java.
3.         Тип данных указывает переменной, какие данные и в каком диапазоне значений она будет содержать.
4.         Существует множество специальных операторов, позволяющих работать с переменными определенных типов данных.
5.         Массив — это набор данных одного типа.
Вопросы
1.         Что такое переменная?
2.         Что такое константа?
3.         Что такое литералы и какие они бывают?
4.         Какие бывают типы данных?
5.         Что такое преобразования усечения и приведения?
6.         Что такое строковые объекты и как с ними работать?
7.         Что такое массивы и какие они бывают?
Контрольные упражнения
1.         Напишите программу, использующую массив, который содержал бы имена всех учащихся двух классов.
2.         Напишите программу, которая вычисляла бы длину разных окружностей с диаметрами, взятыми из элементов массива.

< Предыдущая       Оглавление       Следующая >

Коментарі: 4
  1. Леонид Воробьев

    Таблица 2.9. Приоритеты выполнения операторов

    не отображается

    1. Виталий Непочатов
      admin (автор)

      Спасибо, исправлено

  2. Андрей

    «Условие» ? «действие при истинном условии»;
    «действие при ложном значении условия»

    точку-с-запятой поменяй на двоеточие

Додати коментар