Как написать простое приложение на java

Время на прочтение
2 мин

Количество просмотров 167K

Добрый день!

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

Зачастую начинающие разработчики задают вопроc: «С чего начать создание приложения», какие классы использовать и прочее.

Не стоит воспринимать статью как пример «Hello World» для начинающих изучать язык Java и объектно-ориентированный подход. Предполагается, что читатель уже знаком с языком Java, однако у него возникают вопросы указанные выше.

В этой статье мы даем ответ на эти вопросы.

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

Теперь более подробно…

Сначала создается класс Application — он будет моделью всего приложения.

public class Application {
}

Далее создаем точку входа в приложение — метод main:

public class Application {
    public static void main(String[] args) {
    }
}

Этот метод выполняется при запуске Java с указанием основого класса (Application). В нем мы создаем экземпляр приложения и инициализируем его, а далее запускаем. Для этого будем использовать методы init и run:

public class Application {
    public void init() {
    }

    public void run() {
    }

    public static void main(String[] args) {
        Application application = new Application();
        application.init();
        application.run();
    }
}

В методе init мы делаем необходимую инициализацию приложения. В методе run же распологается основной код хода приложения.

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

Остальные элементы нашего приложения можно разбить на модельные классы и виды (окна, панели). Например, представим, что мы создаем простейший кредитный калькулятор. Тогда класс CreditCalculator — будет моделью калькулятора. В методе init будем инициализировать калькулятор, а в run вычислять:

public class Application {
    private CreditCalculator calculator;

    public void init() {
        calculator = new CreditCalculator();
    }

    public void run() {
        calculator.setAmount(500000);
        calculator.setYears(3);
        calculator.calculate();
        System.out.println("Месячный платеж: " + calculator.getMonthlyPayment());
    }

    public static void main(String[] args) {
        Application application = new Application();
        application.init();
        application.run();
    }
}

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

Теперь о том, как запустить приложение

Мы будем исходить из того, что вы используете среду разработки Eclipse, Intellij IDEA или NetBeans. И класс Application создали именно в ней. В этих же средах для запуска нужно вызвать контекстное меню и нажать Run… или Run As Application в редакторе класса Application.

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

Статья написана по мотивам подкаста Procode
RSS: procode.podomatic.com/rss2.xml
iTunes: itunes.apple.com/ru/podcast/procode/id529972125

Крутых девелоперов просьба не ругать — вы и так все знаете! А лучше поругайте — тогда будет понятно что неправильно.

Просьба перед оценкой статьи оставить конструктивный комментарий.

Юрий Пономарев

Юрий Пономарев


консультант по программным продуктам Oracle Центра технической поддержки компании РДТЕХ

Java – один из самых востребованных языков программирования в мире и один из двух официальных языков программирования, используемых в разработке Android (другой – Kotlin). Разработчики, знакомые с Java, весьма востребованы и способны создавать широкий спектр различных приложений, игр и инструментов. С помощью этой краткой статьи по Java для начинающих вы сможете сделать свои первые шаги к тому, чтобы стать одним из таких разработчиков. Мы рассмотрим все, что вам нужно знать, чтобы начать работу, и поможем вам создать свое первое простое приложение.

Java-это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems в 1990-х годах (позже купленной Oracle).

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

