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