popov . dev

Main

Library

Articles

Основы Java: Осн...

Основы Java: Основы базового синтаксиса языка

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

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

Эта часть познакомит вас с программированием на Java, начиная с фундаментальной программы "Привет мир!". Перед началом работы нам потребуется JDK (Java Development Kit) и IDE, среда разработки в которой мы будем писать код, производить компиляцию приложения и его запуск.

Установка JDK: каждый разработчик Java начинает с комплекта Java Development Kit (JDK). Он позволяет вашему компьютеру понимать и выполнять Java-код. Убедитесь, что у вас установлена последняя версия JDK, ее можно установить напрямую с сайта производителя Oracle.

Выбор IDE: интегрированные среды разработки (IDE), такие как Eclipse, IntelliJ IDEA, VS Code или NetBeans, упрощают процесс написания кода. Для написания программ на Java рекомендуется использовать IntelliJ IDEA из-за его интуитивно понятного интерфейса.

Начинаем создавать программу

Java основана на классах. Воспринимайте их как чертежи. Наша программа начинается с класса HelloWorld.

В этом классе мы размещаем метод main: точку входа Java. Именно здесь мы даем команду Java выводить "Привет мир!".

Вот как будет выглядеть наш первый Java-код:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Привет мир!");
    }
}

Запуск программы

Используя IntelliJ IDEA, сохраните ваш файл как HelloWorld.java. Нажмите кнопку Выполнить, и вуаля! В консоли вывода должно появиться сообщение Привет мир!. Если вы используете командную строку, скомпилируйте с помощью javac HelloWorld.java и запустите с помощью java HelloWorld.

Разбор кода

  • class: обозначает схему. Мы выбрали название HelloWorld.
  • public static void main(String[] args): вход в нашу программу. Он есть в каждом Java-приложении.
  • System.out.println: способ вывода данных на консоль в Java. Мы выбрали сообщение Привет мир!.

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

Понимание синтаксиса Java

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

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

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

Объекты и классы в Java

Представьте себе кошку. В Java класс, подобный Cat, служит основой для создания объектов — шаблоном, который определяет состояние и поведение, привязанные к определенным данным.

Например, когда мы создаем новый объект Cat, используя Cat tabby = new Cat();, мы сохраняем экземпляр класса Cat в памяти, в комплекте с такими атрибутами, как color и mood, которые описывают состояние кошки, и методами, такими как purr(), которые являются действием, выполняемым кошкой.

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

class Cat {
    String color;
    String mood;

    void purr() {
        System.out.println("Кошка мурлычет");
    }
}

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

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

public class Cat {
    // Использование параметра private для ограничения доступа
    // к свойствам из-за пределов этого класса
    private String color;
    private String mood;
    
    // Конструктор public для класса Cat
    public Cat(String color, String mood) {
        // Ключевое слово this ссылается на текущий экземпляр класса
        this.color = color;
        this.mood = mood;
    }

    // Public метод для доступа к аттрибутам цвета в классе
    public String getColor() {
        return color;
    }

    // Public метод для доступа к аттрибутам настроения в классе
    public String getMood() {
        return mood;
    }

    // Private метод позволяет менять значение только внутри класса
    private void changeMood(String newMood) {
        mood = newMood;
    }

    // Public метод определяющий поведение объекта Cat
    public void purr() {
        System.out.println("Кошка мурлычет");
    }

    // Public метод для взаимодействия с private методом changeMood
    public void makeHappy() {
        changeMood("счастливая");
        purr(); // кошка мурлычет когда счастлива
    }
}

// Для взаимодействия с классом, вы должны создать
// экземпляр Cat используя ключевое слово new
public class Main {
    public static void main(String[] args) {
        // Создание нового объекта Cat с помощью ключевого слова
        // new и конструктора
        Cat myCat = new Cat("черный", "сонная");
        // Доступ к public метода класса Cat
        System.out.println("Кошка " + myCat.getColor()
            + " цвета и сейчас " + myCat.getMood());

        // делает кошку счастливой встроенным
        // методом и запускает мурлыкание
        myCat.makeHappy();
    }
}

В Java конструкторы имеют решающее значение для инициализации новых объектов, о чем свидетельствует открытый конструктор Cat класса Cat(String color, String mood). Он используется для задания цвета и настроя закрытых полей.