Java находится под влиянием C и C++, поэтому она имеет много общего с этими языками (и C#). Одним из больших преимуществ Java является то, что он «платформенно-независимый». Это означает, что код, который вы пишете на одной платформе, можно легко запустить на другой. Это называется принципом «пишем один раз, запускаем где угодно» (хотя на практике это не всегда так просто, как кажется).

Чтобы запустить и использовать Java, вам нужно три вещи:

  • JDK – Java Development Kit
  • JRE – Java Runtime Environment
  • JVM – Java Virtual Machine

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

Среда исполнения Java (JRE) предоставляет собой «контейнер» для всех этих элементов и кода для запуска приложения. JDK – это «компилятор», который интерпретирует сам код и выполняет его. В JDK также есть инструменты разработчика, необходимые для написания кода Java (как и следует из названия).

Хорошая новость заключается в том, что разработчикам нужно только позаботиться о загрузке JDK, поскольку он поставляется вместе с двумя другими компонентами.

Как начать писать на Java

Если вы планируете разрабатывать приложения на Java на своем настольном компьютере, то вам нужно будет загрузить и установить JDK.

Вы можете получить последнюю версию JDK непосредственно с сайта Oracle. Как только вы установите его, ваш компьютер будет иметь возможность понимать и запускать код на Java. Тем не менее, вам все равно понадобится некоторое вспомогательное ПО, чтобы было действительно удобно писать код. Это так называемая «интегрированная среда разработки» или IDE: интерфейс, используемый разработчиками для ввода текста кода и вызова JDK.

При разработке для Android вы будете использовать IDE Android Studio. Она не только послужит интерфейсом для кода на Java (или Kotlin), но и станет мостом для доступа к специфичным для Android вызовам из SDK.

Для целей нашего краткого руководства по Java может быть и проще написать свой код непосредственно в приложении-компиляторе Java. Они могут быть скачаны для Android и iOS, можно даже найти веб-приложения, которые работают в вашем браузере. Эти инструменты предоставляют все необходимое в одном месте и позволяют сразу начать тестирование кода. Например, compilejava.net.

Насколько легко научиться программированию на Java?

Если вы новичок в разработке на Java, то ваши опасения вполне понятны. Так насколько же легко изучить Java?

Этот вопрос имеет несколько субъективную природу, но лично я бы отнес Java к языкам, не самым простым для изучения. Хотя он проще, чем C++, и часто описывается как более удобный для пользователя, но он, безусловно, не столь прост, как такие его конкуренты, как Python или BASIC, которые больше подходят для изучения начинающим программистам.

C# также немного проще по сравнению с Java, хотя они очень похожи.

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

У языка Java есть свои особенности, но его, безусловно, можно изучить, и как только вы его освоите, вам откроется множество возможностей. А поскольку Java имеет много общего с C и C#, вы сможете перейти на эти языки без особых усилий.

Каков синтаксис Java?

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

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

На самом деле я написал целую статью о синтаксисе Java для разработки Android, кратко перечислю особенности синтаксиса:

  • Большинство строк должно заканчиваться точкой с запятой «;».
  • Исключение составляет строка, открывающая новый блок кода. Она должна начинаться открытой фигурной скобкой «{». В качестве альтернативы эту открытую скобку можно поместить на новую строку под оператором. Блоки кода – это фрагменты кода, которые выполняют определенные, отдельные задачи.
  • Код внутри блока кода должен иметь отступ, чтобы отделить его от остальных.
  • Открытые блоки кода должны быть закрыты закрывающей фигурной скобкой «}».
  • Комментарии – это строки, которым предшествуют символы «//».

Если вы нажимаете кнопку «запустить» или «скомпилировать» и получаете ошибку, то есть большая вероятность, что вы где-то пропустили точку с запятой!

Вы никогда не перестанете делать это, и это никогда не перестанет вас раздражать. Расслабьтесь!

С этими знаниями мы сможем глубже погрузиться в руководство по Java!

Основы Java: ваша первая программа

Зайдите на  compilejava.net, и вас встретит редактор с кучей готовых примеров.

(Если же вы предпочитаете использовать другую IDE или стороннее приложение, это тоже прекрасно! Скорее всего, ваш новый проект будет состоять из аналогичного кода).

Удалите все, кроме следующего:

public class HelloWorld
{
  public static void main(String[] args)
  {
  }
}

Это то, что мы, программисты, мы называем «шаблоном» (этот код скопирован из учебника Java от Фила Данфи). Шаблонный код – так можно назвать любой код, который встречается внутри практически любой программы.

Первая строка здесь определяет «класс», который по сути является модулем кода. Затем нам нужен метод внутри этого класса, который представляет собой небольшой блок кода, выполняющий задачу. В каждой программе Java должен быть метод main, так как он сообщает Java, где начинается программа.

Об остальном поговорим чуть ниже, не беспокойтесь. Все, что нам нужно знать для этого урока Java прямо сейчас, – это то, что код, который мы действительно хотим запустить, должен быть помещен в фигурные скобки под словом «main».

Поместите сюда следующий оператор:

System.out.print("Hello world!");

Этот оператор напишет слова: «Hello world!» на вашем экране. Нажмите «Compile & Execute» и вы увидите его в действии.

Поздравляю! Вы только что написали свое первое Java-приложение!

Переменные в Java

Теперь пришло время рассказать о некоторых более важных вещах, лежащих в основе Java. Мало что может быть более фундаментальным в программировании, чем обучение использованию переменных!

Переменная по сути является «контейнером» для некоторых данных. Это означает, что вы выберете слово, которое будет представлять какое-то значение. Нам также необходимо определить переменные, основанные на типе данных, на которые они будут ссылаться.

Вот три основных типа переменных, которые мы собираемся ввести в этом руководстве по Java:

  • Целые числа (integers) – как целые числа.
  • Плавающие точки (floats) – или «переменные с плавающей точкой». Они содержат все числа, в том числе те, которые представляют десятичные дроби. «Плавающая точка» относится к десятичному разряду.
  • Строки (strings)– строки содержат буквенно-цифровые символы и символы. Обычно строка используется для хранения чьего-то имени или, возможно, предложения.

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

public class HelloWorld
{
  public static void main(String[] args)
  {
    String name = "Adam";
    System.out.print("Hello " + name);
  }
}

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

Теперь мы печатаем на экране, как и раньше, но на этот раз заменяем «Hello world!» на «Hello + имя». Этот код показывает строку «Hello», за которой следует любое значение, содержащееся в следующей строковой переменной!

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

Условные операторы в Java

Еще одна из самых важных основ Java – это работа с условными операторами.

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

Посмотрите на следующий код:

public class HelloWorld
{
  public static void main(String[] args)
  {
    String name = "Adam";
    System.out.print("Hello " + name +"rn");
    
    if (name == "Adam") 
    {
      System.out.print("Special user priveledges granted!");
    }
  }
  
}

Запустите этот код, и вы увидите, что специальные разрешения предоставлены. Но, если вы измените значение name на что-то другое, то код не будет работать.

В этом коде используется оператор if. Он проверяет, является ли утверждение, содержащееся в скобках, истинным. Если это так, то будет запущен следующий блок кода. Не забудьте сделать отступ в коде, а затем закрыть блок в конце! Если оператор в скобках имеет значение false, то код просто пропустит этот раздел и продолжит работу с закрытых скобок.

Обратите внимание, что при наложении условия на данные мы используем два знака «=». Вы же используете только один, когда присваиваете какие-то данные переменным.

Методы на Java

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

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

public class HelloWorld
{
  
  public static void main(String[] args)
  {
    String name = "Adam";
    System.out.print("Hello " + name +"rn");
        if (name == "Adam") {
      grantPermission();
    }
         
  }
  
  static void grantPermission()
  {
       System.out.print("Special user priveleges granted!");
  }
  
}

Мы создали новый метод в строке, которая начинается со static void. Это означает, что метод определяет функцию, а не свойство объекта, и что он не возвращает никаких данных.

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

Если бы мы написали вызов grantPermission() несколько раз, то сообщение «Special user priveleges granted» также отобразилось бы несколько раз. Именно это делает методы такими фундаментальными основами Java: они позволяют выполнять повторяющиеся задачи, не записывая код снова и снова.

Передача аргументов в Java

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

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

Для этого руководства по Java я передал значение name методу и поместил туда оператор if. Таким образом, мы можем проверять несколько имен подряд, не набирая один и тот же код снова и снова.

Надеюсь, это даст вам представление о том, насколько мощными могут быть методы!

public class HelloWorld
{
  
  public static void main(String[] args)
  {
    String name = "Adam";
    System.out.print("Hello " + name +"rn");
 
    checkUser(name);
    
  }
  
  static void checkUser(String nameCheck)
  {
    if (nameCheck == "Adam")
    {
       System.out.print("Special user priveledges granted!");
    }
  }
  
}

В завершение

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

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

Перевод статьи «Java tutorial for beginners: Write a simple app with no previous experience»


Загрузить PDF


Загрузить PDF

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

  1. Изображение с названием 91968 1

    1

    Для того чтобы начать писать программы на Java, в первую очередь установите среду разработчика. Многие программисты используют интегрированную среду разработки (англ. Integrated development environment — IDE), такую как Eclipse или Netbeans, но можно создать программу и без нее.

  2. Изображение с названием 91968 2

    2

    Любой программы по типу Блокнота будет достаточно для Java-программирования. Некоторые программисты предпочитают использовать текстовые редакторы на основе vim и emacs. Также существует достаточно хороший текстовый редактор, который можно установить как на ОС Windows так и Linux (Mac, Ubuntu и так далее) — Sublime Text. Его мы и будем использовать в данном обзоре.

  3. Изображение с названием 91968 3

    3

    Реклама

  1. Изображение с названием 91968 4

    1

    Для начала мы создадим программу, которая будет выдавать надпись Hello World. Создайте новый файл в текстовом редакторе и сохраните его как «HelloWorld.java». «HelloWorld» — это имя класса, которое должно совпадать с названием файла, это важно.

  2. Изображение с названием 91968 5

    2

    Задайте класс и основной метод. Основной метод public static void main(String[] args) будет применяться при каждом запуске программы и будет устанавливаться в каждой последующей программе Java.

    public class HelloWorld {
        public static void main(String[] args) {
        }
    }
    
  3. Изображение с названием 91968 6

    3

    Введите строку кода «Hello World.»

    System.out.println("Hello World.");
    
    • Рассмотрим компоненты этой строки кода:
      • System обращается к системе с указанием выполнять определенные действия.
      • Out сообщает системе, что мы собираемся ввести какие-то данные.
      • Println строка ввода — сообщает системе о необходимости вывести значение на экран.
      • Скобки вокруг ("Hello World") обозначают, что метод System.out.println () выбирает это значение в качестве параметра.
    • Возьмите на заметку несколько правил, которые нужно соблюдать, программируя на языке Java:
      • В конце каждой строчки кода нужно ставить точку с запятой.
      • Java чувствителен к регистру, поэтому писать значения метода, переменных, и имя класса необходимо с учетом него.
      • Блоки кода, которые относятся к определенному методу, разделяются фигурными скобками.
  4. Изображение с названием 91968 7

    4

    Соедините все вместе. В конечном итоге ваша программа Hello World должна выглядеть следующим образом:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World.");
        }
    }
    
  5. Изображение с названием 91968 8

    5

    Сохраните файл и откройте командную строку или терминал, чтобы скомпилировать программу. Зайдите в папку, где вы сохранили файл HelloWorld.java и введите в Javac (оптимизирующий компилятор языка java) HelloWorld.java. Таким образом, вы дадите знать компилятору, что хотите преобразовать файл. Если в процессе будут всплывать ошибки, компилятор уведомит вас о том, что вы сделали не так. В идеале у вас вообще не должно быть никаких уведомлений от компилятора в процессе преобразования файла. По окончании компиляции заглянете в папку, где был сохранен файл HelloWorld.java, — там должен появиться файл HelloWorld.class. Его и будет использовать для запуска виртуальная машина Java.

  6. Изображение с названием 91968 9

    6

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

  7. Изображение с названием 91968 10

    7

    Поздравляем, вы создали свою первую программу на языке Java.

    Реклама

  1. Изображение с названием 91968 11

    1

    Теперь нам нужно расширить свою программу Hello World, чтобы она воспринимала ввод данных пользователем. В нашей программе мы напечатали строку, которая видна пользователю, но в интерактивных программах пользователи вводят данные в приложениях. Наша задача — расширить программу, чтобы она запрашивала у пользователя имя, а затем приветствовала его по имени.

  2. Изображение с названием 91968 12

    2

    Импортируйте класс Scanner. В Java есть встроенные библиотеки, к которым мы имеем доступ, но нам нужно импортировать их. Одной из таких библиотек является java.util, содержащая объект Сканер, который необходим нам для ввода данных пользователем. Для того, чтобы импортировать этот класс, нам нужно добавить следующую строчку в исходный код.

    import java.util.Scanner;
    • Так мы сообщим программе, что хотим использовать объект Scanner, который существует в пакете java.util.
    • Если мы хотим получить доступ ко всем объектам в библиотеке java.util., нам нужно просто импортировать в начале кода java.util.*.
  3. Изображение с названием 91968 13

    3

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

    Scanner userInputScanner = new Scanner(System.in);
    • userInputScannerимя объекта-сканера, которое мы только что установили. Возьмите на заметку, что имя написано в «горбатом регистре». Это соглашение на применение имен переменных в Java.
    • Мы используем новый оператор для того, чтобы создать новый экземпляр объекта. В нашем случае мы создали новый экземпляр объекта Scanner, указав в коде new Scanner(System.in).
    • Объект Scanner подхватывает параметр, сообщающий объекту, что нужно просканировать. В этом случае System.in является параметром. System.in сообщает программе, что необходимо просканировать введенные пользователем данные.
  4. Изображение с названием 91968 14

    4

    Далее следует сделать понятным для пользователя необходимость ввода данных в консоли. Это можно сделать с помощью команды System.out.print или System.out.println.

    System.out.print("What's your name? ");
  5. Изображение с названием 91968 15

    5

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

    String userInputName = userInputScanner.nextLine();
    • В Java подтверждение использования объектного метода задается параметрами objectName.methodName(parameters). Строка же кода userInputScanner.nextLine() вызывает объект Scanner с помощью присвоенного ему имени, а затем мы вызываем метод nextLine(), которому нельзя задать параметры.
    • Возьмите на заметку, что мы сохраняем следующую строчку в другом объекте — String. Он обозначается в коде userInputName
  6. Изображение с названием 91968 16

    6

    Напечатайте приветствие для пользователя. После того, как мы сохранили его имя, мы можем напечатать приветствие для этого пользователя. Помните строчку System.out.println("Hello World."); которую мы использовали в основном файле с расширением class? Весь написанный нами код должен располагаться над этой строчкой. Теперь мы можем изменить эту строчку, чтобы она выводила следующий текст:

    System.out.println("Hello " + userInputName + "!");
    • Необходимо ввести «привет», имя пользователя и восклицательный знак с помощью строки кода "Hello " + userInputName + "!". Это называется объединение строк.
    • У нас есть три строчки: привет, «, userInputName, и «!». Строчки в Java являются неизменными и не поддаются редактированию. Поэтому объединив их, мы создали новую строчку, в которой содержится приветствие.
    • После чего мы используем эту новую строчку в качестве параметра для System.out.println.
  7. Изображение с названием 91968 17

    7

    Сведите все вместе и сохраните. Наш код должен выглядеть примерно так:

    import java.util.Scanner;
    
    public class HelloWorld {
        public static void main(String[] args) {
            Scanner userInputScanner = new Scanner(System.in);
            System.out.print("What's your name? ");
            String userInputName = userInputScanner.nextLine();
            System.out.println("Hello " + userInputName + "!");
        }
    }
  8. Изображение с названием 91968 18

    8

    Скомпилируйте и запустите. Зайдите в командную строку или терминал и запустите те же команды, которые мы использовали для HelloWorld.java. Для начала нужно скомпилировать программу с помощью оптимизирующего компилятора языкаjavac HelloWorld.java. После чего мы сможем запустить эту программу java HelloWorld.

    Реклама

