Java — один из самых востребованных языков программирования, не говоря уже об одном из двух официальных языков разработки под Android. В этом курсе для начинающих Java мы рассмотрим основы, чтобы дать вам прочную основу и понимание того, как работает язык и что вы можете с ним делать.
Предпосылки
Этот курс для начинающих Java предполагает, что у вас нет опыта программирования. Однако, чтобы продолжить, вам нужно будет использовать онлайн-компилятор. Это такой терминал, в котором вы можете ввести код Java, а затем протестировать свои проекты.
Хороший пример можно найти здесь: Repl.it. В противном случае вы также можете найти ряд компиляторов Java в Google Play Store и Apple App Store.
Выбрали свой редактор? Отлично, приступим!
Курс для начинающих по Java, часть 1: Hello world!
Традиционно при изучении любого нового языка программирования первое, что должен показать учебник — это как напечатать «Hello World!» на экране. В зависимости от выбранного вами языка программирования это может быть просто или сложно! К сожалению, Java немного больше склоняется к последнему лагерю.
Чтобы выполнить эту, казалось бы, простую задачу, вам нужно будет ввести следующий код:
Скорее всего, вам не нужно будет ничего писать, поскольку большинство редакторов Java будут заполнять новые файлы чем-то подобным сразу. Так что же все это значит?
Во-первых, мы создаем «класс» под названием «Main». Классы — это фрагменты кода, которые в основном используются для создания «объектов данных». Объекты данных состоят из свойств и функций. Например, вы можете использовать класс для создания объекта «охотник» в программе, который будет состоять из его свойств (2 ноги, зеленый цвет, лазерная пушка) и функций (ходьба, стрельба, взрыв). В Java блоки кода, выполняющие функции, называются «методами».
Также прочтите: Python или Java: какой язык лучше изучать и в чем различия?
Однако классы также могут использоваться для размещения последовательностей операторов, которые выполняются последовательно для создания программы. Чтобы определить класс как «Main», тот, который загружается первым при нажатии кнопки «Выполнить», он также должен содержать метод под названием «main».
В Java вы группируете строки кода вместе, используя фигурные скобки и отступы. Итак, если мы скажем:
Все, что следует за первой фигурной скобкой, будет частью основного класса и должно иметь отступ. Мы делаем то же самое для нашего основного метода, что означает, что все, что содержится как в классе, так и в методе, будет иметь двойной отступ. Метод в этом коде — это блок кода, который запускает «public static void». Следующее имя — это то, что мы хотим назвать нашим методом.
Блок кода заканчивается, когда мы используем противоположную фигурную скобку. Важно помнить, сколько фигурных скобок мы открыли, столько мы должны и закрыть!
Аргументы и синтаксис
Вы должны заметить, что за заголовком метода следует несколько слов в скобках. Они называются «аргументами», и они позволяют нам передавать значения в функцию и из нее. Вам не нужно беспокоиться об этом прямо сейчас, просто знайте, что всегда должен быть «основной» метод и что основной метод должен включать эти аргументы.
Наконец, мы можем использовать инструкцию (команду), которая выводит «Hello world!» к экрану. Мы заканчиваем эту строку точкой с запятой, так вы заканчиваете каждую строку, которая не заканчивается фигурной скобкой в Java. Если вы хотите узнать больше о синтаксисе Java и его причинах, ознакомьтесь с нашим введением в синтаксис Java для разработки под Android.
Делаем вещь: вводим переменные
Итак, у нас 600 слов в этом курсе для начинающих по Java, и мы еще не написали ни строчки кода. Пора это исправить!
Мы просто добавим две строки и изменим одну из строк, чтобы сказать что-то новое:
Что мы здесь сделали, так это создали новую «строку» с заголовком «name» и значением «Mr Pimples». Строка — это тип переменной, которая, по сути, представляет собой слово, которое может представлять часть данных. Переменные бывают всех форм и размеров; включая «целые числа», которые являются целыми числами, и «числа с плавающей точкой», которые являются числами с десятичным разделителем.
Вы можете вспомнить переменные из математики, где:
“Если a + 5 = 7, a = 2”
Здесь «a» представляет значение (2) и, таким образом, может заменять это значение.
Почему это полезно? Потому что это позволяет нам изменить то, что делает наш код, просто изменив значение переменной. Например:
Scanner — это объект, который позволяет нам получать информацию из пользовательского ввода. Здесь мы просим пользователя ввести свое имя, а затем присваиваем строке «имя» текст, который они вводят. Мы можем отвечать пользователю, используя это имя, а не просто отображать общее сообщение!
Обратите внимание, что переменная находится вне кавычек, показывая, что нам нужно значение этой строки, а не слово «name».
(Хотите знать, что делает «import java.util.Scanner»? Мы доберемся до этого через мгновение, но молодцы, что были внимательными!)
Использование методов
Теперь у вас есть представление о том, что такое переменная, пора перейти к изучению методов в этом курсе для начинающих по Java!
Метод — это, по сути, блок кода, который выполняет одно или несколько заданий. Полезность метода заключается в том, что его можно вызывать из любого места вашего кода. Это означает, что вы можете выполнять одно и то же задание несколько раз без необходимости повторного написания кода. Это также означает, что вам будет легче вносить изменения в свою программу, поскольку вам нужно изменить этот код только один раз.
Чтобы увидеть, как это работает, давайте напишем еще один вариант нашего «Hello World!» код:
Эта версия программы делает то же самое, что и раньше. Единственная разница в том, что сам факт произнесения «Hello World!» проводится отдельной методикой. Это означает, что мы можем многократно выводить сообщение на экран, выполнив следующие действия:
Конечно экономит время!
Еще одна замечательная особенность методов, которую вам нужно изучить в этом курсе для начинающих по Java, заключается в том, что они могут каждый раз вести себя по-разному.
Именно здесь на помощь приходят «аргументы». По сути, аргумент — это переменная, которую вы передаете методу, который затем может изменить способ действия метода. Когда вы определяете метод, вы просто создаете новые переменные и вставляете их в скобки. Как и раньше, мы делаем это, записывая тип переменной (String), а затем ее имя (userName).
Теперь, когда мы вызываем метод helloMethod, нам нужно поместить строку в эти скобки. Теперь мы можем это сделать:
Или это:
Использование классов
В следующей части этого курса для начинающих по Java мы сделаем нечто совершенно иное: построим автомобиль!
Для этого вы собираетесь создать новый класс за пределами всех фигурных скобок:
Всякий раз, когда вы создаете новый класс, отличный от основного, вам нужно будет использовать метод, называемый «конструктором». Этот конструктор используется для определения свойств «объекта», который вы собираетесь создать. Помните: классы существуют в основном для создания объектов данных, и в этом случае мы создаем автомобиль.
Поэтому нам нужно определить кучу разных переменных для нашего автомобиля, что мы делаем вне метода. Затем нам нужно присвоить значения этим переменным, используя их в качестве аргументов в нашем конструкторе. Это позволяет нам определить, каким будет наш автомобиль.
(Обратите внимание, что для целых чисел используется строчная «int», а у «String» — верхний регистр — это уникально для переменной String).
Теперь, вернувшись к классу Main и методу main , мы собираемся сделать следующее:
В основном, мы используем конструктор, чтобы сделать два отдельных «объекта данных» типа «Автомобиль». Мы делаем это точно так же, как мы создавали наши переменные ранее, за исключением того, что мы используем конструктор для присвоения нескольких значений.
Самое замечательное в создании объектов с использованием классов состоит в том, что вы можете создавать несколько объектов из одного класса. Здесь класс работает как «план». Таким образом, мы можем создать два разных автомобиля с разными названиями, разных цветов и разной скорости!
Публичные методы
Еще вы могли заметить, что в нашем классе Car есть метод под названием «speed». Speed — это метод, который позволяет нам заправлять автомобиль, и все, что он делает, это добавляет скорости к нашей переменной carSpeed.
Помните: у объектов есть свойства и функции. Или, иначе говоря: переменные и методы!
Итак, если мы скажем:
Мы увидим, что наш автомобиль едет быстрей, когда распечатает вторую строку!
Конечно, создание информационных автомобилей не так уж и полезно. Но что было бы полезно, так это сделать счетчик очков в компьютерной игре, сделать пользователей инструментом управления контактами или создать любое количество других абстрактных конструкций.
Сила Java
Причина, по которой я действительно хотел объяснить классы и объекты в этом курсе для начинающих по Java, заключается в том, что это поможет вам лучше понять основы Java и многих других языков программирования.
Потому что всякий раз, когда вы смотрите на кусок кода Java, вы, вероятно, увидите множество операторов, которые полагаются на методы и переменные из других классов. В Java есть несколько «встроенных» классов, и их легко добавить по мере необходимости.
Например: когда мы печатаем на экран, используя:
Мы говорим о классе с именем System, а затем используем его метод строки печати! Затем мы передаем строку, которую хотим напечатать, в качестве аргумента. Вот почему нам нужно так много слов и точек, чтобы достичь чего-то, казалось бы, довольно простого.
Причина, по которой «String» пишется с заглавной буквы, заключается в том, что это на самом деле объект, а не «примитивный тип». Следовательно, мы можем делать такие вещи, как String.length, чтобы узнать, какова длина строки! Классы обычно пишутся с заглавной буквы.
Дополнительные библиотеки и классы
Мы можем легко расширить возможности Java без написания большого количества дополнительного кода, «импортировав» дополнительные классы. Вот что мы сделали, чтобы получить ввод от пользователя:
Важность классов и объектов также объясняет большую часть «шаблонного» кода (кода, который вы пишете снова и снова). Причина, по которой мы говорим «public», заключается в том, что мы говорим Java, что хотим, чтобы другие классы имели доступ к методу. Противоположным является «private», что означает, что метод ограничен классом, обычно потому, что он связан с некоторыми внутренними процессами, которые не должны изменяться.
Между тем фраза «static» сообщает Java, что метод действует на программу в целом, а не на «экземпляр» конкретного объекта.
Не волнуйтесь, это еще не все. Может пройти некоторое время, прежде чем Java начнет обретать смысл! Но, надеюсь, это даст вам хоть какое-то представление о том, на что вы смотрите, читая любую страницу кода Java.
Возврат значений
Итак, что означает «void»?
Void сообщает нам, что метод не возвращает никакого значения. Это по сравнению с методами, возвращающими переменную.
Например: что произойдет, если мы захотим поговорить с нашим кроликом? В этом случае мы могли бы создать метод, который возвращает строку, где эта строка содержит сообщение, которым кролик хочет поделиться:
Когда мы определяем метод как String, важно, чтобы он использовал оператор return в качестве последней строки, чтобы вернуть эту строку.
Теперь мы можем рассматривать этот метод как любую другую строку:
Управление потоком
Прежде чем мы завершим этот курс для начинающих по Java, необходимо понять еще одну концепцию: управление потоком.
Управление потоком означает, что мы можем изменить код, который выполняется в зависимости от значения переменной. Это позволяет нам реагировать на взаимодействия, предоставляемые пользователем, или на другие факторы, такие как время суток, внешние файлы или продолжительность работы программы.
Например, мы можем предположить, что наш кролик голоден, если его вес ниже определенного. Поэтому он хотел бы сказать нам, чтобы мы его накормили!
Здесь пригодится оператор «if». Операторы if — это блоки кода, которые выполняются только при соблюдении определенных условий. Эти условия заключены в квадратные скобки. Так:
Обратите внимание, что символ «<» означает «меньше». Следовательно, мы запускаем код в блоке кода, только если вес кролика меньше 11.
Еще один полезный оператор — else, который мы можем использовать сразу после оператора if, чтобы определить, что происходит, когда условия не выполняются:
Теперь наши кролики будут говорить нам, что они голодны, пока их не накормят. Как только они станут более 10 килограмм, они перестанут говорить нам, чтобы мы их кормили, и вместо этого назовут нам свои имена.
Вот весь код:
Хотя эта конкретная программа — вы можете легко увидеть адаптировать эту программу в полноценный «симулятор питомца», например, тамагочи. За исключением того — и я здесь просто плююсь — проблема будет в том, что у нас есть несколько разных кроликов, которыми нужно управлять. Добавьте функцию «какашки», чтобы они снова проголодались, дайте им возможность размножаться, и у вас получится веселая маленькая игра в жанре менеджмент.
Добавьте немного графики, и вы станете популярным! Неплохо для начального курса Java!
Завершение курса Java для начинающих
Все это нужно усвоить за один присест, поэтому не стоит беспокоиться, если вы изо всех сил пытаетесь осмыслить все это. Тем не менее, это самые важные концепции в Java, и, как только вы их усвоите, вы на правильном пути к созданию более полезных приложений.
Фактически, это лучший способ учиться: выбрать хороший стартовый проект и застрять в нем. Исследуйте то, чего вы не знаете, и пополняйте свои знания по ходу дела! Надеюсь, вы обнаружите, что все это имеет немного больше смысла благодаря этому курсу для начинающих по Java.