Сайт о телевидении

Сайт о телевидении

» » Язык ява что. Как выбрать подходящее направление? Платформы и версии

Язык ява что. Как выбрать подходящее направление? Платформы и версии

Если вы новичок и только начинаете учить Java, вы наверняка задумывались, где именно используют Java? Вы не наблюдаете множество игр, написанных на Java, за исключением Minecraft, такие настольные утилиты, как Adobe Acrobat, Microsoft Office не написаны на Java, так же, как и ваша операционная система, будь то Linux или Windows, так где же всё-таки применяют Java? Имеет ли она какое-либо реальное применение вообще? Что ж, вы не одиноки, многие программисты, только вступившие на IT путь или уже уверенные специалисты, задаются этим вопросом. Между тем, вы можете узнать, где используется Java, просто установив Java на ваш компьютер, Oracle утверждает, что более 3 миллиардов устройств работают на Java, довольно большое число, не так ли? Большинство крупных компаний так или иначе используют Java. Многие серверные приложения, обрабатывающие десятки миллионов запросов в день, написаны на Java, высокочастотные трейдинговые приложения также написаны на Java, например трейдинговые приложения LMAX, использующие их новаторский многопоточный параллельный фреймворк Disruptor . В этой статье мы более подробно рассмотрим, в каких проектах используется Java, в каких областях она доминирует и где вообще применима в реальном мире?

Этот универсальный язык программирования используют компании разного масштаба в своем корпоративном серверном ПО. Написанные на Java приложения можно найти везде: в «умном» чайнике, твоем Android-смартфоне, компьютере или автомобиле Tesla. И поскольку Java есть везде, найти работу, зная этот язык, довольно просто.
Зачем нужно учить Java?
Всё просто: Java - универсальный язык, который используют сотни тысяч компаний. Так что если вы знаете Java, довольно легко найти интересную работу. Java достаточно несложен в освоении, поэтому он подходит тем, кто впервые подошёл к изучению программирования. Этот язык работает на всех платформах, и хотя он постоянно обновляется и модернизируется, старый Java-код совместим с новым.

Реальные Java приложения

Существует множество областей применения Java, от сайтов электронной коммерции до Android приложений, от научных до финансовых приложений, таких как трейдинговые системы, от игр, типа Minecraft, до настольных программных средств, таких как Eclipse, Netbeans и IntelliJ, от open source фреймворков до J2ME приложений и т.д. Давайте детальнее рассмотрим каждое из них.

Android приложения

Если хотите увидеть, где используется Java, не нужно далеко идти. Просто возьмите свой телефон на Android, абсолютно все приложения написаны на Java, с использованием Google и Android API, которые схожи с JDK. Пару лет назад Android предоставил необходимые возможности, благодаря чему сегодня многие Java программисты – Android разработчики. Кстати, Android использует другую JVM и другой и другой способ компановки, но код всё ещё написан на Java.

Серверные приложения в сфере финансовых услуг

Java очень обширно применяется в финансовой сфере. Многие мировые инвестиционные банки, типа Goldman Sachs, Citigroup, Barclays, Standard Charted и другие используют Java для написания фронт-энд и бэк-энд офисных электронных систем, систем регулирования и конфирмации, проектов обработки данных и некоторых других. Преимущественно Java используется при написании серверных приложений, в большинстве своём без какого-либо пользовательского интерфейса, которые получают данные с одного сервера, обрабатывают их и отправляют дальше. Java Swing был также популярен для создания «толстоклиентных» интерфейсоф, но сейчас C# быстро захватывает рынок в этой области, а Swing уже выдыхается.

Вэб-приложения

Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

Программные средства

Многие полезные програмные средства и средства разработки написаны и разработаны на Java, например Eclipse, IntelliJ Idea и Netbeans IDE. Мне кажется это, к тому же, наиболее используемые приложения, написанные на Java. Было время, когда Swing был очень популярен при создании «толстых клиентов», преимущественно в финансовой сфере. Сегодня Java FX набирает всё большую популярность, но это всё ещё не замена Swing, к тому же C# практически полностью вытеснил Swing из финансовой области.

Трейдинговые приложения

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

J2ME приложения

Несмотря на то, что появление iOS и Android практически уничтожило J2ME рынок, в мире ещё огромное количество дешёвых телефонов от Nokia и Samsung, использующих J2ME. Было время, когда практически все игры и приложения, доступные на Android, были написаны с использованием MIDP и CLDC, которые являются частью платформы J2ME. J2ME всё ещё популярен в таких средствах, как Blu-ray, карточки и телевизионные приставки. Одна из причин такой популярности WhatsApp – он также доступен на J2ME.

Встраиваемые системы

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

Большие данные

Hadoop и другие технологии обработки больших данных так или иначе используют Java, например Hbase и Accumulo от Apache, или ElasticSearch. Хоть Java и не доминирует в этой области, поскольку существуют такие технологии, как MongoDB, которые написаны на С++. У Java есть потенциал получить большую долю этой растущей области, если Hadoop или ElasticSearch расширятся.

Высокочастотные трейдинговые пространства

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

Научные приложения

В наши дни часто Java – выбор по-умолчанию для научных приложений, включая обработку естественного языка. Основная причина в том, что Java более безопасна, мобильна и надёжна и имеет лучшие инструменты параллелизации, чем С++ и другие языки. В девяностые Java была достаточно популярна в интернете, благодаря апплетам, но спустя годы, апплеты утратили свою популярность, преимущественно из-за различных проблем безопасности. В наши дни настольная Java и апплеты практически мертвы. Java по-умолчанию любимец в индустрии программного обеспечения, и широко используется в финансовой сфере, инвестиционных банках и в области электронной коммерции. Каждый, изучающий Java, имеет яркое будущее. Java 8 только укрепила веру в то, что Java продолжит доминировать в области разработки ещё долгие годы. В комментариях к статье поставили под вопрос реальное применение Java, из-за обилия финансовых примеров в самой статье и задались вопросом, есть ли у Java будущее в настольной разработке, и не лучше ли учить C#? Вот некоторые контраргументы: There is no point for a Java developer to learn C# as they are similar language but just for different technical stack, instead you should learn Python, Ruby or Perl. Scripting language are very good for small tasks. Нет никакого смысла для Java разработчика учить C#, поскольку это похожие языки, но для разных областей. Вместо этого лучше учить Python, Ruby или Perl. Скриптовые языки хороши для небольших заданий. Java is actually used EVERYWHERE, it"s in your phone, it"s in your cable"s settop box, it"s in your credit card, it"s on the server which you are currently connected to, it"s on the browser you are currently using it. Java is the most ubiquitous language ever created. Java фактически используется повсюду, она в вашем телефоне, в вашей телеприставке, в вашей кредитке, на сервере, к которому вы сейчас подключены, в браузере, который вы сейчас используете. Java - наиболее вездесущий язык, который когда-либо создавали. Также в коментариях даются ссылки на пару статей, а именно: Второе пришествие Java и Работодатели хотят знаний Java как ничто другое . Если изъявят желания, то можно перевести и их. P.S.: прошу оценить перевод, сделать замечания, указать на ошибки, потому что появилось желание переводить и хочется, чтобы всё было на подобающем уровне. Перевод и доработка статьи 06.11.17 9551

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