Советы

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

Реклама

Об этой статье

Эту страницу просматривали 139 048 раз.

Была ли эта статья полезной?

Пишем простое приложение на Java

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

img

Создание проекта

Для начала создадим новый проект так, как мы делали это в предыдущем видео.
Зададим ему такое имя, чтобы оно соответствовало сути разрабатываемой программы —
FillingStation. С английского filling station переводится как автозаправочная станция или
бензоколонка.
Создадим в этом проекте сразу класс Main с методом main(). Напишем первую строку

"System.out.println("Система расчёта стоимости топлива");

Именование переменных

Работоспособность и поддерживаемость программы
Можно назвать переменные просто a, n или x, но в Java принято давать им понятные
имена, чтобы без комментариев было ясно, какая информация хранится в переменных.
Есть два фактора качества программного обеспечения:

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

Один из важнейших компонентов поддерживаемости — это читаемость, которая включает
в себя правильный и понятный нейминг, то есть именование всего, что есть в программе.
Названия переменных должны отражать то, что в них содержится. Ведь когда-нибудь ваш
проект станет большим, а если названия будут непонятными, то вы не сможете в них
разобраться.
Кроме того, большинство программистов работают в командах, поэтому важно, чтобы и
ваши коллеги понимали код друг друга. Поэтому он должен быть написан максимально
понятно и доступно.
Вернёмся к коду
В языке Java переменные принято называть с маленькой буквы. Если имена состоят из
нескольких слов, то второе и каждое следующее слово пишется с большой буквы, все они
пишутся слитно.
После имени переменной идёт знак равно — это оператор присвоения значения: после
него пишется значение, которое мы записываем в эту переменную. Знак равно отделён
пробелами. Этого можно не делать, но пробелы упростят читаемость кода.
Такой формат напоминает переменные в алгебре: x равно 5, y равно 6, чему равно z? А
здесь те же переменные с более понятными названиями: fuelType равен 95.
В конце строки написана точка с запятой. Так в Java заканчиваются все основные строки
программного кода.
Можно подставить имя переменной в конструкцию System.out.ptintln и вывести в консоль.
При запуске программы в консоль выведется число, которое записано в эту переменную:

