Программа завершается. Какие именно команды могут быть в списке зависит от того
Скачать 51.06 Kb.
|
1. Команды Программа — это набор (список) команд. Сначала выполняется первая команда, затем вторая, третья, и так далее. Когда все команды выполнены, программа завершается. Какие именно команды могут быть в списке зависит от того, кто их выполняет: какие команды знает (и понимает) исполнитель. Собаке можно дать команду «Сидеть», «Голос», кошке — «Брысь», человеку — «Стой! Стрелять буду!», ну а роботу — «Работай! Работай, твою робомать». Программы, написанные на языке Java, исполняет JVM (Java Virtual Machine — виртуальная машина Java). JVM — это специальная программа, которая умеет исполнять программы, написанные на языке Java. Список ее команд довольно обширен. Например, этой командой можно вывести на экран надпись Робот — друг человека: System.out.println("Робот — друг человека"); Самая простая команда Но мы начнем не с команд, а с пары простых принципов. Знание нескольких принципов заменяет знание многих фактов. Принцип первый: в языке программирования Java каждую команду принято писать с новой строки. В конце команды ставится точка с запятой. Допустим, мы хотим 3 раза вывести на экран надпись Робот — друг человека. Вот как будет выглядеть код программы: System.out.println("Робот — друг человека"); System.out.println("Робот — друг человека"); System.out.println("Робот — друг человека"); Программа из трех команд Принцип второй: программа не может просто состоять из команд. Команды языка Java должны находиться внутри функций, а функции — внутри классов. Представьте себе диван. Диван не может быть сам по себе — он находится в какой-то комнате. Комната тоже не может существовать сама по себе — она находится в каком-то доме. Или же можно сказать, что дом делится на комнаты, а комнаты содержат вещи. Так вот, команды — это мебель. В языке программирования Java команда не может быть сама по себе: она — часть функции (функции в Java еще называют методами). А метод (функция) — это часть класса. Иными словами, класс делится на методы, а методы содержат команды. Java-программы состоят из классов, классы содержат методы, а методы — команды. 2. Структура типичной программы Программы на языке Java состоят из классов. Классов могут быть десятки тысяч. Минимальная программа — один класс. Для каждого класса заводится отдельный файл, имя которого совпадает с именем класса. Допустим, вы решили создать класс, который будет описывать дом (дом по-английски — House). Тогда вам нужно создать класс House, который будет содержаться в файле House.java. Если же вы решили описать в программе, например, кота (Cat — кот, по-английски), тогда вам нужно создать файл Cat.java и в нем описать класс Cat и т.д. Внутри файлов содержится текст – код на языке программирования Java. Обычно код класса состоит из имени класса и тела класса. Тело класса помещается в фигурные скобки. Вот как может выглядеть класс House: public class House { ТЕЛО КЛАССА } файл House.java Тело класса может содержать переменные (их еще называют данными класса) и методы (функции класса). Выглядит это примерно так: public class House { ПЕРЕМЕННАЯ А ПЕРЕМЕННАЯ Z МЕТОД 1 МЕТОД N } файл House.java Ну или вот конкретный пример: public class House { int a; int b; public static void main (String[] args) { System.out.print(1); } public static double pi () { return 3.14; } } файл House.java В примере выше a и b — это переменные, а main и pi — это методы. 3. Метод main() Классы могут содержать переменные и методы, но не обязаны. Могут быть классы без переменных или без методов. И даже без методов и переменных одновременно. Хотя толку от таких классов немного. Минимальная программа должна состоять минимум из одного класса, который должен содержать минимум один метод (функцию), с которого начинается выполнение программы. Такой метод должен иметь имя main. Минимальная программа выглядит вот так: public class House { public static void main (String[] args) { } } Минимальная программа Обратите внимание, что метод main в примере выше не содержит команд. Именно так: минимальная программа не содержит ни одной команды. На то она и минимальная. У класса, с которого начинается программа, может быть любое имя, но у метода main, с которого начинает выполняться программа, всегда один и тот же вид: public class House { public static void main (String[] args) { КОД МЕТОДА } } Красным подчеркнута неизменяемая часть: объявление метода main 1. Параметры метода println() Тело метода состоит из команд. Можно даже сказать, что метод — это команды, объединенные в группу, которой дали имя (имя метода). И так, и так будет верно. Команды бывают разные. В языке Java есть команды на все случаи жизни. Каждая команда описывает какое-то определенное действие. В конце каждой команды ставится точка с запятой. Примеры команд:
На самом деле это одна команда – System.out.println. А в круглых скобках в нее передаются параметры. В зависимости от значений параметров, одна команда может выполнять разные действия. Это очень удобно. Важно: В Java размер имеет значение: имеет значение, большими или маленькими буквами написаны команды. Команда System.out.println() работать будет, а system.out.println() — нет. Если вы хотите вывести на экран текст, его нужно с двух сторон обозначить двойными кавычками. Одинарная кавычка выглядит вот так ', а двойная — вот так ". Двойная кавычка — это не две одинарных: просьба не путать. Двойная — это та, которая рядом с кнопкой Enter. На ней еще обычно находится русская буква Э. 2. Отличия println() и print() Есть две вариации команды вывода на экран: System.out.println() и System.out.print() Если вы пишете команду System.out.println() несколько раз, каждый раз переданный в нее текст будет выводиться с новой строки. Если System.out.print(), текст будет выводиться на той же строке. Пример:
Небольшое примечание. Команда println() не выводит текст с новой строки – она выводит текст на текущей строке, но делает так, чтобы следующий текст выводился с новой строки. Команда println() выводит на экран текст и затем добавляет специальный невидимый символ перевода строки, в результате чего следующий текст будет отображаться с начала новой строки. Так будет выглядеть полностью написанная программа вместе с объявлением класса Amigo и методом main. Внимание на экран: public class Amigo { public static void main (String[] args) { System.out.print("Amigo "); System.out.print("The "); System.out.print("Best"); } } Программа с объявлением класса Amigo и методом main 1. Переменные и коробки Переменные — это такие специальные штуки для хранения данных. Любых данных. Все данные в Java хранятся с помощью переменных. Больше всего переменная по смыслу напоминает коробку: самую обычную коробку. Допустим, вы написали на листке число 13 и положили этот лист в коробку. Теперь мы можем говорить, что «коробка хранит значение 13». Каждая переменная в Java имеет три важных свойства: тип, имя и значение. Имя используется для того, чтобы отличать одну переменную от другой. Это как надпись на коробке. Тип переменной определяет тип значений/данных, которые в ней можно хранить. В коробке для торта храним торт, в коробке для обуви — туфли, и т.д. Значение — это некий объект, данные или информация, которая хранится в переменной. Каждый объект в языке Java имеет свой тип. Например, могут быть такие типы данных: целое число, дробное число, текст, тип Кот, тип Дом и т.д. У каждой переменной (коробки) тоже есть свой тип. Переменная может хранить значения только того же типа, что и она сама. Разные коробки используются для хранения различных вещей: коробка конфет, коробка для десятка яиц и т.п. Все как в жизни. 2. Создание переменной В языке Java для того, чтобы создать переменную, используется команда вида: тип имя; Объявление переменной Где тип — это тип переменной (совпадает с типом значений, которые переменная сможет хранить). А имя — это имя переменной. Примеры:
Два самых часто используемых типа — это целые числа (обозначается словом int) и текст (обозначается словом String). Так же популярен тип double — это дробные (вещественные) числа. 3. Присваивание Как уже говорилось выше, у переменной есть имя, тип и значение. Имя и тип мы уже разобрали, а что насчет значения? Как занести значение в переменную? Чтобы занести значение в переменную, существует специальная операция — операция присваивания. Она копирует значение из одной переменной в другую. Не переносит, а именно копирует. Как файл на диске. Выглядит это присваивание так: имя = значение; Операция присваивания Где имя — это имя переменной, а значение — это значение, которое будет занесено в переменную. В качестве значения может фигурировать конкретное значение, имя другой переменной или даже какое-нибудь выражение с использованием переменных. Примеры:
Для операции присваивания используется символ равно =. Это не сравнение. Это именно команда копирования значения справа от знака равно в переменную, которая слева. Для сравнения в языке Java используется двойное равно ==. 4. Коты и коробки Как поймать кота: Возьмите пустую коробку. Ждите. Шутка 🙂 Ну может, в коробку и можно запихнуть сколько угодно котов, но вот в переменную можно положить только одно значение. С чем и будет связана следующая задача. 1. Объявление переменных Давайте еще раз разберем, как создавать переменные. Чтобы создать переменную, нужно написать такую команду: тип имя;. Примеры:
Важно! Нельзя создать две переменные с одинаковыми именами в одном методе. А вот в разных методах — можно. Это как коробки, стоящие в разных домах. Еще есть ограничения на имя переменной. С одной стороны, оно может быть любым, с другой – оно не может содержать пробелов, символов +, - и т.д. Лучше всего в имени переменной использовать только латинские буквы и цифры. Обратите внимание, что в языке Java играет роль, какие буквы вы пишите — большие или маленькие. int a — это не то же самое, что и Int a. Кстати, в Java можно одновременно создавать переменную и присваивать ей значение. Это экономит время и место:
Так гораздо компактнее и понятнее. Ну а раз с созданием переменных мы уже разобрались, давайте немного познакомимся с двумя самыми используемыми типами в языке Java. Это типы int (целые числа) и String (текст/строки). 2. Тип int В переменной типа int можно хранить целые числа. Также над типом int можно выполнять различные операции: сложение, вычитание, умножение, деление и другие. Примеры:
3. Тип String Тип String позволяет хранить текстовые строки. Чтобы задать какую-то текстовую строку, в Java надо написать текст строки, а с обеих сторон поставить двойные кавычки. Пример:
Выглядит несложно, правда? Ну если так, тогда вот еще один интересный факт. Строки в Java можно склеивать с помощью знака плюс — +. Пример:
Обратите внимание на последний пример: мы сложили строку и число. Тут тоже все просто: число будет преобразовано в строку, затем две строки будут склеены. При сложении строк и чисел, всегда получается строка. 4. Вывод переменной на экран Вроде все так очевидно и элементарно. Ну тогда, может, вы сразу догадаетесь, какой командой можно вывести переменную на экран? На самом деле все просто. Чтобы вывести что-то на экран, мы используем команду System.out.println(), куда в качестве параметра передаем то, что мы выводим.
Надеюсь, теперь стало немного понятнее. А правильно вы все поняли или нет, мы сейчас проверим. Практика — критерий истины: только с помощью практики можно проверить, хорошо ли вы во всем разобрались. 1. Java – самый популярный язык программирования А вы знали, что Java — самый популярный в мире язык программирования? Согласно рейтингу TIOBE, язык программирования Java используют более 17% всех программистов мира. На втором месте идет C с 16%. А 20 лет назад, когда язык Java только появился, безоговорочным лидером был С++, доля которого сейчас — меньше 7%. Язык Java появился в середине 90-х годов 20-го века и очень быстро набрал популярность. Программисты тысячами переходили с С++ на Java. Что только лишний раз подтверждает, что Java — это очень крутой язык программирования. Так что же в нем такого крутого? Какие фишки добавили в него создатели? Вы очень удивитесь, если сравните язык Java и язык С++: Java очень похож на сильно обрезанный С++! Да, язык Java — это в какой-то мере сильно урезанный С++. И если в С++ что-то можно сделать 20-ю способами, то в Java это можно сделать только одним способом. И в чем же тут преимущество, спросите вы? Все дело в том, что современные программы очень большие, и часто программисты до 90% времени тратят на то, чтобы разбираться в чужом коде. И только 10% — на написание нового кода. Так что да, простота — это преимущество. 2. Java-компилятор Кстати, вы не раз еще услышите, что неоспоримое преимущество Java над другими языками — это мультиплатформенность. Что же это такое и с чем его едят? Начнем издалека. Дело в том, что компьютер умеет исполнять только простейшие команды. Для собак есть команды «Рядом», «Лапу» и другие, слыша которую собака делает что-то важное. У компьютера роль таких команд выполняют числа: каждая команда закодирована некоторым числом (его еще называют машинным кодом). Писать программу в виде чисел очень сложно, поэтому люди придумали языки программирования и компиляторы. Такой язык, с одной стороны, понятен человеку, с другой — компилятору. Компилятор — это специальная программа, которая переводит текст программы, написанный на языке программирования, в набор машинных кодов. Обычно программист пишет программу на языке программирования, а затем запускает компилятор, который на основе написанных программистом файлов с кодом программы делает один файл с машинным кодом — окончательную (скомпилированную) программу. Программа на языке C++ Компилятор Программа, состоящая из машинных кодов Этапы компиляции для языка C++ Получившаяся в итоге программа сразу может выполняться на компьютере. Минус такого подхода в том, что код полученной программы сильно зависит от процессора и операционной системы. Программа, скомпилированная под Windows, не будет работать на телефоне с Android. Если вы написали программу под Android, то на операционной системе Windows она не запустится! Но у Java гораздо более инновационный подход. Программа на языке Java Java‑компилятор Программа, состоящая из специальных независимых кодов (байт‑код) Java VM Программа, состоящая из машинных кодов Этапы компиляции для языка Java Компилятор Java не компилирует все классы в одну программу из машинных кодов. Вместо этого он компилирует каждый класс по отдельности, и не в машинные коды, а в специальный промежуточный код (байт-код). Компиляция в машинный код выполняется при запуске программы. А кто же компилирует программу в машинный код при ее запуске? Для этого есть специальная программа под названием JVM (Java Virtual Machine) — Виртуальная Машина Java. Сначала запускают ее, а затем — программу, состоящую из байт-кода. А уже JVM перед выполнением нужной программы компилирует ее в машинный код. Это очень мощный ход и одна из причин тотального доминирования Java. 3. Области доминирования Java Благодаря вышеописанным преимуществам, программы, написанные на Java, могут выполняться практически на любых устройствах — компьютерах, телефонах, банкоматах, тостерах, банковских карточках. Преимуществ такого подхода очень много. Именно поэтому программы на Android тоже пишутся на Java. А благодаря развитию мобильного сектора, Java занимает доминирующее положение в следующих отраслях программирования: Enterprise: тяжелые серверные приложения для банков, корпораций, инвестфондов и т.д. Mobile: мобильная разработка (телефоны, планшеты), благодаря Android. Web: лидирует PHP, но и Java держит солидный кусок рынка. Big Data: распределенные вычисления в кластерах из тысяч серверов. Smart Devices: программы для умного дома, электроники, холодильников с выходом в интернет. Java — это не просто язык, а целая экосистема: миллионы готовых модулей, которые вы можете использовать в своей программе. Тысячи сообществ и форумов в интернете, где можно попросить помощь или совет. Чем больше вы будете программировать на Java, тем больше будете находить ответов на вопрос «Почему именно Java?». |