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

Но прежде чем начать, я хотел бы немного рассказать вам о себе. Впервые я попытался научиться программировать в 2007 году, когда я прошел вводный курс по программированию на последнем курсе старшей школы. Задания были на Visual Basic, и в итоге я провалил курс и решил, что это не для меня. Затем, в 2010 году, я добился некоторого успеха в ведении блогов на WordPress, поэтому я решил попробовать учиться снова. В итоге я заказал Beginning PHP 6, Apache, MySQL 6 Web Development, который научил меня не только программированию, но и созданию баз данных (MySQL). Я создал несколько небольших веб-приложений и решил получить степень в области компьютерных наук в Университете Северного Иллинойса. Я начал в январе 2011 года и вскоре понял, что плохо разбираюсь в математике, что стало шуткой для моих друзей, поскольку информатика обычно сочетается с математикой. Ну что ж.

Я начал профессионально программировать в 2013 году, начиная от университетов и заканчивая стартапами, а также крупными предприятиями, на которых работают десятки тысяч человек. Я начинал с PHP / MySQL, а сегодня работаю в основном с Android (Java / SQLite). Я не хочу сказать, что каждый может научиться программировать, это определенно сложно. Однако, учитывая, что я все еще плохо разбираюсь в математике, мне нравится думать, что это не так сложно, как люди думают.

Начнем кодить на Котлине

Первое, что вам нужно сделать, это скачать и настроить IntelliJ IDEA. Продолжайте и следуйте этому руководству, а затем вернитесь к этой статье, когда закончите последний шаг. Если у вас возникнут какие-либо проблемы, дайте мне знать, прокомментировав эту статью, и я сделаю все возможное, чтобы вам помочь.

Итак, на этом этапе у вас должна быть установлена ​​IntelliJ, и, надеюсь, вы сможете запустить свое первое приложение на Kotlin. Поздравляю, я знал, что ты справишься. Итак, давайте начнем с создания нашей первой программы на Kotlin вместе. Мы собираемся расширить пример Hello World, который вы, вероятно, только что завершили, чтобы разрешить ввод с клавиатуры, а также реагировать на этот ввод.

Создать новый пакет

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

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

Так что используйте пакеты для организации вашего кода. В IntelliJ это можно сделать, щелкнув правой кнопкой мыши src, выбрав Создать и выбрав Пакет. Идите вперед и назовите пакет part_000.

Создать новый файл Kotlin

Пришло время добавить код в наш пакет. Для этого нам потребуется создать новый файл Kotlin. Вы можете добиться этого, щелкнув правой кнопкой мыши part_000, перейдя в New и выбрав Kotlin File / Class. Мы продолжим и назовем этот файл app, убедитесь, что выбран Kind, как File, и нажмите OK. .

Заставьте Котлина поздороваться с вами

В рамках вашего недавно созданного файла Kotlin мы начнем с ввода следующего кода.

fun main(args : Array<String>) {
    // This is a comment in Kotlin, it's ignored by the computer
    // but can be useful for humans trying to understand the code.
}

Для целей этой статьи просто предположим, что fun main(args : Array<String>) - это волшебство. Обещаю, что когда-нибудь в будущем я объясню, что это происходит, но сейчас просто знайте, что именно здесь будут запускаться ваши программы.