System.out.println(fuelType);

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

  • iInt означает, что переменная содержит целые числа;
  • fuelType — имя переменной

Для количества литров создадим вторую переменную:

Теперь зададим цены для двух типов бензина. Цены бензина — это обычно и руубли, и
копейки, поэтому используем переменные для хранения дробных величин:

float fuel92price = 60.2;
float fuel95price = 67.33;

Напишем код, который будет выбирать нужную цену в зависимости от переданного в
программу типа топлива:

float fuelPrice = 0;
if(fuelType == 92) {
fuelPrice = fuel92price;
}

Двойное равно — это символ сравнения, поэтому мы используем его в круглых скобках
оператора if. А одинарное равно — это символ присвоения значения.
Напишем код для второго типа топлива:

if(fuelType == 95) {
fuelPrice = fuel95price;
}

Выведем в консоль выбранную цену:

System.out.println("Цена выбранного топлива: " + fuelPrice + " руб.");

Запускаем, смотрим, убеждаемся, что всё работает.
Теперь напишем код, который будет рассчитывать стоимость заправки, исходя из
переданных параметров:

float totalPrice = fuelPrice * amount;
System.out.println("Общая стоимость заправки: " + totalPrice + " руб.");

Снова запускаем, смотрим, убеждаемся, что всё работает.

#Обработка ошибок
Первая ситуация — нам могут передать неверный тип топлива. В этом случае переменная
fuelPrice останется равной нулю. Предусмотрим эту ситуацию:

if(fuelPrice > 0) {
} else {
System.out.println("Выбран неверный тип топлива");
}

Предусмотрим ситуацию с неверным количеством топлива:

if(amount < 1) {
System.out.println("Указано слишком малое количество топлива");
}

Предусмотрим ситуацию, при которой количество топлива будет отрицательным, потому
что в этом случае цена тоже будет отрицательной. Сделаем так:

if(amount < 1) {
System.out.println("Указано слишком малое количество топлива");
amount = 0;
}

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

Итоги

Мы написали программу для расчёта стоимости заправки на АЗС в зависимости от типа и
количества топлива. В следующем видео мы научимся упаковывать программы в
JAR-файлы для запуска на других компьютерах.

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

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

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

В последующих статьях мы будем использовать для написания кода текстовый редактор Sublime Text, а затем окончательно перейдем на профессиональную среду разработки Intellij IDEA.

Откройте онлайн-редактор и удалите все, что там написано. Затем наберите в нем в точности, включая все пробелы и отступы, следующие строки кода:


