<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

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

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

Подробнее
Подписка

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

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Лямбда-выражения в Java

Лямбда-выражения в Java

Доброго времени суток! Сегодня мы рассмотрим с Вами лямбда-выражения в языке Java. Лямбда-выражения в Java сильно напоминают их аналоги - стрелочные функции из JavaScript, и служат для оптимизации кода.

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


(параметры) -> инструкция
// или
(параметры) -> { инструкции; }

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

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

Пример:


package ru.example;

import java.util.Arrays;

public class LambdaJavaEx 
{

    public static void main(String[] args) {

        String[] words = { "это", "мой", "сайт", "и", "моя", "страница" };

        // сортируем массив, используя лямбда-выражение
        Arrays.sort(words, (String str1, String str2) -> (str1.compareTo(str2)));

        System.out.println(Arrays.toString(words));
    }
}

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

Пример:


package ru.example;

// функциональный интерфейс
interface CommandExecutor 
{
    void execute(String command);
}

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

        // лямбда выражение совпадает с сигнатурой метода execute функционального интерфеса
        CommandExecutor executor = (String command) -> {
            System.out.println(msg);
        };

        executor.execute("java -v");
        executor.execute("jar file.jar");
    }
}

Общие функциональные интерфейсы

Ввиду того, что функциональный подход пользуется популярностью, то в Java уже есть реализации часто используемых функциональных интерфейсов, таких как Function, Consumer, or Supplier.


package ru.example;

import java.util.function.Function;

public class LambdaExpressionFun
{

    public static void main(String[] args) {

        // лямбда-выражение, которое возводит число в куб
        // интерфейс Function описывает функцию, которая принимает на вход один параметр и возвращает некоторое значение
        Function<Integer, Integer> cube = (Integer x) -> x * x * x;

        // вызываем
        System.out.println(cube.apply(50));
    }
}

Фильтрация данных

Лямбда-выражения очень удобно использовать для различного рода фильтраций

Пример:


package ru.example;

import java.util.List;
import java.util.stream.Collectors;
import static java.lang.System.out;


// определим сущность продукта как запись (укороченная версия класса в Java 16)
record Product(String name, double price) {}


public class FilterProductLambdaEx 
{

    public static void main(String[] args) 
    {

        List<Product> products = List.of(
                new Product("iPhone 15", 1400.99),
                new Product("Samsung S12", 1200.99),
                new Product("Huawei 15", 1199.50),
                new Product("Samsung Galaxy Fold S10", 1999.99)
        );

        List<Product> result = products.stream()
                // фильтруем продукты, оставляя только те, которые включают в названии определенный брэнд и чья стоимость больше 1300
                .filter(product -> product.name().toLowerCase().contains("samsung") && product.price() > 1300)
                .toList();

        result.forEach(out::println);
    }
}


Таким образом, мы познакомились в данной статье с овновами лямбда-выражений в Java.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.