Эти закрытые поля инкапсулируют состояние объекта Cat, обеспечивая контролируемый доступ с помощью общедоступных методов, таких как getColor() и getMood(). Ключевое слово new играет важную роль в этом процессе, выделяя память для новых экземпляров. В то время как метод changeMood() остается закрытым для внутреннего использования классом, метод purr() является общедоступным, позволяя взаимодействовать с поведением кошки.

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

Методы в Java

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

В показанном классе Cat функции void meow() и void scratch() являются сигнатурами методов, где void указывает, что они не возвращают никакого значения, а имена meow и scratch - это действия, которые они выполняют. Круглые скобки, следующие за названиями методов, указывают на возможность приема входных данных, которые не требуются этим конкретным методам.

Чтобы активировать метод, мы вызываем его для объекта, например, tabby.meow();, где tabby - это экземпляр класса Cat, а meow() - вызываемый метод.

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

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

public class Cat {
    // Метод ничего не возвращает (void) представляет собой мяукание кота
    public void meow() {
        // Выводит "мяу!" на экран во время вызова метода
        System.out.println("мяу!");
    }
    // Метод ничего не возвращает (void) представляет собой почесывание кота
    public void scratch() {
        // Выводит "чешется!" на экран во время вызова метода
        System.out.println("чешется!");
    }
    // Пример метода, изменяющего внутреннее состояние объекта
    // Здесь мы предполагаем, что свойство mood является частью класса Cat
    private void changeMood(String mood) {
        // Это private метод может быть вызван только внутри класса Cat
    }
    
    // Дополнительный метод для демонстрации вызова других
    // методов и возможности повторного использования
    public void displayBehavior() {
        meow();  // мяукание кошки
        scratch(); // почесывание кошки
        changeMood("любопытство"); // изменение настроения кошки внутренним методом
    }
}
// Класс содержащий метод main для запуска программы
public class Main {
    public static void main(String[] args) {
        // Создание нового объекта Cat с использованием ключевого слова new
        Cat tabby = new Cat();
        
        // Вызов public методов класса Cat
        tabby.meow(); // Вывод: мяу!
        tabby.scratch(); // Вывод: чешется!
        // Демонстрация переиспользования методов
        tabby.displayBehavior(); // Вызывает несколько методов для вывода поведения
    }
}

Переменные экземпляра в Java

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

public class Cat {
    // private переменные экземпляра, инкапсулирующие состояние объекта Cat
    private String name;
    private int age;
    // Конструктор, инициализирующий объект Cat с заданным именем и возрастом
    public Cat(String name, int age) {
        this.name = name;
        this.age = age;
    }
    // public геттер для свойства name, с доступом для чтения к private переменной
    public String getName() {
        return this.name;
    }
    // public сеттер для свойства name, с доступом для записи к private переменной
    public void setName(String name) {
        this.name = name;
    }
    // public геттер для свойства age, с доступом для чтения к private переменной
    public int getAge() {
        return this.age;
    }
    // public сеттер для свойства age, с доступом для записи к private переменной
    public void setAge(int age) {
        this.age = age;
    }
    // public метод для вывода свойств Cat
    public void displayInfo() {
        System.out.println(this.name + ": " + this.age + " лет.");
    }
}

Здесь используется инкапсуляция, делающая переменные name и age доступ private, что означает, что к ним нельзя получить прямой доступ извне класса. Вместо этого для безопасного взаимодействия с этими свойствами предоставляются public методы геттеры и сеттеры getName(), setName(String name), getAge() и setAge(int age)).

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

Основные синтаксические правила Java

Синтаксис Java формирует основу его структуры программирования:

// Модификатор public разрешает доступ к этому классу из других
public class MyClass {
    // Метод main: Java запускает программу с этого метода
    public static void main(String[] args) {
        // ... ваш код здесь
    }
}

При создании класса Java:

  • Объявление класса: ключевое слово public указывает, что класс доступен из любой точки программы, что способствует созданию модульной и интерактивной среды программирования.
  • Метод main: здесь начинается выполнение программы. Он должен быть с модификатором public, чтобы его можно было вызывать повсеместно, static, чтобы его можно было вызывать без создания экземпляра класса, и void, чтобы указать, что он не возвращает никакого значения. Параметр String[] args служит контейнером для любых аргументов командной строки, которые могут быть переданы программе.
  • Имя файла: имя исходного файла должно точно соответствовать имени класса (в данном случае MyClass) и должно иметь расширение .java (следовательно, MyClass.java), что необходимо для того, чтобы компилятор Java правильно распознал и скомпилировал класс.

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

Comments

In order to leave your opinion, you need to register on the website