public class MyFirstApp {	
    public static void main(String[] args) {
        System.out.println("Write once, run anywhere");
    }
}

Переименуйте имя файла в MyFirstApp.java.

Для запуска программы нажмите Run.

Если все сделано верно, то в консоли отобразится текст: Write once, run anywhere. Переводится, как «Написано однажды, работает везде» — это девиз Java.

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

А теперь попробуем разобраться с самой программой.

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

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


public class MyFirstApp {	

}

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

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

В строке 1 и 3 используются фигурные скобки, открывающаяся { и закрывающаяся }, идущие всегда парой. Они являются ограничителями, показывающими, где начинается и заканчивается класс. Все, что находится внутри этих скобок, называется телом класса.

В некоторых языках программирования { ставится на новой строке, а не на той, где объявляется класс или другие конструкции языка.


public class MyFirstApp
{	
    public static void main(String[] args)
    {
        System.out.println("Write once, run anywhere");
    }
}

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

Рассмотрим строку с объявлением класса чуть подробнее. Она состоит из ряда слов, идущих последовательно в определенном порядке.

public — модификатор доступа, делающий данный класс публичным, общедоступным — мы его ни от кого не прячем.

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

class — ключевое слово, сообщающее о том, что данная конструкция описывает класс, а не что-то другое.

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

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

public и class являются зарезервированными (ключевыми) словами Java. Таких слов много. Со временем вы будете знать их все.

Также стоит помнить, что имя файла должно в точности повторять, включая первую большую букву, имя класса, описанного в нем. В нашем случае и класс и файл имеют имя MyFirstApp. Это очень удобно, потому что не нужно открывать файл, чтобы узнать, какой класс в нем описан. Достаточно посмотреть на имя файла.

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

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

Подведем промежуточный итог, выделив ряд правил, которые мы прошли (их нужно запомнить):

  • для объявления класса необходимо использовать запись вида public class ИмяКласса
  • для обозначения начала и конца объявления класса используются фигурные скобки { }, которые всегда идут парой
  • имя класса принято начинать с большой буквы
  • при именовании класса необходимо использовать CamelCase
  • имя файла и класса должны совпадать
  • файл с Java-кодом должен иметь расширение .java

Границы программы заданы, класс объявлен. Далее реализуем в нем какую-то функциональность. Для этого нужно объявить (создать) метод.


public class MyFirstApp {	
    public static void main(String[] args) {

    }
}

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

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

Метод main — непростой метод: он отвечает за запуск программы, и его внешний вид строго декларирован (утвержден).

Разберем, из чего состоит объявление метода main.

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

static — сейчас понять назначение этого слова будет тяжело, т. к. чтобы про него рассказать, требуется разобрать дополнительные темы, которые мы еще не проходили. На данном этапе достаточно знать, что модификатор static позволяет JVM запускать метод main без дополнительных действий с ее стороны.

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

void — указывает на тип возвращаемого значения. Каждый метод внутри себя выполняет какую-то деятельность. Результатом этой работы может быть какое-то значение. Например, результатом работы метода, который складывает два числа 2 + 2 является новое число 4. Это значение он может передать дальше в программу, либо оно навсегда останется в нем.

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

Во второй ситуации кот подходит к холодильнику. Результатом его работы является сохраненный холодом от порчи корм. Кот на этот раз ничего не получает. Корм остается в холодильнике.

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

main — имя метода. Позволяет отличать один метод от другого, т. к. класс может содержать огромное их количество. В нашем случае метод называется main, т. е. «главный», «основной». Имена методов в Java принято записывать с маленькой буквы.

Имена методов могут состоять из нескольких слов, например, findCat, deleteAllNumbers, receiveKeyIfResumeExist и т. д. В этом случае тоже используют camelCase, но первое слово в имени начинается с маленькой буквы.

() — открывающаяся и закрывающаяся круглая скобка. Они выполняют две функции: сообщают, что перед нами метод; а также могут внутри себя содержать описание принимаемых аргументов.

String[] args — принимаемые методом аргументы. В данном случае метод main принимает в качестве аргумента массив строк, который называется args. Чтобы представить, что такое массив, подумайте о коробке конфет или о лотке для яиц. Это все массивы, где хранятся элементы одного типа: либо только конфеты, либо только яйца. С массивами мы детально разберемся в другой статье.

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

{ } — открывающаяся и закрывающаяся фигурная скобка. Задают границы метода. Все, что находится внутри них, называется телом метода.

Как я написал выше, main — это не простой метод. Это — самый главный метод. Его еще называют точкой входа в программу. При запуске программы, в первую очередь, запускается именно он. Внешний вид метода строго декларирован и прописан в спецификации языка. В противном случае JVM не сможет найти его, и программа не запустится

Спецификация языка — это технический pdf-документ с описанием синтаксиса и семантики языка.

На данном этапе вам нужно просто запомнить, как выглядит метод main. Представьте, что это магическое заклинание, которое звучит как public static void main(String[] args) — повторяйте его, чтобы запомнить.

Снова подведем промежуточный итог, выделив ряд правил, которые мы прошли:

  • для объявления метода main необходимо использовать запись вида public static void main(String[] args)
  • для обозначения начала и конца метода используются фигурные скобки { }, которые всегда идут парой
  • имя метода принято начинать с маленькой буквы
  • при именовании метода, если он состоит из более чем одного слова, тоже используют camelCase, но первое слово в имени начинается с маленькой буквы

4. Вывод текста на консоль

Нам осталось разобраться с последней строкой кода, которая позволяет вывести на экран текст Write once, run anywhere.


public class MyFirstApp {	
    public static void main(String[] args) {
        System.out.println("Write once, run anywhere");
    }
}

Это еще одно заклинание на языке Java, которое условно можно разбить на следующие части:

  • System.out.println — отвечает за вывод текста. Просто запомните, как это пишется
  • ( ) — парные круглые скобки
  • «Write once, run anywhere» — текст, обрамленный с двух сторон кавычками, который будет отображен при запуске программы
  • точка с запятой — сообщает о том, что строка с кодом закончилась

1) Ранее было написано, что имя класса и имя файла должны совпадать. Давайте попробуем нарушить это правило и посмотрим на последствия.