Что такое язык программирования Java?

В 1991 году «Зелёная команда », подразделение Sun Microsystems , возглавляемое Джеймсом Гослингом , создала язык для программирования бытовых электронных устройств. На тот момент он назывался Oak («Дуб »). Почему «Дуб »? Просто потому, что за окном рабочего кабинета Гослинга росло это дерево.

«Зелёная команда » продемонстрировала использование Oak в интерактивном телевизоре. Но для цифрового кабельного телевидения тех лет эта технология была слишком передовой. Одновременно с этим набирал популярность интернет, для которого новый язык программирования подходил лучше всего.

Через некоторое время новый язык переименовали в Green , и уже после этого - в Java , в честь кофе с острова Ява. Поэтому на логотипе Java изображена кружка с кофе.

Во время разработки Java были популярны C/С++ , поэтому Гослинг сделал синтаксис языка похожим на C/C++ и реализовал для него принцип «написать один раз - запустить где угодно ». В 1995 году Sun Microsystems выпустили первую официальную версию Java . И одновременно с этим было объявлено, что Java войдёт в состав браузера Netscape Navigator .

В 2010 году компания Sun Microsystems вместе с языком программирования Java была приобретена корпорацией Oracle .

История версий Java

  1. Июнь 1991 – старт проекта разработки языка программирования Java .
  2. JDK 1.0 – Январь 1996 года.
  3. JDK 1.1 – Февраль 1997 года.
  4. J2SE 1.2 – Декабрь 1998 года.
  5. J2SE 1.3 – Май 2000 года.
  6. J2SE 1.4 – Февраль 2002 года.
  7. J2SE 5.0 – Сентябрь 2004 года.
  8. Java SE 6 – Декабрь 2006 года.
  9. Java SE 7 – Июль 2011 года.
  10. Java SE 8 – 18 марта 2014 года.
  11. Java SE 9 – 21 сентября 2017 года.

Функции языка программирования Java

Java - межплатформенный язык

Код Java , написанный на одной платформе (то есть операционной системе ), можно запустить без изменений на других платформах.

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

Объектно-ориентированный язык программирования

Существуют различные стили программирования, и один из самых популярных - объектно-ориентированное программирование. При таком подходе сложная проблема разбивается на более мелкие путём создания объектов. Благодаря чему код можно использовать повторно.

Объектно-ориентированные функции есть во многих языках программирования, включая Java , Python и C++ . Если вы серьёзно настроены освоить программирование, объектно-ориентированный подход стоит включить в план своего обучения.

Java работает быстро

Ранние версии языка программирования Java часто критиковали за медленную работу. Но сегодня ситуация кардинально поменялась. Новые версии JVM работают значительно быстрее, а интерпретирующие их процессоры становятся всё шустрее.

Сегодня Java - один из самых быстрых языков программирования. Хорошо оптимизированный Java-код работает почти так же быстро как низкоуровневые языки программирования, такие как C/C++ и намного быстрее, чем Python , PHP и т.д.

Java - безопасная платформа

Java представляет собой :

  • безопасную платформу для разработки и запуска приложений;
  • предоставляет средства для автоматического управления памятью, что снижает уязвимость кода;
  • обеспечивает безопасную передачу данных.

Обширная базовая библиотека

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

java.lang – это продвинутые функции для строк, массивов и т.д.

java.util – библиотека для работы со структурами данных, регулярными выражениями, датой и временем и т.д.

kava.io - библиотека для ввода/вывода файлов, обработки исключений и т.д.

Применение платформы Java

Перед обучением Java программированию с нуля , нужно знать, что на это платформе работает более 3 миллиардов устройств по всему миру. Для чего конкретно можно её применить:

  1. Приложения для Android - для разработки Android-приложений язык программирования Java часто используется в сочетании с Android SDK (от английского software development kit - комплект разработки программного обеспечения ).
  2. Веб-приложения - Java используется для создания сетевых приложений с помощью серверных программ, фреймворка Struts и JSP . Вот некоторые популярные веб-приложения, написанные на Java: Google.com , Facebook.com , eBay.com , LinkedIn.com .

Стоит отметить, что эти сайты не обязательно написаны исключительно на Java , и могут использовать и другие языки программирования.

  1. Разработка программного обеспечения – на Java написаны такие программы как Eclipse , OpenOffice , Vuze , MATLAB и многие другие.
  2. Обработка Big Data – для обработки «больших данных » можно воспользоваться фреймворком Hadoop , написанным на Java .
  3. Трейдинговые системы – используя платформу Oracle Extreme Java Trading Platform , можно писать программы для трейдинга.
  4. Встраиваемые устройства – на основе технологии Java Embedded от Oracle сегодня работают миллиарды устройств, таких как телевизоры, SIM-карты , проигрыватели Blu-ray и т.д.

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

Терминология Java, которую следует знать

Java – это набор технологий (язык программирования и компьютерная платформа ), предназначенных для создания и запуска программного обеспечения. Однако термином Java часто обозначают и сам язык программирования.

Язык программирования Java – межплатформенный объектно-ориентированный язык программирования общего назначения, обладающий широкими возможностями.

Java 9 – последняя на момент написания данной статьи версия Java .

Java EE , Java Me и Java SE – эти названия обозначают Java Enterprise Edition , Micro Edition и Standard Edition , соответственно.

