С чего начинается выполнение программы на java

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

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

  • Как работает язык
  • Какой модели программирования он придерживается
  • И о его синтаксисе

Как работает язык.

Учитывая историю и время, когда создавался этот язык, а также зачем! То здесь стоит отметить, что язык является кроссплатформенным, то есть он может работать на любой платформе (как аппаратной, так и операционной), единственным требованием является наличие Java Virtual Machine.

Java Virtual Machine (сокращенно Java VM, JVM) — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java (javac). JVM может также использоваться для выполнения программ, написанных на других языках программирования. Например, исходный код на языке Ada может быть откомпилирован в байт-код Java, который затем может выполниться с помощью JVM.

3. Основы Java — Пишем первую программу на языке Java

Такое определение дает нам Wikipedia. Если же это перефразировать в более простую форму, то:

Java Virtual Machine – это некая среда или программа, которая выполняет откомпилированный в виде байт-кода исходный код программы, с последующим превращением его в нативный код.

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

10 главных конструкций языка Java

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

Так как авторы языка Java при создании вдохновлялись языками C и C++, то в Java тоже появилось много похожих конструкций и команд. Если вы знаете C или C++, то освоить Java вам будет гораздо проще.

В Java после каждой команды ставится точка с запятой.

Комментарии

Комментарии в Java точно такие же, как в C-подобных языках — есть однострочные, которые работают только для одной строки, и многострочные.

// Это однострочный комментарий
// Для каждой строки нужно добавлять его отдельно
/* А это — многострочный
его можно сделать любой длины,
если в начале и в конце поставить нужные символы */

Переменные и типы данных

Как и в C, в Java есть несколько типов данных с разным объёмом выделяемой памяти. Предполагается, что программист сам решит, какой тип использовать лучше всего в каждой ситуации и сам будет следить за тем, чтобы в переменную поместилось всё что нужно.

Как работает Java — ликбез


// целое, 1 байт byte b; // целое, 2 байта short s; // целое, 4 байта int x = 420; // целое, 8 байт long l; // дробное, 4 байта float fl = 4.3; // дробное, 8 байт double d,q; // логический тип, true или false boolean bol;

Присваивание и сравнение

Всё как и везде:

// это присваивание
x = 10;
// а это — сравнение x и 10
// результат сравнения отправляется в переменную b
boolean bol;
b = (x == 10);

Ещё есть метод сравнения .equal — он работает более гибко и предсказуемо, чем ==, потому что двойное равно может сравнивать только числа и строки.

Структура программы

Разработчикам Java понравилось, что в C вся программа состоит из функций, среди которых есть одна обязательная — main, поэтому сделали точно так же. В классах эта функция называется методом.

Но есть одно важное отличие: каждая java-программа — это как бы один большой класс со своими разделами, которые должны быть у каждого класса. Благодаря этому большие программы легко собираются из маленьких java-кирпичиков и работают друг с другом как с классами, используя все их возможности.

// программа — тоже класс public class Program < // публичная часть класса, доступная всем // в ней сразу делают основную функцию программы main public static void main(String[] args) < // объявляем переменные String name = «Код»; // выводим строку на экран System.out.printf(«Привет, это журнал %s n», name); // конец основной функции >// конец описания класса >

Ввод и вывод

Для ввода и вывода используют системный класс System и два его объекта — in и out. Но на практике чаще всего вместо in используют объект Scanner, чтобы можно было более гибко управлять вводом данных.

Условные операторы if и switch

Работают так же, как в C и в любых современных языках высокого уровня. Главное здесь — следить за фигурными скобками и не перепутать, что к чему относится. Проще всего это регулировать отступами:

Читайте также:
Полезные программы для водителей

// числа для сравнения int num1 = 6; int num2 = 8; // если первое больше второго if(num1>num2) < // выводим результат System.out.println(«Первое число больше второго»); >// если первое условие не выполнилось — можем проверить второе else if(num1 // если и это условие не выполнилось else< // выводим финальное сообщение System.out.println(«Числа равны»); >

У оператора множественного выбора есть особенность: ему не нужны фигурные скобки для действий в каждом случае. Компьютер по синтаксису понимает, что к чему относится, и выбирает нужный вариант.

