Java cправочник

Здесь я храню содержание всех статей справочного характера на тему Java программирование. Создан как дополнительный источник справочной информации к курсам Компьютерной Академии. Хотя справочник и содержит большое количетво информации по теме в удобной и понятной форме, он не является пособием для самообразования. Я считаю, что фундаментальные знания лучше получить от учителя, так быстрее и легче. К самообразованию можно прибегать только в случае крайней нужды.

Если уж до этого дошло используйте материалы [учебника]. Над учебником в текстовом виде я тружусь в поте лица, сейчас есть только видео уроки.

Первый урок курса Основы Программирования даром,
сразу после регистрации учитесь на здоровье >>.

Основы Программирования

(фундаментальные блоки, существуют во всех языках программирования, рассмотрены на примере языка java)

1. Примитивные типы данных в Java
2. Переменные в Java
3. Строки в Java. Практическое применение
4. Методы в Java
5. Java циклы
6. Java массивы

Если вам понравилась статья ставьте лайк, жмите кнопку и продолжайте учиться!

Как стать программистом и зарабатывать от $2000 в месяц.


Java массивы

Java массивы

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

Мы повсеместно встречаем массивы в реальной жизни. Это всё, что отвечает простым характеристикам: тип и количество мест. Помещение с заранее известным количеством мест обитания живых существ или контейнер для хранения заданного количества одинаковых объектов.

Солдатская казарма с койками, конюшня или коровник, школьный класс, коробка с карандашами, набор цветной бумаги, ящик с бутылками, колода карт.

В Java, массив является коробкой для хранения объектов одного, изначально заданного, типа. Максимальное количество объектов указывается при создании. С точки зрения реализации — это область зарезервированная в оперативной памяти. Как записывать и читать из памяти объекты Java программиста не заботит, этим занимается виртуальная машина (jvm).

Посмотрите видео что такое массив >>

Как создать массив

Создать массив так же просто как и переменную. Дам вам несколько примеров прямо в коде.

[code language=»java»]
// стандартная форма создания массива
// тип, скoбки [], говорящие Java что это массив
// new команда выделения памяти, далее тип и количество ячеек
int[] numbers = new int[100];

// сокращённая форма, если значиная известны заранее
String[] names = new String[] {"Oleg", "Anna", "Elena"};

// вообще сокращённая форма
boolean[] flags = {true, false};
[/code]

После запуска такой команды Java выделит память, создаст массив и заполнит его значениями по умолчанию. Для примитивных типов это 0 или false, для ссылочных null. Если мы задаём значения заранее, размер массива будет ограничен их количеством. В моём коде выше с именами 3, с флажками 2.

Посмотрите видео массив синтаксис >>

Доступ к элементам массива

Каждая ячейка массива миеет целочисленный уникальный индекс начиная с нуля 0, 1, 2, 3, 4,.. по этому индексу мы и получаем доступ к ячейке.

[code language=»java»]
String[] names = {"Oleg", "Anna", "Elena"};

System.out.println(names[0]); // вернёт Oleg
System.out.println(names[1]); // вернёт Anna
System.out.println(names[2]); // вернёт Elena

// запишет Igor в ячейку с индексом 1
names[1] = "Igor";
System.out.println(names[1]); // вернёт Igor

// запишет в нулевую ячейку содержимое второй ячейки
names[0] = names[2];
[/code]

Задания на закрепление

1. Создайте массив целых чисел, заполните его числами от одного до десяти.
2. Распечатайте содержание ячеек массива с помощью цикла for
3. Отсортируйте массив чисел по убыванию

Массив как параметр

Эта тема достаточно интересная и её лучше воспринимать визуально. Я записал для вас видео смотрите >>.

Многомерные массивы

Многомерные массивы используются в современном мире программирования достаточно редко, но всё же о них стоит немного рассказать. Доступ к элементам и создание массива аналогично одномерному, единственное различие количество квадратных скобок, которые задают мерность. По сути многомерные массивы это массивы, которые хранят массивы.

Мы будем хранить в массиве информацию о людях (имя, возраст, пол, город проживания если знаем). Условно нам нужно записать эти данные в массив, на одного человека один массив. Потом создать двумерный массив куда мы поместим массивы с информацией о людях.

[code language=»java»]
String[][] people = new String[10][];

people[0] = new String[] { "Oleg", "31", "male", "Kiev" };
people[1] = new String[] { "Anna", "27", "female" };
people[2] = new String[] { "Boris", "54", "male" };
[/code]

Доступ к элементам многомерного массива осуществляется идентично с одномерным по индексу.

[code language=»java»]
// получаем массив с данными о человеке
String[] human = people[1];

// можем сразу получить данные из внутреннего массива
String name = people[0][0];
String age = people[0][1];
[/code]

Более детально на видео смотрите >>.

Задание на закрепление

Создайте метод long getPopulation(String[][] data), который возвращает население всех стран в сумме.

Входящие данные:

Страна Столица Население
China Peking 1 354 040 000
India New Delhi 1 210 569 573
USA Washington D.C. 316 305 000
Indonesia Jakarta 237 641 326
Brazil Brasilia 193 946 886
Pakistan Islamabad 183 748 060


Несколько полезных методов для работы с массивами.

В jdk есть утилитный класс Arrays там содержатся методы для сортировки массива, заполнения массива, поиска по массиву, копирования массивов и красивого вывода на экран.

[code language=»java»]
// создаём массив чисел
int[] numbers = new int[100];

// заполняем его десятками
Arrays.fill(numbers, 10);

// красиво распечатываем
System.out.println( Arrays.toString(numbers) );
[/code]


Если вам понравилась статья ставьте лайк, жмите кнопку и продолжайте учиться!

Как стать программистом и зарабатывать от $2000 в месяц.


Java циклы

Java циклы
Цикл является фундаментальным блоком программирования и присутствует в любом языке программирования. Цикл предназначен для выполнения одного и того же участка кода несколько раз подряд. Это встречается довольно часто например, посчитать зарплату всем сотрудникам компании, поставить печати и подписать 25 договоров, накормить детей.

В Java есть 4 вида циклов, все они работают одинаково обычно используют первые два.

while

[code language=»java»]
int i = 10;

while (i > 0) {
System.out.println(i);
i += 1;
}
[/code]

Пока логическое условие в круглых скобках возвращает true код в фигурных скобках цикла будет выполняться снова и снова.

Подробнее на видео смотреть >>

for each

[code language=»java»]
int[] numbers = new int[10];

for (int number : numbers) {
System.out.println(number);
}
[/code]

Это интересный цикл, он используется в случае когда нам нужно пробежаться по всем элементам коллекции или массива и для каждого сделать какое-либо действие. В скобках мы создаём переменную в которую будут по очереди записываться значения и через двоеточие коллекцию или массив по которому мы будем бегать.

for

[code language=»java»]
int[] numbers = new int[10];

for (int i = 0; i < numbers.length; i++) {

int number = numbers[i];
System.out.println(number);
}
[/code]

Стандартный цикл for используется в основном для проходов по массивам и в том случае, где нам нужен индекс. Выражение в скобках разделено на три части знаком (;).

— Первая часть объявление переменных, выполняется один раз до первой итерации по циклу.
— Вторая условие, выполняется на каждой итерации и в случае результата false цикл прекращается.
— Третья выполняется после каждой итерации последней строчкой кода, обычно используется для приращения счётчика.

Все три части являются не обязательными и могут быть пустыми.

На первый взгляд оператор кажется запутанным, так оно и есть, поэтому в 99% случаев он используется только так, как в моём примере выше.

У меня есть несколько видеороликов, если хотите разобраться более детально
где использовать >>  синтаксис детально >>

do while

[code language=»java»]
int number = 10;

do {
System.out.println(number);
number -= 1;
} while (number > 0);
[/code]

Работает идентично первому, только условие проверяется после первой итерации. Я его не использую вообще.

Оператор break

Если вдруг нам по какой-то причине захотелось прервать выполнение цикла мы можем это сделать с помощью оператора break. Например, мы бежим по всем символам в строке и выводим их на экран до тех пор пока не встретим бкуву а.

Оператор continue

Используется в случае когда мы хотим прервать выполнение программы и перейти к новой итерации цикла. Например, мы насчитываем премию всем сотрудникам, если они не опаздывали на работу. Пишем цикл который бежит по списку сотрудников и проверяем опаздывал он на работу или нет. Если опаздывал мы переходим к следующему человеку при помощи continue.

Если вам понравилась статья ставьте лайк, жмите кнопку и продолжайте учиться!

Как стать программистом и зарабатывать от $2000 в месяц.