Java EE нацелена на приложения, запускаемые на серверах. Java ME создана для ограниченных по мощности устройств, таких как встраиваемые устройства. Java SE - стандартное издание Java для написания обычных программ.

Если вы новичок в Java-программировании , рекомендуем начать с Java SE .

JVM — Java Virtual Machine («виртуальная машина Java ») - это программа, позволяющая компьютеру запускать программы, написанные на Java .

JRE – Java Runtime Environment («среда выполнения Java ») включает в себя JVM , соответствующие библиотеки и другие компоненты, необходимые для запуска программ. Но в JRE нет компилятора, отладчика и других средств разработки.

JDK – Java Development Kit (комплект Java разработчика ) содержит JRE и другие инструменты разработки, такие как компиляторы, отладчики и т.д.

Как запустить Java на своей операционной системе

Как запустить Java на Mac OS

Вот что нужно сделать для Java программирование с нуля и установки платформы на Mac OS X или macOS :

  1. Скачайте свежую версию Java (JDK ) со страницы загрузки Java SE .
  2. Дважды кликните по скачанному DMG-файлу и следуйте инструкциям программы-установщика.
  3. Для верификации установки откройте терминал и введите следующую команду:

javac –version

Если Java установлена верно, на экран будет выведена версия программы (например, javac 1.8.0_60 ).

