Полное руководство по основам языка Java

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

Назад

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

Каждая программа на Java начинается с класса с методом main:


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
        

Типы данных

Основные типы данных в Java:

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

Пример использования арифметических операций в Java:


public class ArithmeticOperations {
    public static void main(String[] args) {
        int a = 10, b = 20;
        int sum = a + b;
        int diff = b - a;
        int prod = a * b;
        int div = b / a;
        int mod = b % a;

        System.out.println("Sum: " + sum);
        System.out.println("Difference: " + diff);
        System.out.println("Product: " + prod);
        System.out.println("Division: " + div);
        System.out.println("Modulus: " + mod);
    }
}
        

Ввод/Вывод

Ввод и вывод данных с использованием Scanner и System.out:


import java.util.Scanner;

public class InputOutput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int num = scanner.nextInt();
        System.out.println("You entered: " + num);
        scanner.close();
    }
}
        

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

Пример использования оператора if-else:


import java.util.Scanner;

public class ConditionalOperators {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter an integer: ");
        int num = scanner.nextInt();

        if (num > 0) {
            System.out.println("The number is positive.");
        } else if (num < 0) {
            System.out.println("The number is negative.");
        } else {
            System.out.println("The number is zero.");
        }

        scanner.close();
    }
}
        

Циклы

Пример цикла while:


public class WhileLoop {
    public static void main(String[] args) {
        int i = 0;

        while (i < 5) {
            System.out.println("i = " + i);
            i++;
        }
    }
}
        

Массивы

Пример работы с массивами:


public class Arrays {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5};

        for (int i = 0; i < arr.length; i++) {
            System.out.println("arr[" + i + "] = " + arr[i]);
        }
    }
}
        

Методы

Пример создания и использования метода:


public class Methods {
    public static void greet() {
        System.out.println("Hello from the method!");
    }

    public static void main(String[] args) {
        greet();
    }
}
        

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

Пример создания и использования классов:


public class Rectangle {
    private double width;
    private double height;

    public Rectangle(double w, double h) {
        width = w;
        height = h;
    }

    public double area() {
        return width * height;
    }

    public void display() {
        System.out.println("Width: " + width + ", Height: " + height + ", Area: " + area());
    }

    public static void main(String[] args) {
        Rectangle rect = new Rectangle(5.0, 3.0);
        rect.display();
    }
}
        

Наследование

Пример использования наследования в Java:


public class Animal {
    public void speak() {
        System.out.println("Animal makes a sound.");
    }
}

public class Dog extends Animal {
    @Override
    public void speak() {
        System.out.println("Dog barks.");
    }

    public static void main(String[] args) {
        Animal animal = new Dog();
        animal.speak();
    }
}
        

Работа с указателями

Java не поддерживает указатели как C++, но аналогом может быть работа с объектами:


public class Pointers {
    public static void main(String[] args) {
        Integer num = 10;
        Integer ref = num;

        System.out.println("Value of num: " + num);
        System.out.println("Value via reference: " + ref);

        ref = 20;
        System.out.println("New value of num: " + num);
    }
}
        

Динамическое выделение памяти

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


public class MemoryAllocation {
    public static void main(String[] args) {
        Integer num = new Integer(10);
        System.out.println("Value: " + num);
    }
}
        

Работа с коллекциями

Пример работы с коллекциями в Java:


import java.util.ArrayList;

public class Collections {
    public static void main(String[] args) {
        ArrayList list = new ArrayList<>();
        list.add("Hello");
        list.add("World");

        for (String item : list) {
            System.out.println(item);
        }
    }
}
        

Обработка исключений

Пример обработки исключений:


public class ExceptionHandling {
    public static int divide(int a, int b) throws ArithmeticException {
        if (b == 0) {
            throw new ArithmeticException("Division by zero");
        }
        return a / b;
    }

    public static void main(String[] args) {
        try {
            System.out.println("Result: " + divide(10, 2));
            System.out.println("Result: " + divide(10, 0));
        } catch (ArithmeticException e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}
        

Работа с файлами

Пример работы с файлами в Java:


import java.io.*;

public class FileHandling {
    public static void main(String[] args) {
        try (PrintWriter outFile = new PrintWriter(new FileWriter("example.txt"))) {
            outFile.println("Hello, file!");
        } catch (IOException e) {
            System.out.println("Error writing to file: " + e.getMessage());
        }

        try (BufferedReader inFile = new BufferedReader(new FileReader("example.txt"))) {
            String line;
            while ((line = inFile.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("Error reading from file: " + e.getMessage());
        }
    }
}