Разобравшись с этим, давайте разберемся, что такое { и каково его значение. пакет используется для хранения файлов, а файл - это место, где будет создан ваш код. Таким образом, { используется для организации похожих фрагментов кода, вы также можете называть это логикой. Когда вы закончите с этой частью логики, вы завершите ее знаком }, чтобы программа знала, что она достигла конца этой логики.

Последняя часть - это текст, который начинается с //, они известны как комментарии. Они полностью игнорируются компьютером и обычно используются для описания того, что делает ваш код. Часто бывает полезно на раннем этапе прокомментировать или задокументировать свой код, чтобы описать, что вы хотите, чтобы ваша программа выполняла, а затем вернуться и дополнить его логикой. Итак, давайте продолжим и обновим наш файл, чтобы он выглядел более похожим на этот.

fun main(args : Array<String>) {
    
    // Request the user for their name.

    // Print out a message with their name and let them know we're
    // going to start learning how to program in Kotlin.
    
}

Отлично, теперь мы описали, чего мы ожидаем от нашей программы. Мы хотим спросить имя пользователя, а затем распечатать сообщение с его именем, чтобы сообщить им, что мы собираемся начать обучение программированию на Kotlin. Кстати, если вы просто копируете + вставляете это в свой файл Kotlin (также известный как app.kt), пожалуйста, остановитесь. Лучший способ научиться - это напечатать это для себя и обратить внимание на то, что делает ваша IDE (интегрированная среда разработки). Вы заметите, что он может попытаться выполнить автозаполнение для вас или цвет текста может измениться в зависимости от вашего ввода. Все это сделает вашу жизнь в будущем намного проще.

Хорошо, отлично. Итак, следующее, что нам, вероятно, следует сделать, - это заполнить логику выполнения первого комментария. Если мы это сделаем, мы получим что-то вроде этого.

fun main(args : Array<String>) {

    // Request the user for their name.
    val yourInput = Scanner(System.`in`)
    System.out.print("Hey, who do I have the joy of speaking to? ")

    // Print out a message with their name and let them know we're 
    // going to start learning how to program in Kotlin.

}

Хорошо, позвольте мне более подробно объяснить, что делают обе эти строки. Первая строка создает переменную с именем yourInput. Переменные - это один из основных строительных блоков, которые можно найти в каждой программе. Метод определения переменных будет отличаться от языка к языку, и в Kotlin они определяются с помощью ключевого слова val, за которым следует имя, за которым следует разрешить программе то, чему оно равно.

Итак, в этой строке мы создали переменную с именем yourInput, которая будет принимать ваши данные с клавиатуры. В этой статье не беспокойтесь о том, что делает Scanner(System.'in'), просто знайте, что это то, что мы используем для захвата ввода с вашей клавиатуры.

Одна вещь, которую вы могли заметить, если вместо этого попытались ввести System.in, заключается в том, что IntelliJ выделил слово in и дал вам возможность выбрать что-то, называемое InputStream, если вы нажмете клавишу ввода, вы увидите, что это добавил тильду вокруг слова in. Причина, по которой это было сделано, заключалась в том, что в Kotlin слово in известно как ключевое слово, которое зарезервировано системой, ничто другое не может быть названо после ключевого слова.

Следующая строка сообщает системе, что нужно вывести сообщение пользователю. Мы разберем это немного дальше, сначала исследуя, что делает System.out.print(...). По сути, мы сообщаем системе ystem, что хотим вывести что-то, распечатав это на экране. Все, что находится в круглых скобках, будет распечатано для пользователя. В этом случае мы спрашиваем их, кто они.

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

fun main(args : Array<String>) {

    // Request the user for their name.
    val yourInput = Scanner(System.`in`)
    System.out.print("Hey, who do I have the joy of speaking to? ")

    // Print out a message with their name and let them know we're
    // going to start learning how to program in Kotlin.
    val yourName = yourInput.nextLine()
    System.out.println("Hello $yourName, let's learn how to program with Kotlin :)")

}

Теперь, прежде чем я объясню, что вы только что сделали, запустите приложение и убедитесь сами. Для справки вы можете запустить приложение, щелкнув значок справа от fun main и выбрав Выполнить part_000.AppKt

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

Итак, к этому моменту вы, возможно, заметили нижнюю часть обновления IntelliJ со следующим текстом: «Эй, с кем я могу поговорить?». Если вы щелкните этот раздел (он известен как Терминал) и наберете свое имя, а затем нажмете Enter, вы должны заметить, что ваше приложение приветствует вас, а затем завершает свою работу (завершает работу). Ниже приведен пример того, что я увидел, когда запустил это на своем компьютере.

Итак, теперь, когда вы увидели, как работает программа, для меня имеет смысл объяснить, что на самом деле делали эти две строки кода. В первой строке val yourName = yourInput.nextLine() мы создали вторую переменную с именем yourName. Эта переменная принимает ввод с клавиатуры, и как только вы нажимаете Enter, она принимает этот ввод и устанавливает для него значение yourName.

Чистая торпеда, а как насчет второй строчки? Это очень похоже на то, что мы сделали, чтобы спросить у пользователя его имя, за исключением того, что мы используем значение, хранящееся в yourName, для динамического заполнения значения.

System.out.println(“Hello $yourName, let’s learn how to program with Kotlin :)”)

Вы могли заметить, что вместо print мы говорим println. Все, что это делает, - это указание системе напечатать всю строку данных, чтобы в следующий раз, когда система что-то распечатает, это будет с новой строки. Вы также, вероятно, заметили, что мы ссылаемся на yourName со знаком доллара между кавычками. Вот как вы можете ссылаться на переменную в Kotlin из String символов. При этом я понял, что не смог объяснить один из самых важных аспектов нашей первой программы, а именно это "". Итак, я продолжу и закончу эту статью, объясняя это.

Какого черта нужны кавычки?

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

val codyEngel = "Cody Engel"

И это все, что я должен научить вас в этом введении. Поздравляем, вы только что создали свою самую первую (технически вторую) программу на Котлине!

Так куда же мы пойдем отсюда? Если вы читаете это вскоре после публикации этой статьи, вы как бы застряли, пока я не опубликую следующую статью. А пока я настоятельно рекомендую вам поиграть со своей программой и посмотреть, как вы можете ее изменить. Вы также можете щелкнуть значок в виде сердечка в этой статье, чтобы сообщить, что статья вам понравилась, или оставить комментарий, чтобы сообщить мне, что вы думаете, и если у вас возникли трудности с пониманием чего-либо в этой статье.

Готовы к еще одному уроку? Часть 001 уже доступна.