Руководство по Java metanit com Данный раздел посвящен языку программирования Java и всем сопутствующим



Download 1,75 Mb.
Pdf ko'rish
bet9/110
Sana23.02.2022
Hajmi1,75 Mb.
#177154
TuriРуководство
1   ...   5   6   7   8   9   10   11   12   ...   110
Bog'liq
2 5305247065486395003

Массивы
Если переменные предназначены для хранения одиночного значения, то массив
представляет набор однотипных значений. Объявление массива похоже на объявление
переменной: тип_данных название_массива[], либо тип_данных[] название_массива. Например,
int nums[];
char[] stroka;
Вместе с объявлением мы можем сразу же создать массив:
int nums[] = new int[4];
char[] stroka;
stroka = new char[6];
Создание
массива
производится
с
помощью
следующей
конструкции:
new
тип_данных[количество_элементов], где new - ключевое слово, выделяющее память для
указанного в скобках количества элементов. Например, int nums[] = new int[4]; - в этом
выражении создается массив из четырех элементов int и каждый элемент по умолчанию равен
нулю.
После создания массива мы можем обратиться к любому его элементу и изменить его:
int[] nums = new int[4];
nums[0] = 1;
nums[1] = 2;
nums[2] = 4;
nums[3] = 100;
System.out.println(nums[3]);
Отсчет элементов массива начинается с 0, поэтому в данном случае, чтобы обратиться к
четвертому элементу в массиве, нам надо использовать выражение nums[3].
И так как у нас массив определен только для 4 элементов, то мы не можем обратиться,
например, к шестому элементу: nums[5] = 5;. Если мы так попытаемся сделать, то мы получим
ошибку.
В предыдущем примере мы сначала создали массив, а потом по отдельности
проинициализировали каждый его элемент. Однако есть и альтернативные пути инициализации
массивов:
// эти два способа равноценны
int[] nums2 = new int[] { 1, 2, 3, 5 };
int[] nums3 = { 1, 2, 3, 5 };
Здесь мы сразу указываем все элементы массива.
Многомерные массивы
Ранее мы рассматривали одномерные массивы, которые можно представить как цепочку или
строку однотипных значений. Но кроме одномерных массивов также бывают и многомерными.
Наиболее известный многомерный массив - таблица, представляющая двухмерный массив:
int[] nums1 = new int[] { 0, 1, 2, 3, 4, 5 };
int[][] nums2 = { { 0, 1, 2 }, { 3, 4, 5 } };
Визуально оба массива можно представить следующим образом:
Одномерный массив nums1
0 1 2 3 4 5
0
1
2
3
4


5
Поскольку массив nums2 двухмерный, он представляет собой простую таблицу. Его также
можно было создать следующим образом: int[][] nums2 = new int[3][3];. Количество квадратных
скобок указывает на размерность массива. А числа в скобках - на количество строк и столбцов. И
также, используя индексы, мы можем использовать элементы массива в программе:
// установим элемент первого столбца второй строки
nums2[1][0]=44;
System.out.println(nums2[1][0]);
Объявление трехмерного массива могло бы выглядеть так:
int[][][] nums3 = new int[2][3][4];
Массив массивов
Многомерные массивы могут быть также представлены как "зубчатые массивы". В
вышеприведенном примере двухмерный массив имел 3 строчки и три столбца, поэтому у нас
получалась ровная таблица. Но мы можем каждому элементу в двухмерном массиве присвоить
отдельный массив с различным количеством элементов:
int[][] nums = new int[3][];
nums[0] = new int[2];
nums[1] = new int[3];
nums[2] = new int[5];
Работа с массивами и класс Arrays
Важнейшее свойство, которым обладают массивы, является свойство length, возвращающее
длину массива, то есть количество его элементов: int length = nums.length;
Для работы с массивами в библиотеке классов Java в пакете java.util определен специальный
класс Arrays. С его помощью мы можем производить ряд операций над массивами.
Копирование массивов
Массивы, также как и переменные, мы можем присваивать:
int[] numbers = new int[] { 1, 2, 3, 5 };
int[] figures = numbers;
figures[2]=30;
System.out.println(numbers[2]); // равно 30
Здесь два массива, второму присваивается первый массив. Однако на самом деле при
присвоении переменная figures будет хранить ссылку на область в памяти, где находится массив.
В итоге и figures и numbers будут указывать на один и тот же массив, и если мы изменим элемент
в массиве figures figures[2]=30, то изменится и массив numbers, так как это фактически один и тот
же массив. Чтобы такой проблемы избежать, надо использовать копирование массивов.
Для копирования используется метод Arrays.copyOf:
import java.util.Arrays;
public class Program {
public static void main(String[] args) {
int[] numbers = new int[] { 1, 2, 3, 5 };
int[] figures = Arrays.copyOf(numbers, numbers.length);
figures[2]=30;
System.out.println(numbers[2]); // равно 3
}
}
Метод Arrays.copyOf(numbers, numbers.length) принимает два параметра: первый параметр -
массив, который надо скопировать, а второй параметр - сколько элементов надо скопировать.
Сортировка
С помощью метода Arrays.sort можно отсортировать массив:
// элементы массива в произвольном порядке
int[] numbers = new int[] { 1, 7, 3, 5, 2, 6, 4 };
Arrays.sort(numbers);


// в цикле выводим все элементы массива по порядку
for(int i=0;iSystem.out.println(numbers[i]);



Download 1,75 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   ...   110




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish