Kotlin в IntelliJ IDEA

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

Однако подсветка синтаксиса не хранится в самом файле программы. В файле сохраняется только исходный код. Файл может быть открыт в любом другом текстовом редакторе, поддерживающем другой вариант подсветки или вообще ее не поддерживающий.

Чтобы текст программы мог быть исполненным вычислительной машиной, его надо подвергнуть компиляции или интерпретации. Следовательно, кроме текстового редактора у разработчика должна быть программа-транслятор, которая преобразует исходный код в исполняемый.

В случае Kotlin исходный код компилируется (в одном из вариантов) в байт-код Java. Такой код исполняется посредством виртуальной машины Java, следовательно, на компьютере также должна быть установлена JVM.

В настоящее время программисты реже озадачивают себя подбором наиболее подходящего редактора и установкой компиляторов. Чаще используют готовые среды разработки – приложения по принципу "все в одном". Здесь и редактор, и возможность запускать программу нажатием одной кнопки. За сценой среда сама компилирует и, в случае байт-кода вызывает JVM для его исполнения. Также такие IDE (integrated development environment – интегрированная среда разработки) содержат множество дополнительных инструментов, плагинов, возможность подключать различные библиотеки, расширяющие средства языка. Все, что необходимо для профессиональной разработки.

Самой адаптированной под Kotlin средой разработки является IntelliJ IDEA. Раньше в ней писались преимущественно программы на Java. Однако с появлением Kotlin данная среда стала поддерживать и его, так как разработчиками IntelliJ IDEA и языка Kotlin является одна и та же фирма – Jet Brains. Это не значит, что программировать на Котлин можно только в IntlliJ IDEA. Однако, особенно для начинающих, ее следует считать лучшим выбором, так как она помогает определять не только ошибки в коде, но также указывает на любые недочеты.

Фирма Jet Brains предоставляет среду в двух вариантах – Ultimate (максимальный) и Community (общественный). Второй является бесплатным. Его возможностей достаточно для большинства разработчиков. Скачать среду можно с сайта компании по адресу https://www.jetbrains.com/idea/

Надеемся, вы сами сможете ее установить в своей операционной системе. Если у вас возникнут затруднения, можно обратиться к справочной информации на сайте Jet Brains – https://www.jetbrains.com/help/idea/installation-guide.html. Так в Linux установка скачанного пакета и запуск среды может выглядеть следующим образом:

Далее мы рассмотрим создание проекта на Kotlin и некоторые настройки IDE, делающие разработку в ней более удобной.

Если ни одни из предыдущих проектов не открыт, вы увидите окно Welcome, в котором надо выбрать New Project.

В открывшемся окне New Project в первую очередь следует обратить внимание на поле JDK. Если SDK не выбрано, следует его указать или загрузить. На скрине ниже показано окно после выбора в выпадающем списке JDK варианта Download JDK.

После нажатия на кнопку Download начнется загрузка компилятора, который будет транслировать вашу программу на Kotlin в байткод для виртуальной машины Java.

В окне New Project вы можете изменить имя своего проекта, место его размещения. Обратите внимание, что в качестве языка программирования выбран Kotlin, установлен флажок Add sample code.

После того как вы нажмете кнопку Create, среда начнет генерировать систему каталогов и конфигурационные файлы проекта. Это может занять некоторое время. В конечном итоге слева на вкладке Project вы увидите дерево каталогов (на скрине ниже оно развернуто, выделен файл Main.kt, который открыт в рабочей области).

Файлы с вашим программным кодом лучше всего помещать в каталог src, или один из его подкаталогов. Он для этого и предназначен. Src – по всей видимости сокращение от "source code" – исходный код.

Создавать новые файлы можно как через главное меню (File → New → …, файл создастся в выделенном каталоге), так и через контекстное. В последнем случае надо кликнуть по каталогу правой кнопкой мыши, выбрать Kotlin Class/File.

В дальнейшем, если потребуется организовать файлы по каталогам внутри src/main, то подкаталоги можно создавать командой New → Package. И уже в них создавать новые файлы.

При создании файла указывается его имя (произвольно), можно без расширения. В данном курсе мы не будем создавать классы, поэтому всегда выбираем вариант File.

Среда сама добавит к файлу расширение .kt, так как файл будет содержать код на Kotlin. Также файл откроется в рабочей области окна.

Вернемся к уже имеющемуся в проекте файлу Main.kt и упростим представленный в нем код до такого варианта:

fun main() {
    println("Hello World!")
}

Программа начинается с fun – это одно из ключевых слов языка Kotlin. Другими словами, является одной из команд. Команда fun означает, что будет определена функция. Подробно что такое функция, будет рассмотрено позже в данном курсе.

Слово main – название, или имя, функции. Имя функции может быть любым, но не в данном случае. В любой программе на языке Kotlin должна быть одна функция с именем main. Эта функция, с которой программа начинается. Если ее не будет, программа не сможет начать выполняться. Подобные функции или классы (как в некоторых других языках) называют точками входа. Однако во многих языках программы начинаются не так, а с верхней строчки кода, не считая так называемых импортов и объявлений.

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

Далее идет открывающая фигурная скобка, которой соответствует закрывающая фигурная скобка в самом конце. Между фигурными скобками находится тело функции. Оно выполняется при вызове функции. Функция main вызывается, когда программа запускается.

В нашем примере тело функции состоит всего из одной строки кода – println("Hello World!").

println – это тоже функция. Выражение println() – ее вызов. Однако тело main мы пишем сами, а тело println написали разработчики языка и встроили в него. Это так называемая built-in-функция. На данном этапе мы можем ее считать одной из команд языка, как считаем командой ключевое слово fun.

Итак, из функции main вызывается другая функция. Обратите внимание, что main мы определяем, а println вызываем. Это разные вещи. Функция вызывается, когда нам надо, чтобы ее тело выполнилось. При этом после имени функции ставятся круглые скобки.

В println() можно что-то передать, то есть в определении этой функции предусмотрены параметры. В данном случае мы передаем в функцию строку "Hello World!". Строка заключается в кавычки.

Что делает функция println? Она выводит то, что ей передали, в консоль. Каким образом это запрограммировано в ее теле, нас не волнует. Достаточно знать, что если мы вызовем функцию, то увидим на экране переданную ей строку.

Обратите внимание на маленький зеленый треугольник, расположенный перед первой строчкой кода. Если кликнуть по треугольнику, появится меню, где надо выбрать первый вариант Run 'MainKt'.

После этого среда выполнит компиляцию и сборку проекта (надо подождать), после этого запустит программу на исполнение. Результат выполнения программы вы увидите внизу на вкладке Run. В данном случае там будет строка "Hello World!".

Строка "Process finished with exit code 0" говорит, что программа закончилась так как надо, а не аварийно или с ошибкой.

Снова обратим внимание на структуру каталогов проекта. В нем появится каталог out, в котором находятся скомпилированные файлы проекта. В них содержится java-байт-код.

После первого запуска программы IntelliJ IDEA сама создаст конфигурацию запуска. Теперь программу также можно запускать, нажимая треугольник на панели инструментов (Shift + F10).

IntelliJ IDEA – настраиваемая среда. Если вас не устраивают, например, размер шрифта и тема оформления, их можно поменять. Делается это в окне настроек (File → Settings).

Смена темы оформления в окне настроек

Для того, чтобы размер шрифта в редакторе кода можно было менять, прокручивая колесо мыши при зажатом Ctrl, надо установить соответствующий флажок в разделе Editor → General.

Изменить размер шрифта по-умолчанию можно в разделе Font.

Чтобы в следующий раз не запускать IntelliJ IDEA через консоль, а делать это с помощью ярлыка, надо в главном меню приложения выбрать Tools, далее Create Desktop Entry.

Вопросы:

  1. Каким цветом IntelliJ IDEA подчеркивает и выделяет ошибки в коде?

  2. Есть ли разница между командами println() и print()?

  3. Что будет, если в конце выражения println("…") поставить точку с запятой?

  4. Возникнет ли ошибка, если перед println() убрать отступ? Зачем он нужен?

PDF-версия курса с ответами к практическим работам


Kotlin с нуля. Курс для начинающих




Все разделы сайта