#10 – Функции в языке Джава

#10 – Функции в языке Джава

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

Видеоурок

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


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


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


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


Перед типом данных всегда прописывается модификатор доступа. Сейчас мы их детально рассматривать не будем, так как это тема ООП. В уроке мы будем постоянно устанавливать модификатор public, тем самым будем говорить что функция доступна всем внутри класса.


Зачем static?

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


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


Создание функции

На основе всех данных наша функция будет выглядеть следующим образом:

public static void test() {
	System.out.print("Вывод чего-либо в консоль");
}

Функция выше не принимает никаких параметров и ничего не возвращает. Она просто пишет слово в консоль. Давайте разнообразим функцию и добавим параметр:

public static void test(String word) {
	System.out.print(word);
}

Теперь функция принимает параметр, который будет отображен в консоли.


Если функция должна что-либо вернуть, то прописываем тип данных который будет возвращен. Для возвращения данных используем ключевое слово return:

public static double test(double some_number) {
	some_number *= 2;
	return some_number;
}

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

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

Большое задание по курсу

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

Также стоит посмотреть

Разработка Андроид программы с базой данных
6 уроков
Java до профи: основы, UI дизайн и Android разработка
Практика React JS / Разработка магазина (eCommerce)
9 уроков
Изучение стека MEAN: MongoDB, Express, Angular и Node JS
10 уроков
Изучение React JS / Redux библиотеки
9 уроков
Курс по NestJS с нуля / Разработка веб проектов
9 уроков
Комментарии (3)
Добавить комментарий

Angela 19 марта 2025 в 17:58

Решение второго задания более понятливо.

import java.util.Scanner;

public class Main {

public static float delenie(float a, float b, float c) {
if (b == 0 || c == 0) {
System.out.println("Ошибка: деление на ноль!");
return Float.NaN; // Возвращаем NaN (Not a Number), чтобы обозначить ошибку
}
return a / b / c;
}

public static void main(String[] args) {
Scanner in = new Scanner(System.in);

System.out.print("Введите первое число: ");
float a1 = in.nextFloat();

System.out.print("Введите второе число: ");
float b1 = in.nextFloat();

System.out.print("Введите третье число: ");
float c1 = in.nextFloat();

float result = delenie(a1, b1, c1);
System.out.println("Результат деления: " + result);

in.close(); // Закрываем Scanner во избежании утечки ресурсов
}
}
Ответить

Александр 19 июня 2024 в 14:38

не совсем согласен с решением второго задания, прилагаю свой вариант:
Scanner scanner = new Scanner(System.in);
System.out.print("Введите число: ");
float num1 = scanner.nextFloat();
System.out.print("Введите число: ");
float num2 = scanner.nextFloat();
System.out.print("Введите число: ");
float num3 = scanner.nextFloat();
System.out.println(numsDividing(num1, num2, num3));


}

public static String numsDividing(float num1, float num2, float num3) {
if (num2 != 0 && num3 != 0) {
return String.valueOf(num1 / num2 / num3);
} else return "Ошибка";
}
Ответить

Тайлер Жирден 18 февраля 2024 в 14:49

Очень полезно! Спасибо!
Ответить