В этом практическом занятии (лабораторной работе) мы рассмотрим концепцию высокоуровневых языков программирования, их преимущества и принцип работы Java. Вы научитесь писать и запускать свою первую программу на Java, приобретая практический опыт в основах программирования на Java.
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"])
java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"])
java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"])
java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"])
java/BasicSyntaxGroup -.-> java/comments("Comments")
java/BasicSyntaxGroup -.-> java/output("Output")
java/StringManipulationGroup -.-> java/strings("Strings")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/class_methods("Class Methods")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/modifiers("Modifiers")
java/ObjectOrientedandAdvancedConceptsGroup -.-> java/oop("OOP")
java/SystemandDataProcessingGroup -.-> java/system_methods("System Methods")
subgraph Lab Skills
java/comments -.-> lab-178546{{"Введение в программирование на Java"}}
java/output -.-> lab-178546{{"Введение в программирование на Java"}}
java/strings -.-> lab-178546{{"Введение в программирование на Java"}}
java/classes_objects -.-> lab-178546{{"Введение в программирование на Java"}}
java/class_methods -.-> lab-178546{{"Введение в программирование на Java"}}
java/modifiers -.-> lab-178546{{"Введение в программирование на Java"}}
java/oop -.-> lab-178546{{"Введение в программирование на Java"}}
java/system_methods -.-> lab-178546{{"Введение в программирование на Java"}}
end
Понимание языков программирования
Языки программирования делятся на высокоуровневые и низкоуровневые. Низкоуровневые языки, такие как машинный язык и ассемблер, могут быть напрямую выполнены компьютерами. В то же время, высокоуровневые языки должны быть преобразованы в низкоуровневые языки перед выполнением.
Высокоуровневые языки обладают рядом преимуществ:
Простота программирования: Код короче, более читаем и менее подвержен ошибкам.
Переносимость: Одна и та же программа может запускаться на разных машинах с минимальными изменениями.
Благодаря этим преимуществам, большинство программ пишутся на высокоуровневых языках, а низкоуровневые языки используются для конкретных приложений.
Существует два способа преобразования высокоуровневых языков в низкоуровневые:
Интерпретация: Интерпретатор читает и выполняет код на высокоуровневом языке построчно.
Компиляция: Компилятор преобразует всю программу на высокоуровневом языке в исполняемый код сразу.
Java использует гибридный подход, сочетающий компиляцию и интерпретацию:
Исходный код Java сначала компилируется в байт-код.
Затем байт-код интерпретируется и выполняется виртуальной машиной Java (Java Virtual Machine, JVM).
Этот подход сочетает переносимость интерпретируемых языков с преимуществами по производительности компилируемых языков.
Что такое программа?
Программа представляет собой последовательность инструкций, которые определяют, как выполнить вычисление. Независимо от того, являются ли вычисления математическими или символьными, все программы состоят из операторов, выполняющих следующие базовые операции:
Ввод: Получение данных из различных источников (клавиатура, файлы и т.д.).
Вывод: Отображение или отправка данных в различные места назначения (экран, файлы и т.д.).
Математические операции: Выполнение арифметических операций.
Проверка условий: Проверка условий и выполнение соответствующих операторов.
Повторение: Повторное выполнение операций, часто с изменениями.
Программирование заключается в разбиении сложных задач на более мелкие подзадачи до тех пор, пока они не могут быть реализованы с использованием этих базовых операций.
Написание первой программы на Java
Давайте создадим вашу первую программу на Java, традиционно известную как программа "Hello, World!". Эта простая программа выводит текст "Hello, World!" на экран.
LabEx использует онлайн-редактор WebIDE, похожий на VS Code, для написания и запуска программ на Java.
Сначала нам нужно создать новый файл с именем Hello.java в директории ~/project. Откройте терминал и выполните следующие команды:
cd ~/project
touch Hello.java
Теперь откройте файл Hello.java в текстовом редакторе и введите следующий код:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Разберем эту программу на части:
public class Hello: Эта строка определяет класс с именем Hello. В Java каждая программа должна содержать как минимум один класс.
public static void main(String[] args): Это главный метод. Он является точкой входа в вашу программу на Java. Когда вы запускаете программу на Java, выполнение начинается с метода main.
System.out.println("Hello, World!");: Эта строка выводит текст "Hello, World!" в консоль. System.out - это объект, представляющий стандартный вывод, а println - это метод, который выводит строку текста.
Компиляция и запуск программы на Java
Теперь, когда мы написали нашу программу на Java, давайте скомпилируем и запустим ее. Java использует двухэтапный процесс:
Компиляция: Преобразование человекочитаемого кода Java в байт-код.
Выполнение: Запуск байт-кода с использованием виртуальной машины Java (Java Virtual Machine, JVM).
Для компиляции вашей программы используйте команду javac, за которой следует имя вашего файла Java:
javac Hello.java
Эта команда создаст новый файл с именем Hello.class в той же директории. Этот файл содержит байт-код версию вашей программы.
Для запуска вашей программы используйте команду java, за которой следует имя вашего класса (без расширения.class):
java Hello
Вы должны увидеть следующий вывод:
Hello, World!
Если вы столкнулись с какими-либо ошибками, дважды проверьте ваш код на опечатки и убедитесь, что вы находитесь в правильной директории (~/project).
Понимание структуры программы на Java
Давайте более подробно рассмотрим структуру нашей программы на Java:
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
public class Hello: Эта строка объявляет публичный класс с именем Hello. В Java имя класса должно совпадать с именем файла (без расширения.java).
public static void main(String[] args): Это объявление главного метода. Он является точкой входа в вашу программу на Java.
public: Это ключевое слово делает метод доступным извне класса.
static: Это ключевое слово означает, что метод принадлежит самому классу, а не какому - либо конкретному экземпляру класса.
void: Это указывает, что метод не возвращает никакого значения.
main: Это имя метода. Среда выполнения Java ищет этот метод для начала выполнения программы.
String[] args: Это объявление параметра, который может принимать аргументы командной строки.
System.out.println("Hello, World!");: Эта строка выводит текст в консоль.
System - это класс, который предоставляет доступ к системным ресурсам.
out - это статический член класса System, представляющий стандартный поток вывода.
println - это метод класса PrintStream (экземпляром которого является out), который выводит строку текста.
Модификация программы на Java
Теперь, когда вы понимаете базовую структуру программы на Java, давайте модифицируем нашу программу "Hello, World!", чтобы сделать ее более интерактивной. Мы создадим программу, которая запрашивает имя пользователя и затем приветствует его.
Сначала создадим новый файл с именем Greeting.java в директории ~/project:
cd ~/project
touch Greeting.java
Теперь откройте файл Greeting.java в текстовом редакторе и введите следующий код:
import java.util.Scanner;
public class Greeting {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter your name: ");
String name = scanner.nextLine();
System.out.println("Hello, " + name + "! Welcome to Java programming.");
scanner.close();
}
}
Разберем новые элементы в этой программе:
import java.util.Scanner;: Эта строка импортирует класс Scanner, который мы используем для чтения ввода пользователя.
Scanner scanner = new Scanner(System.in);: Это создает новый объект Scanner, который читает из стандартного ввода (клавиатуры).
System.out.print("Please enter your name: ");: Это выводит приглашение для пользователя без перехода на новую строку.
String name = scanner.nextLine();: Это читает строку текста, введенную пользователем, и сохраняет ее в переменной name.
System.out.println("Hello, " + name + "! Welcome to Java programming.");: Это выводит приветствие, включающее имя пользователя.
scanner.close();: Это закрывает объект Scanner, чтобы освободить ресурсы.
Теперь скомпилируйте и запустите вашу новую программу:
javac Greeting.java
java Greeting
По запросу введите свое имя, и вы должны увидеть персонализированное приветствие.
Итоги
В этом практическом занятии вы сделали первые шаги в мире программирования на Java. Вы узнали о высокоуровневых языках программирования и их преимуществах, а также о том, как Java сочетает компиляцию и интерпретацию для эффективного выполнения. Вы написали, скомпилировали и запустили свою первую программу на Java, традиционное приложение "Hello, World!". Вы также создали более интерактивную программу, которая принимает ввод от пользователя и предоставляет персонализированное приветствие.
Эти фундаментальные концепции и навыки составляют основу программирования на Java. По мере продолжения вашего пути вы будете строить на этих основах, чтобы создавать более сложные и мощные приложения. Помните, что программирование - это навык, который улучшается с практикой, поэтому не стесняйтесь экспериментировать с кодом и пробовать новые вещи.
Если вы хотите узнать больше о LabEx и о том, как им пользоваться, вы можете посетить наш Центр поддержки. Или вы можете посмотреть видео, чтобы узнать больше о LabEx.
Ваше путешествие в программировании на Java только началось. Продолжайте практиковаться, продолжайте учиться и наслаждайтесь процессом становления опытным программистом на Java!