// число для сравнения int num = 8; // сравниваем значение этого числа с нашими вариантами switch(num)< // если число = 1 case 1: // выводим сообщение System.out.println(«число равно 1»); // выходим из дальнейших проверок break; // если число = 8 case 8: System.out.println(«число равно 8»); // увеличиваем число на 1 num++; break; // если число = 9 case 9: System.out.println(«число равно 9»); break; // если ни один из вариантов не подошёл default: System.out.println(«число не равно 1, 8, 9»); >

Циклы

В Java есть три основных вида циклов:

  • for — с известным числом повторений и счётчиком;
  • do — с проверкой условия до цикла;
  • while — условие проверяется после первого выполнения цикла.

Ещё есть два полезных оператора:

  • break — прерывает цикл в любой момент;
  • continue — сразу переходит к следующему витку цикла без выполнения остальных команд.

// цикл со счётчиком // задаётся начальное значение, условие и шаг цикла for (int i = 1; i < 9; i++)< // тело цикла System.out.printf(«Квадрат числа %d равен %d n», i, i * i); >// то же самое с циклом do int j = 1; // начинаем цикл do < // выводим результат System.out.printf(«Квадрат числа %d равен %d n», i, i * i); // увеличиваем переменную цикла j++; >// проверяем условие цикла while (j < 9); // и то же самое с циклом while int k = 1; // начинаем цикл и сразу проверяем условие while (k < 10)< // выводим результат System.out.printf(«Квадрат числа %d равен %d n», k, k * k); // увеличиваем переменную цикла k++; >

Функции (они же методы)

Так как каждая программа — это описание какого-то класса, то функции в Java — это и есть методы этого класса. Функций (или методов) может быть сколько угодно, главное — соблюдать правила описания классов. Покажем на примере:

// программа — класс public class Program < // публичная часть, доступная всем // основная функция-метод main public static void main (String args[])< // вызваем методы (функции) в любое время hello(); welcome(); >// метод hellо(), который не передаёт и не принимает никаких аргументов void hello() < System.out.println(«Привет!»); >// метод welcome() void welcome() < System.out.println(«Это журнал Код.»); >>

Классы

В Java всё построено на классах, от самой программы до реализаций различных функций. Конечно, можно не использовать классы и работать в чисто процедурном стиле, но в Java так не принято. Это ООП-язык с родной поддержкой классов на всех уровнях.

Сами классы объявляются и используются так же, как и в любом другом ООП-языке:

// объявляем новый класс с информацией о заказанном товаре class Order < // переменные класса String name; // название int cost; // стоимость // метод класса void displayInfo()< // выводим информацию о заказе System.out.printf(«Заказ: %s tСтоимость: %dn», name, cost); >>

Объекты

Объекты в Java работают по тому же принципу, что и все объекты в ООП: можно создавать сколько угодно объектов на основе классов и делать их любой сложности.

Обычно используют классы, прописанные в том же файле, что и программа. Если нужно использовать класс из другой программы, её подключают отдельно. Вот самый простой способ сделать объект на основе предыдущего класса с заказом:

// программа — тоже класс public class Program < // основная функция-метод main public static void main (String args[])< // создаём новый объект на основе класса ниже Order new_order; // заполняем данные new_order.name = «Айфон»; new_order.cost = 9999; // вызываем метод класса new_order.displayInfo(); >> // объявляем новый класс с информацией о заказанном товаре class Order < // переменные класса String name; // название int cost; // стоимость // метод класса void displayInfo()< // выводим информацию о заказе System.out.printf(«Заказ: %s tСтоимость: %dn», name, cost); >>

Источник: thecode.media

Пример написания программы на Java с объяснением

Светлана Комарова

Первая программа на Java с примером

А теперь, когда разъяснены самые основы объектно-ориентированного харак­тера Java, рассмотрим несколько практических примеров программ, написанных на этом языке. Начнем с компиляции и запуска короткого примера программы, об­суждаемого в этом разделе. Оказывается, что эта задача не так проста, как может показаться на первый взгляд.

  • Ввод кода программы
  • Компиляция программы
  • Подробный анализ первого примера программы
  • Вас заинтересует / Intresting for you:

/* Это простая программа на Java. Присвоить исходному файлу имя «Example.java» */ class Example < // Эта программа начинается с вызова метода main(). public static void main(String args[]) < System.out.println(«Простая программа на Java.»); >>

На заметку! Здесь и далее используется стандартный комплект разработчика Java SE 8 Developer’s Kit (JDK 8), предоставляемый компанией Oracle. Если же для написания программ на Java при­меняется интегрированная среда разработки (ИСР), то для компиляции и выполнения программ может потребоваться другая процедура. В таком случае обращайтесь за справкой кдо- кументации на применяемую ИСР