Изменим имя файла MyFirstApp.java на MyApp.java, и запустим программу. Отобразится ошибка:

Она означает, что в строке 1 файла MyApp.java объявляется публичный класс с именем MyFirstApp, а значит и находиться он должен в файле с таким же именем.

2) Теперь нарушим еще одно правило, написав имя класса и файла с маленькой буквы, назвав их myFirstApp. Запустив программу, видим, что отобразилось сообщение Write once, run anywhere.

Можно сделать вывод, что писать имя файла и класса с большой буквы является лишь договоренностью всех программистов друг с другом. Это сделано для того, чтобы в коде не путать имена переменных (начинаются с маленькой буквы. О них мы поговорим в другой статье) с именами классов.

3) Попробуем изменить имя метода main, например, на Main. Запустив программу, увидим следующую ошибку:

JVM не смогла запустить программу т. к. не нашла метод main (с маленькой буквы). О чем и свидетельствует ошибка Error: main method not found.

4) Вернем методу его первоначальное имя, но удалим слова public static и снова запустим. Возникнет та же самая ошибка, что и в предыдущем пункте, связанная с тем, что при запуске программы не был найден метод main, записанный по всем правилам.

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

Оцените статью, если она вам понравилась!


Download Article


Download Article

Java is an object-oriented programming language created in 1995 by James Gosling, which means that it represents concepts as «objects» with «fields» (which are attributes that describe the object) and «methods» (actions that the object can make). Java is a «write once, run anywhere» language, which means that it is designed to run on any platform that has a Java Virtual Machine (JVM). Since Java is a very verbose programming language, it is easy for beginners to learn and understand. This tutorial is an introduction to writing programs in Java.

  1. Image titled 91968 1

    1

    In order to start writing programs in Java, set up your work environment. Many programmers use Integrated Development Environments (IDEs) such as Eclipse and Netbeans for their Java programming, but one can write a Java program and compile it without bloated IDEs.

  2. Image titled 91968 2

    2

    Any sort of Notepad-like program will suffice for programming in Java. Hardcore programmers sometimes prefer to use text editors that are within the terminal such as vim and emacs. A very good text editor that can be installed on both a Windows machine and on a linux-based machine (Mac, Ubuntu, etc.) is Sublime Text, which is what we will be using in this tutorial.

    Advertisement

  3. Image titled 91968 3

    3

  4. Advertisement

  1. Image titled 91968 4

    1

    We will first create a program that prints «Hello World.» In your text editor, create a new file and save it as «HelloWorld.java». HelloWorld is your class name and you will need your class name to be the same name as your file.

  2. Image titled 91968 5

    2

    Declare your class and your main method. The main method public static void main(String[] args) is the method that will be executed when the programming is running. This main method will have the same method declaration in every Java program.

    public class HelloWorld {
        public static void main(String[] args) {
        }
    }
    
  3. Image titled 91968 6

    3

    Write the line of code that will print out «Hello World.»

    System.out.println("Hello World.");
    
    • Let’s look at the components of this line:
      • System tells the system to do something.
      • out tells the system that we are going to do some output stuff.
      • println stands for «print line,» so we are telling the system to print a line in the output.
      • The parentheses around ("Hello World.") means that the method System.out.println() takes in a parameter, which, in this case, is the String "Hello World."
    • Note that there are some rules in Java that we have to adhere to:
      • You must always add a semicolon at the end of every line.
      • Java is case sensitive, so you must write method names, variable names, and class names in the correct case or you will get an error.
      • Blocks of code specific to a certain method or loop are encased between curly brackets.
  4. Image titled 91968 7

    4

    Put it all together. Your final Hello World program should look like the following:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World.");
        }
    }
    
  5. Image titled 91968 8

    5

    Save your file and open up command prompt or terminal to compile the program. Navigate to the folder where you saved HelloWorld.java and type in javac HelloWorld.java. This tells the Java compiler that you want to compile HelloWorld.java. If there are errors, the compiler will tell you what you did wrong. Otherwise, you shouldn’t see any messages from the compiler. If you look at the directory where you have HelloWorld.java now, you should see HelloWorld.class. This the the file that Java will use to run your program.

  6. Image titled 91968 9

    6

    Run the program. Finally, we get to run our program! In command prompt or terminal, type in java HelloWorld. This tells Java that you want to run the class HelloWorld. You should see «Hello World.» show up in your console.

  7. Image titled 91968 10

    7

    Congratulations, you have made your first Java program!

  8. Advertisement

  1. Image titled 91968 11

    1

    We will now extend our Hello World program to take input from the user. In our Hello World program, we printed out a string for the user to see, but the interactive part of programs is when the user gets to enter input into the program. We will now extend our program to prompt the user for his or her name and then greet the user by his or her name.

  2. Image titled 91968 12

    2

    Import the Scanner class. In Java, we have some built in libraries that we have access to, but we have to import them. One of these libraries is java.util, which contains the Scanner object that we need to get user input. In order to import the Scanner class, we add the following line to the beginning of our code.

    import java.util.Scanner;
    
    • This tells our program that we want to use the Scanner object which exists in the package java.util.
    • If we wanted to have access to every object in the java.util package, we simply write import java.util.*; at the beginning of our code.
  3. Image titled 91968 13

    3

    Inside our main method, instantiate a new instance of the Scanner object. Java is an object-oriented programming language, so it represents concepts using objects. The Scanner object is an example of an object that has fields and methods. In order to use the Scanner class, we have to create a new Scanner object that we can populate the fields of and use the methods of. To do this, we write:

    Scanner userInputScanner = new Scanner(System.in);
    
    • userInputScanner is the name of the Scanner object that we just instantiated. Note that the name is written in camel case; this is the convention for naming variables in Java.
    • We use the new operator to create a new instance of an object. So, in this instance, we created a new instance of the Scanner object by writing new Scanner(System.in).
    • The Scanner object takes in a parameter that tells the object what to scan. In this case, we put in System.in as a parameter. System.in tells the program to scan the input from the system, which is the input that the user will type into the program.
  4. Image titled 91968 14

    4

    Prompt the user for an input. We have to prompt the user for an input so that the user knows when to type something into the console. This can be accomplished with a System.out.print or a System.out.println.

    System.out.print("What's your name? ");
    
  5. Image titled 91968 15

    5

    Ask the Scanner object to take in the next line that the user types in and store that in a variable. The Scanner will always be taking in data on what the user is typing in. The following line will ask the Scanner to take what the user has typed in for his or her name and store it in a variable:

    String userInputName = userInputScanner.nextLine();
    
    • In Java, the convention for using an object’s method is objectName.methodName(parameters). In userInputScanner.nextLine(), we are calling our Scanner object by the name we just gave it and then we are calling its method nextLine() which does not take in any parameters.
    • Note that we are storing the next line in another object: the String object. We have named our String object userInputName
  6. Image titled 91968 16

    6

    Print out a greeting to the user. Now that we have the user’s name stored, we can print out a greeting to the user. Remember the System.out.println("Hello World."); that we wrote in the main class? All of the code that we just wrote should go above that line. Now we can modify that line to say:

    System.out.println("Hello " + userInputName + "!");
    
    • The way we chained up «Hello «, the user’s name, and «!» by writing "Hello " + userInputName + "!" is called String concatenation.
    • What’s happening here is that we have three strings: «Hello «, userInputName, and «!». Strings in Java are immutable, which means that they cannot be changed. So when we are concatenating these three strings, we are essentially created a new string that contains the greeting.
    • Then we take this new string and feed it as a parameter to System.out.println.
  7. Image titled 91968 17

    7

    Put it all together and save. Our code should now look like this:

    import java.util.Scanner;
    
    public class HelloWorld {
        public static void main(String[] args) {
            Scanner userInputScanner = new Scanner(System.in);
            System.out.print("What's your name? ");
            String userInputName = userInputScanner.nextLine();
            System.out.println("Hello " + userInputName + "!");
        }
    }
    
  8. Image titled 91968 18

    8

    Compile and run. Go into command prompt or terminal and run the same commands as we ran for our first iteration of HelloWorld.java. We have to first compile the program: javac HelloWorld.java. Then we can run it: java HelloWorld.

  9. Advertisement