Следующим шагом будет установка IDE (интегрированной среды разработки ) для написания и запуска Java-кода . Мы установим бесплатную версию IntelliJ IDEA и запустим на ней Java . Вот что нужно для этого сделать:

  1. Перейдите на страницу загрузки IntelliJ и скачайте бесплатную версию Community Edition .
  1. Откройте скачанный DMG-файл и следуйте инструкциям по установке. Для быстрого доступа можно переместить IntelliJ IDEA в папку «Программы ».
  2. Откройте IntelliJ IDEA . Выберите опцию «Don ’ t import settings » («Не импортировать настройки ») и нажмите «Ok » . После этого примите политику приватности Jetbrains , нажав на кнопку «Accept » .
  3. Теперь можно настроить интерфейс под себя. Также можно пропустить этот шаг и оставить всё по умолчанию. Если не уверены, просто пропускайте этот шаг, нажав кнопку «Skip All and Set Defaults » («Пропустить всё и установить настройки по умолчанию »).

  1. Программа покажет вам страницу приветствия. Нажмите на кнопку «Create New Project » («Создать новый проект »).
  2. В следующем окне выберите «Java » в левой панели и нажмите «New » вверху окна программы для выбора «JDK » . Здесь надо выбрать место, куда установили JDK , после чего нажать Next .

  1. У вас будет вариант создать проект из шаблона («Create project from template » ). Игнорируем его и нажимаем кнопку «Next » .
  2. На следующем шаге установки языка программирования Java введите имя проекта и нажмите кнопку «Finish » .
  3. В левой панели вы увидите свой проект. Если панели не видно, перейдите в меню Views > Tool Windows > Project .
  4. Зайдите в Hello > New > Java и задайте имя класса. Мы назвали его First .

  1. Для запуска только что написанной программы, зайдите в Run > Run… Нажмите на First (то есть имя созданного нами файла

Как запустить Java на Linux

Для запуска примеров из уроков программирования с нуля Java на Linux понадобится JAVA SE Development Kit (JDK ) и IDE для разработки своих проектов. Следуйте инструкции шаг за шагом, чтобы начать работу с Java .

Установите Java

  1. Откройте терминал и наберите следующую команду для установки Java:

    sudo add-apt-repository ppa:webupd8team/java


    sudo apt update; sudo apt install oracle-java8-installer

  1. Примите лицензионное соглашение и условия использования, нажав «OK » и «Yes » , соответственно.
  2. Вы установили Java . Чтобы проверить, что установка прошла без ошибок, введите в терминале следующую команду:

java –version

Если выводится текущая версия, установка прошла успешно. Если же нет, сверьтесь со страничкой помощи Oracle .

Установка IntelliJ IDEA

  1. Перейдите на .

  1. Скачайте бесплатную версию Community Edition , нажав кнопку «Загрузить ».
  2. После скачивания смените в терминале директорию на директорию загрузок и извлеките tar-файл Java в папку /opt следующей командой:

sudo tar xf .tar.gz -C /opt/

  1. После распаковки поменяйте директорию на папку bin программы IntelliJ IDEA :

    cd /opt//bin

  2. Для запуска IDE вводим следующую команду:
  3. Выбираем «Don ’ t import settings » («Не импортировать настройки ») и нажимаем «OK » . После этого принимаем политику приватности Jetbrains , нажав на кнопку «Accept » .
  4. Теперь для прохождения курсов программирования Java можно настроить интерфейс под себя. Создайте ярлык на рабочем столе для быстрого доступа к программе. После этого для запуска IDE нажимаем «Next » на всех следующих этапах.
  5. Программа покажет страницу приветствия. Нажмите «Create New Project » («Создать новый проект »).
  6. В следующем окне выберите «Java » в левой панели и убедитесь, что в строке Project SDK выбрана Java . Если нет, то выберите местоположение, куда установили JDK: /usr/lib/jvm/java-8-oracle.

  1. Два раза нажимаем «Next » и создаём проект.
  2. На следующем шаге введите имя проекта и нажмите кнопку «Finish » . Теперь в левой панели вы увидите свой проект. Если этой панели не видно, перейдите в меню Views > Tool Windows > Project .
  3. Добавьте новый класс Java . Выберите src на левой панели правой кнопкой и зайдите в New > Java Class . Задайте имя класса. В имени класса не должно быть пробелов.

  1. Напишите Java-код и сохраните проект.
  2. Для запуска программы, зайдите в Run > Run … Нажмите на HelloWorld (название проекта ) - программа скомпилирует файл и запустит его.

Как запустить Java на Windows (XP, 7, 8 и 10)

Для освоения Java основ программирования и запуска платформы на Windows потребуется JAVA SE Development Kit (JDK) и IDE для разработки проектов. Следуйте пошаговой инструкции, приведенной ниже:

Установка Java

  • Перейдите на страницу загрузки Java Standard Edition Development Kit .
  1. В разделе Java SE Development Kit вверху таблицы нажмите «Accept License agreement» («Принять лицензионное соглашение »). Затем кликните по ссылке Windows (x64) , если у вас 64-битная операционная система или Windows (x86) , если у вас 32-битная ОС .

  1. После скачивания запустите установочный файл и следуйте инструкциям, которые будут появляться на экране. Нажмите «Next ». Выберите все функции, нажав «This feature will be installed on local hard drive » и скопируйте место установки (оно выделено жёлтым ) в «Блокнот », после чего снова нажмите «Next ».

  1. В процессе установки появится запрос об установке JRE . Нажмите «Next » , а затем «Finish » для завершения установки.
  2. Теперь необходимо отредактировать переменную PATH . Перейдите в Панель управления > Система и безопасность > Система . В левой панели выберите «Дополнительные параметры системы».

  1. Нажмите «Переменные среды» . В разделе «Системные переменные» найдите переменную PATH и в следующем окне нажмите «Изменить» .

  1. Выберите весь текст в поле «Значение переменной» и скопируйте его в отдельный текстовый файл. Так будет легче его отредактировать и проверить на наличие ошибок. Посмотрите, есть ли в скопированном тексте строка: C : ProgramData Oracle Java javapath ; . Если да, то можно переходить к следующему шагу. Если нет, то вставьте скопированное ранее место установки в начало переменной и добавьте в конце строки bin вот так: C : Program Files (x 86) Java jdk 1.8.0_112 bin ; Обратите внимание, что ваша версия JDK (jdk 1.8.0_112 ) может отличаться. Скопируйте значение переменной и вставьте его в окошко PATH .

  1. Нажмите «ОК », чтобы сохранить внесенные изменения.
  2. Чтобы проверить, правильно ли установлена платформа для введения в программирование Java , откройте командную строку , набрав cmd в строке поиска Windows или через команду «Выполнить… » (Windows — R ). Введите команду java -version . Если отображается текущая версия Java , значит, установка прошла успешно. Если нет, сверьтесь со страничкой помощи Oracle .

Установка IntelliJ IDEA

  1. Перейдите на страницу загрузки IntelliJ IDEA .
  2. Скачайте бесплатную версию Community Edition , нажав «Загрузить ».

  1. После загрузки запустите файл установки и следуйте инструкциям, которые будут появляться на экране. Затем создайте ярлык на рабочем столе для 64-битной версии и добавьте ассоциации с расширением .java . Нажмите «Next » и продолжайте установку.

  1. После установки откройте IntelliJ IDEA , нажав на значок на рабочем столе.
  2. Выберите «Don ’ t import settings » («Не импортировать настройки ») и нажмите «OK ». После этого принимаем политику приватности Jetbrains, нажав «Accept ».
  3. Теперь можно настроить интерфейс под себя. Также можно пропустить этот шаг и оставить всё по умолчанию, нажав кнопку «Skip All and Set Defaults ».
  4. Программа покажет страницу приветствия. Нажмите «Create New Project » («Создать новый проект »).

  1. В следующем окне выберите «Java » в левой панели и нажмите «New » в верхней части окна программы для выбора JDK . Здесь надо выбрать местоположение, куда установили JDK во время установки Java , после чего нажать «Next ».
  2. IntelliJ IDEA найдёт JDK и распознает его. Никакие другие опции отмечать не нужно, просто нажмите «Next » .
  3. На следующем экране введите имя проекта: HelloWorld и нажмите «Finish ». Если программа скажет, что директории не существует, нажмите «ОК ». Если вы не видите левой панели, перейдите в меню Views > Tool Windows > Project .
  4. Чтобы задать имя класса, выберите в левой панели папку src. Кликните по ней правой кнопкой мыши, зайдите в New > Java и задайте имя класса. В имени класса не должно быть пробелов.

  1. Напишите код и сохраните проект Java урока программирования .
  2. Для запуска программы, зайдите в меню Run > Run … Нажмите на HelloWorld - программа скомпилирует файл и запустит его.

Ваша первая программа на Java

Чтобы познакомить пользователей с новым языком программирования, используют программу Hello World («Привет, мир! »). Это простая программа, которая выводит на экран слова Hello, World ! В этом разделе мы научим вас писать данную программу на Java , используя IntelliJ IDEA .

  1. Откройте IntelliJ IDEA .
  2. Перейдите в File > New >
    1. Нажмите кнопку запуска (Run ). Если всё в порядке, вы увидите на экране надпись Hello, World !

    Как выучить Java?

    Официальная документация Java

    Oracle , компания, владеющая Java , публикует качественные уроки. Официальная документация освещает все функции Java и регулярно обновляется.

    Примечание: единственный минус - официальная документация Java не всегда написана самым простым языком.

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

    Java: Полное руководство (10-е издание)

    Отличная книга для тех, кто только начинает изучать Java . Последнее издание включает все функции релиза Java 8 .

    В книге описано всё, что нужно знать о программировании на Java , включая синтаксис, ключевые слова и фундаментальные основы программирования, а также библиотеку API Java , апплеты Java и многое другое.

    Философия Java (4-е издание)

    Если вы переходите на Java с другого языка программирования, эта книга для вас. Если же вы начинаете с нуля, лучше всего читать её вместе с другой.

    Java 8. Карманный справочник: Скорая помощь Java-программистам

    Эта книга содержит понятные ответы на вопросы, возникающие при обучении J ava программированию с нуля . Она кратко рассказывает обо всех основных концепциях Java (включая Java 9 ). Не хотите листать сотни страниц в поисках нужной строчки? Купите эту книгу.

    Вместо заключения

    Если начнёте изучать Java , не ошибётесь - это перспективный язык программирования, полный самых разнообразных возможностей.

    Перед тем, как приступить к изучению Java , воспользуйтесь несколькими советами:

    • Не читайте обучающие статьи и примеры как роман. Единственный способ стать хорошим программистом - писать много кода.
    • Если переходите с другого языка программирования (скажем Еще не голосовали

      Хорошо Плохо

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

Основы программирования на языке Java

Java как язык с поддержкой объектного ориентирования отвечает основным принципам ООП:

  • наследование;
  • полиморфизм;
  • инкапсуляция.

В центре «Джава», как и в других ООЯ, - объект и класс с конструкторами и свойствами. Начинать обучение языку программирования Java лучше не с официальных ресурсов, а с пособий для новичков. В таких манулах подробно описываются возможности, предоставляются примеры кода. В книгах наподобие "Язык программирования Java для начинающих” подробно разъясняются основные принципы и особенности названного языка.

Особенности

Код на языке программирования Java транслируется в байт-код, затем выполняется на виртуальной машине JVM. Преобразование в байт-код осуществляется на Javac, Jikes, Espresso, GCJ. Существуют такие компиляторы, которые транслируют язык «Си» в Java байт-код. Таким образом, приложение на «Си» может работать на любых платформах.

Синтаксис «Джава» характеризуется следующим:

  1. Имена классов должны начинаться с большой буквы. Если название состоит из нескольких слов, то второе должно начинаться с верхнего регистра.
  2. Если для формирования метода используется несколько слов, то второе из них должно начинаться с большой буквы.
  3. Обработка начинается с метода main() - он является частью каждой программы.

Типы

Язык программирования Java имеет 8 примитивных типов. Они представлены ниже.

  • Boolean - логический тип, принимает всего два значения true и false.
  • Byte - наименьший целочисленный тип размером 1 байт. Он используются при работе с или файлов, необработанными двоичными данными. Имеет диапазон от -128 до 127.
  • Short имеет диапазон от -32768 до 32767, используется для представления чисел. Размер переменных этого типа - 2 байта.
  • Int тоже обозначает числа, но его размер - 4 байта. Он чаще остальных используется для работы с целочисленными данными, а byte и short иногда повышаются до int.
  • Long используются для больших целых чисел. Возможные значения находятся в диапазоне от -9223372036854775808 до 9223372036854775807.
  • Float и double применяются для обозначения дробных. Их разница в том, что float удобен, когда не требуется высокая точность в дробной части числа.
  • Double выводит на экран все знаки после разделителя «.», а float - только первые.
  • String наиболее используемый примитивный тип, с помощью которого задаются строки.

Классы и объекты

Важную роль в книге «Изучение языка программирования Java для начинающих» занимают классы и объекты.

Класс определяет шаблон для объекта, у него обязательно есть атрибуты и методы. Для его создания применяют ключевое слово Class. Если он создается в отдельном файле, то имя класса и файла должны быть одинаковыми. Само же название состоит из двух частей: имени и расширения.Java.

В «Джава» можно создавать подкласс, который будет наследовать методы родительского. Для этого используется слово extends:

  • class имя_класса extends имя_суперкласса {};

Конструктор является составляющим любого класса, даже если это не задано явно. В таком случае компилятор его создает самостоятельно:

  • public class Class{ public Class(){ } public Class(String name){ }}

Имя конструктора совпадает с именем класса, по умолчанию у него есть всего один параметр:

  • public Puppy(String name)

Object создается из класса с помощью оператора new():

  • Point р = new Point()

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

    Point р = new Point()

    class TwoPoints {

    public static void main(String args) {

    Point p1 = new Point();

    Point p2 = new Point();

    Объектные переменные и объекты - совершенно разные сущности. Object variables являются ссылками. Они могут указывать на любые переменные непримитивного типа. В отличие от C++ их типовое преобразование жестко регламентировано.

    Поля и методы

    Поля - это все переменные, связанные с классом или объектом. По умолчанию они являются локальными и не могут использовать в других классах. Для доступа к полям используется оператор «.»:

    • classname.variable

    Можно задать статические поля с помощью ключевого слова static. Такие поля являются единственным способом хранить глобальные переменные. Это связано с тем, что в «Джава» попросту нет global variables.

    Реализована возможность импорта переменных для получения доступа из других пакетов:

    • import static classname;

    Метод - подпрограмма для тех классов, в которых объявлена. Описывается на том же уровне, что и переменные. Задается в виде функции и может иметь любой тип, в том числе void:

    • class Point { int х, у;

      void init(int a, int b) {

    В примере выше класс Point имеет integer x и y, метод init(). Доступ к методам, как и к переменным, осуществляется путем использования оператора «.»:

    • Point.init();

    Свойство init ничего не возвращает, поэтому имеет тип void.

    Переменные

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

    Одновременно может быть объявлено несколько переменных. Для их перечисления используется запятая:

    • int a, b, c;

    Инициализации осуществляется после или во время объявления:

    int a = 10, b = 10;

    Существует несколько типов:

    • local variables (локальные);
    • instance variables (переменные экземпляра);
    • static variables (статические).

    Local variables объявляют в методах и конструкторах, они создаются во время запуска последних и уничтожаются после завершения. Для них запрещено указывать access modifiers и управлять уровнем доступности. Они не видимы за пределами объявленного блока. В Java переменные не имеют начального значения, поэтому оно в обязательном порядке присваивается перед первым использованием.

    Instance variables должны быть объявлены внутри класса. Они используются как методы, но получить к ним доступ можно только после создания объекта. Переменная разрушается, когда уничтожается объект. У экземплярных переменных, в отличе от локальных, существуют значения по умолчанию:

    • числа - 0;
    • логика - false;
    • ссылки - null.

    Static variables называются переменными класса. Их имена начинаются с символа в верхнем регистре, конкретизируются модификатором static. Они используются как константы, соответственно, к ним прибавляется один спецификатор из списка:

    • final;
    • private;
    • public.

    Запускаются в начале программы, уничтожаются после остановки выполнения. Так же, как переменные экземпляра, имеют стандартные значения, которые присваиваются пустым переменным. У чисел - значение 0, булевые переменные имеют значение false, ссылки на объект изначально имеют null. Статические переменные вызываются в следующем виде:

    • ClassName.VariableName.

    Сборщик мусора

    В самоучителе "Язык программирования Java для новичков" раздел автоматического сборщика мусора является наиболее интересным.

    В Java, в отличие от языка "Си", невозможно ручное удаление объекта из памяти. Для этого реализован метод автоматического удаления - сборщик мусора. При традиционном удалении через null происходит лишь устранение ссылки на объект, а сам объект удаляется. Существуют методы принудительной сборки мусора, хотя они не рекомендованы для использования в обычной работе.

    Модуль автоматического удаления неиспользуемых объектов работает в фоновом режиме, запускается при неактивности программы. Для очистки объектов из памяти программа останавливается, после освобождения памяти прерваная операция возобновляется.

    Модификаторы

    Различают разные типы модификаторов. Кроме тех, которые определяют способ доступа, существует модификаторы методов, переменных, класса. Методы, объявленные как private, доступны только в объявленном классе. Такие переменные не могут использоваться в других классах и функциях. Public открывает доступ для любого класса. Если нужно получить Public class из другого пакета, то его следует предварительно импортировать.

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

    Модификатор, который применяется при создании методов, - static. Это означает, что созданный метод существует независимо от экземпляров класса. Модификатор Final не управляет доступом, а указывает на невозможность дальнейшего манипулирования значениями объекта. Он запрещает изменение того элемента, для которого указан.

    Final для полей делает невозможным изменение первого значения переменной:

      public static void mthod(String args) {

      final int Name = 1;

      int Name = 2;// выдаст ошибку

    Переменные с модификатором final являются константами. Их принято писать только заглавными буквами. CamelStyle и другие способы не работают.

    Final для методов указывает запрет на изменение метода в наследуемом классе:

      final void myMethod() {

      System.out.printIn(“Hello world”);

    Final для классов означает, что нельзя создать наследников класса:

      final public class Class {

    Abstract - модификатор создания абстрактных классов. Любой абстрактный класс и абстрактные методы предназначены для дальнейшего расширения в других классах и блоках. Модификатор transient указывает виртуальной машине не обрабатывать заданную переменную. В этом случае та просто не сохранится. Например, transient int Name = 100 не сохранится, а int b сохранится.

    Платформы и версии

    Существующие семейства языка программирования Java:

    • Standard Edition.
    • Enterprise Edition.
    • Micro Edition.
    • Card.

    1. SE - является основным, широко используется для создания пользовательских приложений для индивидуального использования.
    2. EE - набор спецификаций для разработки ПО уровня предприятия. Содержит больше возможностей, чем SE, поэтому используется в коммерческих масштабах на крупных и средних предприятиях.
    3. ME - предназначены для устройств с ограниченной мощностью и памятью, у них, как правило, малый размер дисплея. Такими устройствами являются смартфоны и КПК, ресиверы цифрового телевидения.
    4. Card - предназначена для устройств с крайне ограниченными вычислительными ресурсами, например таких, как смарт-карты, sim-карты, банкоматы. Для этих целей был изменен байт-код, требования к платформе, составляющее библиотек.

    Применение

    Программы на языке программирования Java, как правило, более медлительны и занимают больше оперативной памяти. Сравнительный анализ языков Java и «Си» показал, что «Си» немного продуктивней. После многочисленных изменений и оптимизации виртуальной машины Java улучшил свои показатели.

    Активно используется для приложений под Android. Программа компилируется в нестандартный байт-код, выполняется на виртуальной машине ART. Для компиляции применяется Android Studio. Это IDE от компании «Гугл» является официальной для разработки под ОС Android.

    Microsoft разработала собственную реализацию виртуальной машины Java MSJVM. Она имела такие отличия, которые ломали основополагающую концепцию кроссплатформенности - отсутствовала поддержка некоторых технологий и методов, имелись нестандартные расширения, работающие только на платформе Windows. Microsoft выпустил язык J#, синтаксис и работа в целом которого очень напоминает Java. Он не соответствовал официальной спецификации и в итоге был исключен из стандартного инструментария разработчика Microsoft Visual Studio.

    Язык программирования Java и среда

    Разработка программного обеспечения осуществляется в таких IDE:

    1. NetBeans IDE.
    2. Eclipse IDE.
    3. IntelliJ IDEA.
    4. JDeveloper.
    5. Java для iOS.
    6. Geany.

    JDK распространяется компанией Oracle как комплект разработчика на языке Java. Включает компилятор, стандартные библиотеки, утилиты, исполнительную систему. Современные интегрированные среды разработки опираются именно JDK.

    Удобно писать код на языке программирования Java в среде Netbeans и Eclipse IDE. Это свободные интегрированные среды для разработки, они подходят под все платформы «Джава». Также используются для программирования на Python, PHP, JavaScript, C++.

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

    JDeveloper - еще одна разработка от компании Oracle. Полностью написана на Java, поэтому работает на всех операционных системах.

Язык Java был создан в 1995 году, и за 22 года своего существования покорил сердца миллионов программистов. Как ему это удалось? Почему за это время не появилось ни одной достойной замены? Чтобы разобраться в этом, поговорим об особенностях языка Java.

Компания Sun Microsystems при выпуске языка заложила 5 парадигм потенциального успеха:

  1. простота, объектная ориентированность и понятность;
  2. надёжность и безопасность;
  3. переносимость и независимость от платформы;
  4. высокая производительность;
  5. интрепретируемость, поточность и динамичность.

Рассмотрим каждую из них подробнее.

Простота

Синтаксис языка был унаследован от C++. Сегодня на фоне Python, Groove или Go его трудно назвать простым, однако тогда эволюционный вид позволил привлечь внимание Си-разработчиков.

Стандартная программа “Hello World” выглядит следующим образом:

public static void main(String args)
{
System.out.println("Hello World");
}

Такая форма конструкций не увеличивает скорость набора, однако читать, понимать и воспроизводить его просто.

Надёжность

Надёжность обеспечивается двумя принципами:

  • ООП. Иерархия наследования увеличивает читаемость кода и снижает количество невынужденных ошибок.
  • Строгая типизация. Разработчику приходится выполнять больший объём работы, но данные интерпретируется однозначно.

Кроме того, первоначально в Java предполагался запрет прямого доступа к памяти, что также повышало бы надёжность. Но разработчики оставили несколько лазеек, например бэкдор sun.misc.Unsafe, которые этот запрет обходят.

Безопасность

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

Удобство

Дословно концепция Java звучит как: «Write once, run anywhere». То есть исполняемость кода не зависит от используемой операционной системы или установленного ПО. Достигается это благодаря транслированию в байт-код виртуальной машиной JVM.

Как нельзя кстати пригодилась эта особенность java на android. Разнообразие производителей, моделей телефонов, характеристик - всё это могло бы негативно сказаться на работе приложений, если бы не существование такого универсального инструмента.

Производительность

Особенность ява, связанная с транслированием в байт-код, положительно сказывается и на производительности конечных продуктов. По скорости исполнения однотипные программы на java уступают в 1,5-2 раза программам на C/C++, при этом превосходят JavaScript, Ruby, Python.

Развитая экосистема

За 22 года жизни язык оброс десятками IDE и фреймворков, сотнями сообществ и форумов, тысячами библиотек и плагинов. Всё это благоприятно сказывается на пороге вхождения в профессию, востребованности и качеству производимых с помощью java продуктов.

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

Программирование – это написание исходного кода программы на одном из языков программирования. Существует множество различных языков программирования, благодаря которым создаются всевозможные программы, решающие определенный круг задач. Язык программирования – это набор зарезервированных слов, с помощью которых пишется исходный код программы. Компьютерные системы не в силах (пока) понимать человеческий язык и уж тем более, человеческую логику (особенно женскую), поэтому все программы пишутся на языках программирования, которые впоследствии переводятся на язык компьютера или в машинный код. Системы, переводящие исходный код программы в машинный код, очень сложные и их, как правило, создают не один десяток месяцев и не один десяток программистов. Такие системы называются интегрированными средами программирования приложений или инструментальными средствами.

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

Вы, наверное, не раз слышали термин «программа написана под Windows или под Linux, Unix». Дело в том, что среды программирования при переводе языка программирования в машинный код могут быть двух видов – это компиляторы и интерпретаторы. Компиляция или интерпретация программы задает способ дальнейшего выполнения программы на устройстве. Программы написанные на языке Java всегда работают на основе интерпретации, тогда как программы написанные на С/С++ – компиляции. В чем разница этих двух способов?

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

Объектно-ориентированное программирование

Объектно-ориентированное программирование строится на базе объектов, что в кой-то мере аналогично с нашим миром. Если оглянуться вокруг себя, то обязательно можно найти то, что поможет более ярко разобраться в модели такого программирования. Например, я сейчас сижу за столом и печатаю эту главу на компьютере, который состоит из монитора, системного блока, клавиатуры, мыши, колонок и так далее. Все эти части являются объектами, из которых состоит компьютер. Зная это, очень легко сформулировать какую-то обобщенную модель работы всего компьютера. Если не разбираться в тонкостях программных и аппаратных свойств компьютера, то можно сказать, что объект Системный блок производит определенные действия, которые показывает объект Монитор. В свою очередь объект Клавиатура может корректировать или вовсе задавать действия для объекта Системный блок, которые влияют на работу объекта Монитор. Представленный процесс очень хорошо характеризует всю систему объектно-ориентированного программирования.

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

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

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

Классы

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

Такой подход позволяет очень легко моделировать всевозможные процессы в программировании, облегчая решение поставленных задач. Например, имеется четыре объекта четырех разных классов: монитор, системный блок, клавиатура и колонки. Чтобы воспроизвести звуковой файл необходимо при помощи клавиатуры дать команду системному блоку, само же действие по даче команды вы будете наблюдать визуально на мониторе и, в итоге, колонки воспроизведут звуковой файл. То есть любой объект является частью определенного класса и содержит в себе все имеющиеся у этого класса средства и возможности. Объектов одного класса может быть столько, сколько это необходимо для решения поставленной задачи.

Методы

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

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

Например, вы нажимаете клавишу Esc для отмены каких-либо действий и тем самым даете команду методу, закрепленному за этой клавишей который на программном уровне решает эту задачу. Сразу же возникает вопрос о количестве методов объекта Клавиатура, но здесь может быть различная реализация – как от определения методов для каждой из клавиш (что, вообще-то, неразумно), так и до создания одного метода, который будет следить за общим состоянием клавиатуры. То есть, этот метод следит за тем, была ли нажата клавиша, а потом в зависимости от того какая из клавиш задействована, решает, что ему делать.

Итак, мы видим, что каждый из объектов может иметь в своем распоряжении набор методов для решения различных задач. А поскольку каждый объект является объектом определенного класса, то получается, что класс содержит набор методов, которыми и пользуются различные объекты одного класса. В языке Java все созданные вами методы должны принадлежать или являться частью какого-то конкретного класса.

Синтаксис и семантика языка Java

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

Давайте создадим некий класс отвечающий, например, за телефон, который будет иметь всего два метода: включающий и выключающий этот самый телефон. Поскольку мы сейчас не знаем синтаксис языка Java, то напишем класс Телефон на абстрактном языке.

Класс Телефон
{
Метод Включить()
{
// операции по включению телефона
}
Метод Выключить()
{
// операции по выключению телефона
}
}

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

А теперь давайте запишем тот же самый класс только уже на языке Java.

Class Telefon
{
void on()
{
// тело метода on()
}
void off()
{
// тело метода off()
}
}

Ключевое слово class в языке Java объявляет класс, далее идет название самого класса. В нашем случае это Telefon. Сразу пару слов касательно регистра записи. Почти во всех языках программирования важно сохранять запись названий в том регистре, в котором она была сделана. Если вы написали Telefon, то уже такое написание как telefon или TELefoN выдаст ошибку при компиляции. Как написали первоначально, так и надо писать дальше.

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

В теле класса Telefon имеются два метода: on() – включающий телефон и метод off() – выключающий телефон. Оба метода имеют свои тела и в них по идее должен быть какой-то исходный код, описывающий необходимые действия обоих методов. Для нас сейчас неважно, как происходит реализация этих методов, главное – это синтаксис языка Java.

Оба метода имеют круглые скобки on(), внутри которых могут быть записаны параметры, например on(int time) или on(int time, int time1). С помощью параметров происходит своего рода связь методов с внешним миром. Говорят, что метод on(int time) принимает параметр time. Для чего это нужно? Например, вы хотите, чтобы телефон включился в определенное время. Тогда целочисленное значение в параметре time будет передано в тело метода и на основе полученных данных произойдет включение телефона. Если скобки пусты, то метод не принимает никаких параметров.

Комментарии

В классе Telefon в телах обоих методов имеется запись после двух слэшей: //. Такая запись обозначает комментарии, которые будут игнорироваться компилятором, но нужны для читабельности кода. Чем больше информации вы закомментируете по ходу написания программы, тем больше у вас будет шансов вспомнить через год, над чем же все это время трудились.

Комментарии в Java могут быть трех видов, это:

//, /*…*/ и /**…*/

Комментарии, записанные с помощь оператора // должны располагаться в одной строке:

// Одна строка
!!! Ошибка! На вторую строку переносить нельзя!
// Первая строка
// Вторая строка
// …
// Последняя строка

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

Типы данных Java

Чтобы задать произвольное значение, в Java существуют типы данных. В классе Telefon мы создали два метода. Оба метода не имели параметров, но когда приводился пример метода on(int time) с параметром time, говорилось о передаче значения в метод. Данное значение указывало на время, с помощью которого якобы должен включиться телефон. Спецификатор int как раз и определяет тип значения time. В Java 2 МЕ шесть типов данных.

Byte – маленькое целочисленное значение от –128 до 128;
short – короткое целое значение в диапазоне от –32768 до 32767;
int – содержит любое целочисленное значение от –2147483648 до 2147483647;
long – очень большое целочисленное значение, от –922337203685475808 до 9223372036854775807;
char – это символьная константа в формате Unicode. Диапазон данного формата от 0 до 65536, что равно 256 символам. Любой символ этого типа должен записываться в одинарных кавычках, например: ‘G’;
boolean – логический тип, имеет всего два значения: false – ложь и true – истина. Этот тип часто используется в циклах о которых чуть позже. Смысл очень прост – если у вас в кармане есть деньги, предположительно это true, а если нет то false. Таким образом, если деньги имеются – идем в магазин за хлебом или пивом (нужное подчеркнуть), если нет денег – остаемся дома. То есть это такая логическая величина, которая способствует выбору дальнейших действий вашей программы.

Чтобы объявить какое-то необходимое значение используется запись:

Int time;
long BigTime;
char word;

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

Mt time, time1, time2;

Теперь давайте, усовершенствуем наш класс Telefon, добавив в него несколько значений. Методы on() и off() нам больше не нужны, добавим новые методы, которые действительно могут решать определенные задачи.

Class Telefon
{
//S – площадь дисплея
//w – ширина дисплея
//h – высота дисплея
int w, h, S;
//метод, вычисляющий площадь дисплея
vord Area()
{
S = w*h;
}
}

Итак, мы имеем три переменные S, w и h, отвечающие, соответственно, за площадь, ширину и высоту дисплея в пикселях. Метод Area() вычисляет площадь экрана телефона в пикселях. Операция бесполезная, но очень показательная и простая в понимании. Тело метода Area() обрело себя и имеет вид S = w*h. В этом методе мы просто перемножаем ширину на высоту и присваиваем или как еще говорят, сохраняем результат в переменной S. Эта переменная будет содержать значения площади дисплея данного телефона.

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

Арифметические операторы

Все арифметические операторы очень просты и аналогичны операторам умножения «*», деления «/», сложения «+» и вычитания «–» используемые в математике. Существует оператор деления по модулю «%» и слегка запутанная на первый взгляд ситуация с оператором равно «=». Оператор равно в языках программирования называется оператором присваивания:

Здесь вы переменной х присваиваете значение 3. А оператор «равно» в языках программирования соответствует записи двух подряд операторов «равно»: «==». Рассмотрим на примере, что могут делать различные арифметические операторы.

Int x, y, z;
x = 5;
y = 3;
z = 0;
z = x + y;

В данном случае z будет иметь значение уже суммы x и y, то есть 8.

Переменная х имела значение 5, но после такой записи предыдущее значение теряется и записывается произведение z*x (8*5), что равно 40. Теперь, если мы продолжим дальше наш код, то переменные будут иметь такой вид:

// x = 40;
// y = 3;
// z = 8;

Операторы сложения и вычитания имеют те же назначения что и в математике. Отрицательные числа так же родственны.

Операторы декремента «––» и инкремента «++» весьма специфичны, но очень просты. В программировании часто встречаются моменты, когда требуется увеличить или уменьшить значение на единицу. Часто это встречается в циклах. Операция инкремента увеличивает переменную на единицу.

Int x = 5;
x++;
// Здесь х уже равен 6

Операция декремента уменьшает переменную на единицу.

Int x = 5;
x--;
// х равен 4

Операции инкремента и декремента могут быть пост и префиксными:

Int x = 5;
int y = 0;
y = x++;

В последней строке кода сначала значение x присваивается y, это значение 5, и только потом переменная х увеличивается на единицу. Получается что:

Префиксный инкремент имеет вид:

Int x = 3;
int y = 0;
y = ++x;

И в этом случае, сначала переменная х увеличивается на один, а потом присваивает уже увеличенное значение y.

Операторы отношения

Операторы отношения позволяют проверить равенство обеих частей выражения. Имеется оператор равенства «==», операторы меньше «<» и больше «>», меньше или равно «<=» и больше или равно «>=», а так же оператор отрицания «!=».
9 == 10;

Это выражение не верно, девять не равно десяти, поэтому его значение этого выражения равно false.

Здесь же, наоборот, оператор отрицания указывает на неравенство выражения, и значение будет равно true. Операторы больше, меньше, больше или равно и меньше или равно аналогичны соответствующим операторам из математики.

Логические операторы

Существует два логических оператора. Оператор «И», обозначающийся значками «&&» и оператор «ИЛИ», обозначенный в виде двух прямых слэшей «||». Например, имеется выражение:

А*В && В*С;

В том случае, если только обе части выражения истинны, значение выражения считается истинным. Если одна из частей неверна, то значение всего выражения будет ложным.
В противовес оператору «&&» имеется оператор «||», не напрасно имеющий название «ИЛИ».

А*В || В*С;

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

A*B || B*C && C*D || B*A;

С помощью этого выражения я вас ввел, как мне кажется, в затруднение, неправда ли? Дело в том, что в Java, как и в математике существует приоритет или так называемая иерархия операторов, с помощью которой определяется какой из операторов главнее, а, следовательно, и проверяется первым. Рассмотрим с помощью списка приоритет всех имеющихся операторов языка Java:

, ., (),
!, ~, ++, – –, + (унарный), – (унарный), new,
*, /, %,
+, –,
<<, >>, >>>,
<, <=, >, >=,
= =, !=,
&, ^, |,
&&,
||,
?:,
=, +=, –=, *=, /=, %=, |=, ^=, <<=, >>=, >>>=.

Ассоциативность операторов в списке следует слева направо и сверху вниз. То есть все, что находится левее и выше – старше по званию и главнее.