Ввод кода программы

Для большинства языков программирования имя файла, который содержит исход­ный код программы, не имеет значения. Но ejava дело обстоит иначе. Прежде всего следует твердо усвоить, что исходному файлу очень важно присвоить имя. В данном примере исходному файлу должно быть присвоено Example.java . И вот почему.

Читайте также:
Ошибка программы msvcr100 dll

В Java исходный файл официально называется единицей компиляции. Он, среди прочего, представляет собой текстовый файл, содержащий определения одного или нескольких классов. (Будем пока что пользоваться исходными файлами, со­держащими только один класс.) Компилятор Java требует, чтобы исходный файл имел расширение .java .

Как следует из исходного кода рассматриваемого здесь примера программы, определенный в ней класс также называется Example. И это не случайно. В Java весь код должен размещаться в классе. По принятому соглашению имя главного класса должно совпадать с именем файла, содержащего исходный код программы.

Кроме того, написание имени исходного файла должно точно соответствовать имени главного класса, включая строчные и прописные буквы. Дело в том, что в коде Java учитывается регистр символов. На первый взгляд, соглашение о стро­гом соответствии имен файлов и классов может показаться произвольным. Но на самом деле оно упрощает сопровождение и организацию программ.

Компиляция программы

Чтобы скомпилировать программу Example, запустите компилятор ( javac ), указав имя исходного файла в командной строке следующим образом:

C:>javac Example.java

Компилятор javac создаст файл Example.class , содержащий версию байт­кода. Как пояснялось ранее, байт-код Java является промежуточным представле­нием программы, содержащим инструкции, которые будет выполнять виртуаль­ная машина JVM. Следовательно, компилятор javac выдает результат, который не является непосредственно исполняемым кодом.

Чтобы выполнить программу, следует воспользоваться загрузчиком приложе­ний Java, который называется java . Ему нужно передать имя класса Example в ка­честве аргумента командной строки, как показано ниже.

C:>java Example

Выполнение данной программы приведет к выводу на экран следующего ре­зультата:

Простая программа на Java.

В процессе компиляции исходного кода каждый отдельный класс помещается в собственный выходной файл, называемый по имени класса и получающий расширение .class . Поэтому исходным файлам программ на Java целесообразно присваивать имена, совпадающие с именами классов, которые содержатся в фай­лах с расширением .class . При запуске загрузчика приложений java описанным выше способом в командной строке на самом деле указывается имя класса, кото­рый нужно выполнить. Загрузчик приложений автоматически будет искать файл с указанным именем и расширением .class . И если он найдет такой файл, то вы­полнит код, содержащийся в указанном классе.

Подробный анализ первого примера программы

Хотя сама программа Example.java небольшая, с ней связано несколько важных особенностей, характерных для всех программ на Java. Проанализируем подробно каждую часть этой программы. Начинается эта программа со следующих строк:

/* Это простая программа на Java. Присвоить исходному файлу имя «Example.java» */

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

Эти ком­ментарии описывают или поясняют действия программы для тех, кто просма­тривает ее исходный код. В данном случае комментарий описывает программу и напоминает, что исходному файлу должно быть присвоено имя Example.java . Разумеется, в реальных прикладных программах комментарии служат главным об­разом для пояснения работы отдельных частей программы или действий, выпол­няемых отдельными языковыми средствами.

В Java поддерживаются три вида комментариев. Комментарий, приведенный в начале программы, называется многострочным,. Этот вид комментариев должен начинаться с символов /* и оканчиваться символами */ . Весь текст, расположенный между этими двумя парами символов, игнорируется компилятором. Как следует из его названия, многострочный комментарий может содержать несколько строк.

Перейдем к следующей строке кода анализируемой здесь программы. Ниже по­казано, как она выглядит:

class Example

В этой строке кода ключевое слово class служит для объявления вновь опреде­ляемого класса, a Example — в качестве идентификатора, обозначающего имя клас­са. Все определение класса, в том числе его членов, должно располагаться между открывающей ( < ) и закрывающей ( >) фигурными скобками. Мы не станем пока что останавливаться на особенностях реализации класса.

Отметим только, что в среде Java все действия программы выполняются в пределах класса. В этом и со­стоит одна из причин, по которым все программы на java являются (по крайней мере, частично) объектно-ориентированными.

Следующая строка кода данной программы содержит однострочный комментарий:

// Эта программа начинается с вызова метода main()

Это второй вид комментариев, поддерживаемых в Java. Он называется однострочным комментарием и начинается с символов // , а завершается символом кон­ца строки. Как правило, программисты пользуются многострочными комментариями для вставки длинных примечаний, а однострочными — для коротких, по­строчных описаний. Третий вид комментариев, называемый документирующим, будет рассмотрен далее в разделе “Комментарии”.

Читайте также:
Игра не отображается в программах и компонентах

Перейдем к следующей строке кода анализируемой здесь программы. Ниже по­казано, как она выглядит:

public static void main(String args[ ])

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

Ключевое слово public является модификатором доступа, который дает про­граммисту возможность управлять видимостью членов класса. Когда члену класса предшествует ключевое слово public , этот член доступен из кода за пределами класса, где он определен. (Совершенно противоположное обозначает ключевое слово private — оно не разрешает доступ к члену класса из кода за пределами данного класса.) В данном случае метод main() должен быть определен как public , поскольку при запуске программы он должен вызываться из кода за пределами его класса.

Ключевое слово static позволяет вызывать метод main() без получения экземпляра класса. Это необходимо потому, что метод main() вызывается виртуальной машиной JVM перед созданием любых объектов. А ключевое слово void просто сообщает компилятору, что метод main() не возвращает никаких значений. Как будет показано далее, методы могут также возвращать конкретные значения. Если это краткое пояснение покажется вам не совсем понятным, не от­чаивайтесь, поскольку упомянутые здесь понятия и языковые средства Java будут подробно рассматриваться в последующих моих статьях.

Как указывалось выше, метод main() вызывается при запуске прикладных программ на java. Следует, однако, иметь в виду, что в Java учитывается регистр сим­волов. Следовательно, имя Main не равнозначно имени main . Следует также иметь в виду, что компилятор Java скомпилирует классы, в которых отсутствует метод

main() , но загрузчик приложений (java) не сможет выполнить код таких классов. Так, если вместо имени main ввести имя Main , компилятор все равно скомпилирует программу, но загрузчик приложений java выдаст сообщение об ошибке, по­скольку ему не удалось обнаружить метод main() .

Для передачи любой информации, требующейся методу, служат переменные, ука­зываемые в скобках вслед за именем метода. Эти переменные называются параметрами. Если параметры не требуются методу, то указываются пустые скобки. У метода main() имеется единственный, хотя и довольно сложный параметр.

Так, в выраже­нии String args [ ] объявляется параметр args , обозначающий массив экземпляров класса String . (Массивы — это коллекции похожих объектов.) Вобъектахтипа String хранятся символьные строки. В данном случае параметр args принимает любые аргу­менты командной строки, присутствующие во время выполнения программы. В дан­ной программе эта информация, вводимая из командной строки, не используется, но в других, рассматриваемых далее примерах программ она будет применяться.

Еще один важный момент: метод main() служит всего лишь началом програм­мы. Сложная программа может включать в себя десятки классов, но только один из них должен содержать метод main() , чтобы программу можно было запустить на выполнение. Но в некоторых случаях метод main() вообще не требуется, на­пример, при создании аплетов — прикладных программ на java, внедряемых в веб­браузеры. Метод main() в аплетах не требуется потому, что для их запуска на вы­полнение применяются другие средства.

Перейдем к следующей строке кода анализируемой здесь программы. Ниже по­казано, как она выглядит. Следует также иметь в виду, что эта строка кода находит­ся в теле метода main() .

System.out.println(«Простая программа на Java.»);

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

Как будет по­казано далее, с помощью этого метода можно выводить и другие типы данных. Анализируемая здесь строка кода начинается с обозначения стандартного потока вывода System . out. Это слишком сложная языковая конструкция, чтобы ее мож­но было просто объяснить на данной стадии изучения Java, но вкратце System обозначает предопределенный класс, предоставляющий доступ к системе, а out — поток вывода, связанный с консолью.

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

Обратите внимание на то,что оператор, в котором вызывается метод println() , завершается точкой с запятой. В языке Java все операторы обычно должны оканчиваться этим символом. Причина отсутствия точки с запятой в конце остальных строк кода программы состоит в том, что формально они не являются операторами. Первый символ > завершает метод main() , а последний символ > — определение класса Example .

В следующей статье мы расширим свои представления о Java, создав еще одну программу. Уточним понятие переменной и типа данных Java.

Источник: oracle-patches.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru