Читать бесплатно книгу «JAVA 2021: лёгкий старт» Павла Александровича Забелина полностью онлайн — MyBook

Глава 1. Первая программа
Что такое программирование

Программирование – это процесс написания команд, которые потом будет выполнять компьютер. Очень важно понимать, что компьютер не умеет думать. Все, что компьютер делает: он исполняет команды. У программиста может складываться впечатление, что происходит какое-то «колдунство» и компьютер вытворяет самолично с программой, что захочет. Но на самом деле, это будет только означать, что программист не учел каких-то особенностей функционирования программы или библиотек, которые он использует, или нюансов как работает внешний источник данных, к которому он обращается. Чем профессиональней программист – тем меньше «неожиданных чудес» можно ожидать от написанного им кода.

Программирование на Java состоит из нескольких этапов:

– Написание программы на языке Java в редакторе

– Компилирование программы в байт-код (код понятный виртуальной машине Java) с помощью программы-компилятора

– Исправление ошибок компиляции (compilation errors), если такие произошли в процессе компиляции

– Запуск программы в виртуальной машине Java.

– Исправление ошибок выполнения (runtime errors), если видим, что «что-то пошло не так»

– Повторение пунктов 2—5 пока мы не получили работающую по нашему замыслу программу.

Можно писать код в одном из текстовых редакторов (Notepad, Notepad++, Atom, Sublime) и потом дальше через командную строку запускать компилятор, а потом запускать программу. Но все это громоздко и неудобно, именно поэтому программисты написали специальные программы, в которых можно делать полный цикл разработки программы гораздо проще и удобнее. Такие программы называются IDE (Integrated Development Environment) – интегрированная среда разработки, в ней происходит и написание программы, и компиляция, и выявление ошибок, и запуск программы. К тому же, большинство из них еще и подсказывают разработчику, что и в каком случае можно использовать и где он возможно уже совершает ошибку.

В мире Java-программирования есть несколько популярных IDE: IntelliJ IDEA, Eclipse, NetBeans. NetBeans самая редко используемая IDE на текущее время. Eclipse – это бесплатная IDE, с тысячами полезных плагинов, облегчающая жизнь разработчика. Поэтому, вполне возможно, что в крупной компании, в которую вы придете работать, будут использовать именно Eclipse. И это стоит учитывать, потому что на самом деле вы захотите пользоваться только одной IDE: IntelliJ IDEA – лучшая и самая удобная IDE на текущий момент для написания программ на Java.

Настраиваемся на программирование. Устанавливаем IDE

Так как предполагается, что мы изучаем с нуля, то мы не будем заморачиваться с установкой виртуальной машиной Java и полного пакета для разработчика Java SDK. Достаточно будет скачать текущую версию IntelliJ IDEA, в которой есть все что нам будет нужно для старта.

Заходим на сайт https://www.jetbrains.com/idea/download/

выбираем версию для скачивания: Ultimate (т.е. полную, но платную, хотя есть пробный период) или Community (тоже достаточную для наших целей)


Скачиваем и запускаем. Проходим через мастер установки, соглашаясь со всем что предлагают:







На Рабочем столе появится иконка приложения:



Дважды кликаем для запуска IntelliJ IDEA. И снова проходим еще через несколько экранов настройки (это будет только единожды):


не импортируем никакие настройки


Соглашаемся…


Выбираем светлую тему (это всегда можно изменить в настройках)


Я скачал версию Ultimate, поэтому выбираю пробный период


И вот финальный экран, где нужно кликнуть на Create New Project.


Слева должно быть выбрано Java, в центре вверху Project SDK: 11 (это версия Java, идущая вместе с IntelliJ IDEA), нажимаем Next.


Ставим галочку Create project from template, выбираем Command Line App и кликаем Next.


В поле Project name вводим HelloWorld (это название нашего проекта) и нажимаем Finish.


Никогда не используйте русских букв (кириллицы) в названиях проектов, классов и т. д.

IDEA немного «подумав» откроет нам основное окно, в котором мы будем разрабатывать наши программы, и также откроется поверх маленькое окошко «Tip of the Day» – просто закройте его кликнув Close.



Теперь вам нужно написать свою первую строку кода, вместо надписи:

// write your code here.

Напишите там:

System.out.println («Hello world!»);



И запустите вашу первую программу нажатием на зеленый треугольник:



В итоге ваша программы выведет, в специальной панели IDEA:

Hello world!



То, что написано ниже: «Process finished with exit code 0», означает, что программа завершилась без каких-либо явных ошибок. Поздравляю всех, кто дошел до этого последнего шага и успешно запустил первую программу!

Если же у вас что-то не получилось с установкой IntelliJ IDEA или с созданием программы – не переживайте и не волнуйтесь. Вы можете поступить как настоящий программист: вбейте в Google\Yandex «как установить IntelliJ IDEA», «создание Hello world в IntelliJ IDEA» и уже на первой странице результатов вашего поиска вы обязательно найдете статью, в которой пошагово вам покажут, как это сделать. Так же вы можете эти запросы вбить в YouTube – в 2020 году уже существует достаточное количество видеороликов с подобной информацией.

Не бойтесь пользоваться поисковиками, сейчас информации более чем достаточно, более того в книгах не найти ответы на все свои вопросы.

Глава 2. Данные

Программирование – это процесс написания команд, которые потом будет выполнять компьютер, чтобы манипулировать данными. Основная причина, почему компьютеры стали очень распространенными устройствами – они умеют очень быстро обрабатывать огромные объемы данных. Любая задача для программиста – это задача про управление и преобразования данных, чтобы получить результат – другие данные. Соответственно данные надо где-то хранить: исходные данные, чтобы их прочитать и начать использовать, результаты – для сохранения промежуточных результатов (например, при очень сложных расчетах) или для финальных значений.

Данные, используемые программой, хранятся в памяти компьютера. Такая память называется оперативной памятью (и чем ее больше, тем быстрее работает компьютер, тем больше вкладок можно открыть в браузере :)). Память состоит из маленьких ячеек памяти. Каждая ячейка хранит одно значение 0 или 1, и называется бит. Принято считать, что 8 бит – это 1 байт. 1024 байта – это 1 килобайт. 1024 килобайт – это 1 мегабайт. 1024 мегабайт – это 1 гигабайт. Ну а потом уже следуют тера-, пета-, экса-…. байты.

Программисту, в процессе работы, приходится использовать большие и маленькие числа, которые могут занимать разное количество память. Для того, чтобы программа работала быстрее и старалась не использовать больше памяти, чем необходимо, программист использует типы данных.

Типы данных

Использование типов данных – это добровольное ограничение использования памяти. Например, программист знает, что в расчетах будет использоваться значение не больше 77, поэтому он использует тип данных short, для хранения этого значений. Для больших значений – соответственно другие типы данных. Вообще в Java существует 8 примитивных типов данных:

boolean – хранит один бит информации;

byte – хранит один байт информации, и соответственно целочисленные значения от -128 до 127 включительно;

short – хранит два байта информации, и соответственно целочисленные значение от -32768 до 32767 включительно;

int – хранит четыре байта информации, и соответственно целочисленные значение от -2147483648 до 2147483647 включительно;

long – хранит восемь байт информации, и соответственно целочисленные значения от – 9223372036854775808 (-2 в степени 63) до 9223372036854775807 (2 в степени 63 минус 1) включительно;

float – хранит четыре байта информации, и соответственно значения с плавающей точкой от 1.4х10—45 до 3.4х1038;

double – хранит восемь байт информации, и соответственно значения с плавающей точкой от 4.9х10—324 до 1.7х10308;

char – хранит 16 бит (2 байта), и соответственно символ в формате UTF.

То есть, когда нужно сохранить число 77 в памяти, и программист определил, что надо использовать для этого тип данных short, виртуальная машина Java выделит из общей памяти два байта.

В основном используют int и float, т.к. они покрывают большинство нужд.

Остается только один вопрос: как программист узнает где расположены эти два байта и как к ним обратиться. Именно для этого существуют переменные.

Переменные

Переменная – это указатель на область памяти определенного типа. Вы можете думать обо всем этом как о большом складе. Вы приходите на склад (вся свободная память компьютера) и говорите «мне нужно содержимое коробки с таким-то именем» (переменная) и заведующий склада (виртуальная машина Java) дает вам это содержимое. Также вы можете не только взять, но и положить туда то, что вам необходимо. Но если коробка маленькая, а вы пытаетесь засунуть туда большое содержимое – заведующий склада не даст вам это сделать и скажет, что вы ошибаетесь.

Несколько примеров как это выглядит в коде:

int box1;

int box2 = 70;

box1 = 50;

int box3 = box1 + box2;

System.out.println (box3);

В первой строке мы определяем переменную box1 типа int.

Во второй строке мы определяем переменную box2 типа int, при этом мы сразу кладем туда (или как говорят программисты «присваиваем») значение 100.

В третьей строке мы присваиваем переменной box1 значение 50 (программисты еще говорят «переменная box1 проинициализирована значением 50»). Если мы этого не сделаем, то получим ошибку на этапе компиляции нашей программы: компилятор скажет, что нельзя в программе использовать переменные, у которых нет значений.

В четвертой строке мы складываем содержимое box1 и box2 и присваиваем новой переменной box3 тоже типа int.

В пятой строке выводим на экран (или как еще говорят «распечатываем на экране») значение переменной box3 (120).

Как долго живут переменные?

Чем больше и сложнее программа, тем больше различных данных придется хранить в различных переменных. Причем зачастую нам нужны переменные только на какое-то время совершения какой-то операции или нескольких операций. Стоит ли хранить даже такие «временные переменные»? – конечно же нет. И как раз для этого была придумана «область видимости переменной», которое определяет, как долго переменная «будет жить», т.е. будет доступна для использования. На практике область видимости определяется фигурными скобками {} – переменная объявленная и проинициализированная внутри фигурных скобок «умирает» как только поток выполнения программы выйдет за эти скобки. Отсюда следует несколько областей видимости:

– локальная переменная объявленная внутри метода (доступна только внутри метода)

– переменная объявленная внутри класса (доступна только внутри объекта, порожденного из класса)

– статическая переменная класса (доступна все время, т.к. класс «живет» все время пока исполняется программа)

Бесплатно

4.49 
(45 оценок)

Читать книгу: «JAVA 2021: лёгкий старт»

Установите приложение, чтобы читать эту книгу бесплатно