Sample Java Programs

Add New Question

  • Question

    How do I write a program to accept a number and then check if it is prime or not prime?

    Community Answer

    Try: import java.io.*;
    class prime
    {
    public static void main(String args[]) throws IOException
    {
    int n,i,r,f=0;
    DataInputStream in=new DataInputStream(Sytem.in);
    in=Integer.parseInt(in.readLine());
    for(i=2;i

  • Question

    What is the difference between public and private?

    Community Answer

    Public involves classes, sub-classes, and packages. Private involves only classes and sub-classes.

  • Question

    How can I compile and run a saved Java program?

    Community Answer

    An easy way is to click on the right side of the mouse and a window will pop up, then click run java application.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • Java is an object-oriented programming language, so it’s useful to read more on the foundations of object-oriented programming languages.

  • Object Oriented Programming has many features specific to its paradigm. Three of these main features are:

    • Encapsulation: the ability to restrict access to some of the object’s components. Java has private, protected, and public modifiers for fields and methods.
    • Polymorphism: the ability for objects to take on different identities. In Java, an object can be cast into another object to use the other object’s methods.
    • Inheritance: the ability to use fields and methods from another class in the same hierarchy as the current object.

Thanks for submitting a tip for review!

Advertisement

About This Article

Thanks to all authors for creating a page that has been read 1,063,518 times.

Is this article up to date?


Download Article


Download Article

Java is an object-oriented programming language created in 1995 by James Gosling, which means that it represents concepts as «objects» with «fields» (which are attributes that describe the object) and «methods» (actions that the object can make). Java is a «write once, run anywhere» language, which means that it is designed to run on any platform that has a Java Virtual Machine (JVM). Since Java is a very verbose programming language, it is easy for beginners to learn and understand. This tutorial is an introduction to writing programs in Java.

  1. Image titled 91968 1

    1

    In order to start writing programs in Java, set up your work environment. Many programmers use Integrated Development Environments (IDEs) such as Eclipse and Netbeans for their Java programming, but one can write a Java program and compile it without bloated IDEs.

  2. Image titled 91968 2

    2

    Any sort of Notepad-like program will suffice for programming in Java. Hardcore programmers sometimes prefer to use text editors that are within the terminal such as vim and emacs. A very good text editor that can be installed on both a Windows machine and on a linux-based machine (Mac, Ubuntu, etc.) is Sublime Text, which is what we will be using in this tutorial.

    Advertisement

  3. Image titled 91968 3

    3

  4. Advertisement

  1. Image titled 91968 4

    1

    We will first create a program that prints «Hello World.» In your text editor, create a new file and save it as «HelloWorld.java». HelloWorld is your class name and you will need your class name to be the same name as your file.

  2. Image titled 91968 5

    2

    Declare your class and your main method. The main method public static void main(String[] args) is the method that will be executed when the programming is running. This main method will have the same method declaration in every Java program.

    public class HelloWorld {
        public static void main(String[] args) {
        }
    }
    
  3. Image titled 91968 6

    3

    Write the line of code that will print out «Hello World.»

    System.out.println("Hello World.");
    
    • Let’s look at the components of this line:
      • System tells the system to do something.
      • out tells the system that we are going to do some output stuff.
      • println stands for «print line,» so we are telling the system to print a line in the output.
      • The parentheses around ("Hello World.") means that the method System.out.println() takes in a parameter, which, in this case, is the String "Hello World."
    • Note that there are some rules in Java that we have to adhere to:
      • You must always add a semicolon at the end of every line.
      • Java is case sensitive, so you must write method names, variable names, and class names in the correct case or you will get an error.
      • Blocks of code specific to a certain method or loop are encased between curly brackets.
  4. Image titled 91968 7

    4

    Put it all together. Your final Hello World program should look like the following:

    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello World.");
        }
    }
    
  5. Image titled 91968 8

    5

    Save your file and open up command prompt or terminal to compile the program. Navigate to the folder where you saved HelloWorld.java and type in javac HelloWorld.java. This tells the Java compiler that you want to compile HelloWorld.java. If there are errors, the compiler will tell you what you did wrong. Otherwise, you shouldn’t see any messages from the compiler. If you look at the directory where you have HelloWorld.java now, you should see HelloWorld.class. This the the file that Java will use to run your program.

  6. Image titled 91968 9

    6

    Run the program. Finally, we get to run our program! In command prompt or terminal, type in java HelloWorld. This tells Java that you want to run the class HelloWorld. You should see «Hello World.» show up in your console.

  7. Image titled 91968 10

    7

    Congratulations, you have made your first Java program!

  8. Advertisement

  1. Image titled 91968 11

    1

    We will now extend our Hello World program to take input from the user. In our Hello World program, we printed out a string for the user to see, but the interactive part of programs is when the user gets to enter input into the program. We will now extend our program to prompt the user for his or her name and then greet the user by his or her name.

  2. Image titled 91968 12

    2

    Import the Scanner class. In Java, we have some built in libraries that we have access to, but we have to import them. One of these libraries is java.util, which contains the Scanner object that we need to get user input. In order to import the Scanner class, we add the following line to the beginning of our code.

    import java.util.Scanner;
    
    • This tells our program that we want to use the Scanner object which exists in the package java.util.
    • If we wanted to have access to every object in the java.util package, we simply write import java.util.*; at the beginning of our code.
  3. Image titled 91968 13

    3

    Inside our main method, instantiate a new instance of the Scanner object. Java is an object-oriented programming language, so it represents concepts using objects. The Scanner object is an example of an object that has fields and methods. In order to use the Scanner class, we have to create a new Scanner object that we can populate the fields of and use the methods of. To do this, we write:

    Scanner userInputScanner = new Scanner(System.in);
    
    • userInputScanner is the name of the Scanner object that we just instantiated. Note that the name is written in camel case; this is the convention for naming variables in Java.
    • We use the new operator to create a new instance of an object. So, in this instance, we created a new instance of the Scanner object by writing new Scanner(System.in).
    • The Scanner object takes in a parameter that tells the object what to scan. In this case, we put in System.in as a parameter. System.in tells the program to scan the input from the system, which is the input that the user will type into the program.
  4. Image titled 91968 14

    4

    Prompt the user for an input. We have to prompt the user for an input so that the user knows when to type something into the console. This can be accomplished with a System.out.print or a System.out.println.

    System.out.print("What's your name? ");
    
  5. Image titled 91968 15

    5

    Ask the Scanner object to take in the next line that the user types in and store that in a variable. The Scanner will always be taking in data on what the user is typing in. The following line will ask the Scanner to take what the user has typed in for his or her name and store it in a variable:

    String userInputName = userInputScanner.nextLine();
    
    • In Java, the convention for using an object’s method is objectName.methodName(parameters). In userInputScanner.nextLine(), we are calling our Scanner object by the name we just gave it and then we are calling its method nextLine() which does not take in any parameters.
    • Note that we are storing the next line in another object: the String object. We have named our String object userInputName
  6. Image titled 91968 16

    6

    Print out a greeting to the user. Now that we have the user’s name stored, we can print out a greeting to the user. Remember the System.out.println("Hello World."); that we wrote in the main class? All of the code that we just wrote should go above that line. Now we can modify that line to say:

    System.out.println("Hello " + userInputName + "!");
    
    • The way we chained up «Hello «, the user’s name, and «!» by writing "Hello " + userInputName + "!" is called String concatenation.
    • What’s happening here is that we have three strings: «Hello «, userInputName, and «!». Strings in Java are immutable, which means that they cannot be changed. So when we are concatenating these three strings, we are essentially created a new string that contains the greeting.
    • Then we take this new string and feed it as a parameter to System.out.println.
  7. Image titled 91968 17

    7

    Put it all together and save. Our code should now look like this:

    import java.util.Scanner;
    
    public class HelloWorld {
        public static void main(String[] args) {
            Scanner userInputScanner = new Scanner(System.in);
            System.out.print("What's your name? ");
            String userInputName = userInputScanner.nextLine();
            System.out.println("Hello " + userInputName + "!");
        }
    }
    
  8. Image titled 91968 18

    8

    Compile and run. Go into command prompt or terminal and run the same commands as we ran for our first iteration of HelloWorld.java. We have to first compile the program: javac HelloWorld.java. Then we can run it: java HelloWorld.

  9. Advertisement

Sample Java Programs

Add New Question

  • Question

    How do I write a program to accept a number and then check if it is prime or not prime?

    Community Answer

    Try: import java.io.*;
    class prime
    {
    public static void main(String args[]) throws IOException
    {
    int n,i,r,f=0;
    DataInputStream in=new DataInputStream(Sytem.in);
    in=Integer.parseInt(in.readLine());
    for(i=2;i

  • Question

    What is the difference between public and private?

    Community Answer

    Public involves classes, sub-classes, and packages. Private involves only classes and sub-classes.

  • Question

    How can I compile and run a saved Java program?

    Community Answer

    An easy way is to click on the right side of the mouse and a window will pop up, then click run java application.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • Java is an object-oriented programming language, so it’s useful to read more on the foundations of object-oriented programming languages.

  • Object Oriented Programming has many features specific to its paradigm. Three of these main features are:

    • Encapsulation: the ability to restrict access to some of the object’s components. Java has private, protected, and public modifiers for fields and methods.
    • Polymorphism: the ability for objects to take on different identities. In Java, an object can be cast into another object to use the other object’s methods.
    • Inheritance: the ability to use fields and methods from another class in the same hierarchy as the current object.

Thanks for submitting a tip for review!

Advertisement

About This Article

Thanks to all authors for creating a page that has been read 1,063,518 times.

Is this article up to date?

Понравилась статья? Поделить с друзьями:
  • Как написать проститутке
  • Как написать простительное письмо
  • Как написать прости на чеченском
  • Как написать проект про кошку
  • Как написать проект про имя