Coding functions in java

Functions in java

The goal of every programmer is to save time in both programming and debugging. However, there comes a time when you write hundreds of lines of code. It’s very frustrating having to repeat the same code now and then. It is more frustrating when your code gets some error, and you will need to debug the whole program.

Improve your programming expertise by using functions. Functions help in avoiding ambiguity. You will agree that breaking down the code into smaller chunks in functions will help you organize your work, and debugging becomes easy. Why repeat the same lines of code several places where you can put it inside a function and call it whenever you need to perform that task. Code reusability saves a lot of time.

In this tutorial, we will spare some time and discuss functions. In java, a method is the same as a function. All the functions must be defined within a class. By that, we can summarize by defining a Java method as a function belonging to a class. A function is a named unit of code that can be invoked anywhere in the class.

Syntax of a function

Public static void myFuction(String name, int age ) < // fuction code >
  • Access specifier – this shows the scope of availability of a fuction. ‘Public’ means that the function can be called from aywhere in the program. We have other access specifiers such as private and protected.Protected, the method can only be called within the class and its subslcasses. Private can oly be called inside the class
  • Modifier – ‘static’ is optional in a fuction defination. In this case static means the function is a not an object of the main class but a method that belongs to the main class.
  • Retur type – We have functions that return a value and functions that do not return anything. Void, means that the function does not have a return value. If the fuction was to return a value, replace void with the data type of the returned value.
  • Function name – This the name of the function
  • Parameter list – it informs the compiler about the data type it will receive and the value to be returned.
Читайте также:  Php сколько времени осталось

Advantages of functions in Java

  1. Reusability of code – functions help in removing repetition of code in a program. With functions you can define it once and call it anywhere in the program to perform the task you need and you are not limited to the number of times you call the function. Lastly it’s simple to relace the functions into libraries. This allows them to be used by more than one program.

2. Divide and conquer – Using functions helps break a program into smaller manageable chunks, hence making debugging and testing easier. Functions help in collaboration by breaking up the work into tasks for team development.

Источник

Functional Programming in Java with Examples

So far Java was supporting the imperative style of programming and object-oriented style of programming. The next big thing what java has been added is that Java has started supporting the functional style of programming with its Java 8 release. In this article, we will discuss functional programming in Java 8.
What is functional programming?
It is a declarative style of programming rather than imperative. The basic objective of this style of programming is to make code more concise, less complex, more predictable, and easier to test compared to the legacy style of coding. Functional programming deals with certain key concepts such as pure function, immutable state, assignment-less programming etc.
Functional programming vs Purely Functional programming:
Pure functional programming languages don’t allow any mutability in its nature whereas a functional style language provides higher-order functions but often permits mutability at the risk of we failing to do the right things, which put a burden on us rather than protecting us. So, in general, we can say if a language provides higher-order function it is functional style language, and if a language goes to the extent of limiting mutability in addition to higher-order function then it becomes purely functional language. Java is a functional style language and the language like Haskell is a purely functional programming language.
Let’s understand a few concepts in functional programming:

  • Higher-order functions: In functional programming, functions are to be considered as first-class citizens. That is, so far in the legacy style of coding, we can do below stuff with objects.
    1. We can pass objects to a function.
    2. We can create objects within function.
    3. We can return objects from a function.
    4. We can pass a function to a function.
    5. We can create a function within function.
    6. We can return a function from a function.
  • Pure functions: A function is called pure function if it always returns the same result for same argument values and it has no side effects like modifying an argument (or global variable) or outputting something.
  • Lambda expressions: A Lambda expression is an anonymous method that has mutability at very minimum and it has only a parameter list and a body. The return type is always inferred based on the context. Also, make a note, Lambda expressions work in parallel with the functional interface. The syntax of a lambda expression is:
  • In its simple form, a lambda could be represented as a comma-separated list of parameters, the –> symbol and the body.
Читайте также:  Как вставить base64 html

How to Implement Functional Programming in Java?

Источник

Пользовательские функции Java: как создать функцию в Java?

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

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

Что обычно помещают в функции? Как правило, речь идёт о повторяющемся программном коде. Соответственно, чтобы программисту не писать те же самые строчки кода снова и снова, он просто выносит эти строчки в отдельный блок, а потом вызывает этот блок в основном Java-коде программы тогда, когда это нужно.

Идём дальше, в Java выделяют 2 вида функций: 1. Функция, которая что-либо возвращает. 2. Функция, которая не возвращает ничего.

Вдобавок к этому, функция в Джаве может быть с параметрами и без них. Тут следует напомнить важный момент: переменная, которая создана в функции, после завершения этой функции «умирает», то есть больше не существует.

Рассмотрим формулу создания функции в Java:

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

Для начала создадим пользовательскую функцию, которая что-нибудь возвращает. Этот тип функций используется чаще всего, ведь очень часто нужно что-либо посчитать, выполнить преобразование и т. п., то есть речь идёт о том, чтобы использовать полученный результат вне этой функции. А так как всё, что создано в функции, после её завершения «погибает», нам надо, чтобы в основной код программы вернулся результат работы этой функции. Для это используется оператор return.

Итак, создадим пользовательскую функцию, которая вернёт нам значение переменной, а также присвоит это значение переменной в основном коде.

 
public class Main < public static int function1()< //идентификатор доступа, функция является статичной, тип возвращаемого значения, имя функции без параметров int a = 5; //создаём переменную со значением return a; //возвращаем значение при вызове данной функции >public static void main(String[] args) < //блок основного кода нашей программы >>

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

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

По большему счёту, особых отличий между написанием функций обоих видов нет. Главное — указать другой тип (void) и не применять return.

 
public class Main < public static void function2()< System.out.println("Записывайтесь на курсы OTUS!"); //выводим сообщение на экран >public static void main(String[] args) < //основной блок нашей программы >>

Вызываем функции без параметров

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

Давайте воспользуемся написанными нами функциями и вызовем их в основном коде.

 
public class Main < public static int function1()< int a = 5; return a; >public static void function2() < System.out.println("Записывайтесь на курсы OTUS!"); >public static void main(String[] args) < //основной блок программы int b = function1(); //присваиваем переменной значение, которое возвратит первая функция System.out.println(b); //выводим на экран значение нашей переменной function2(); //вызываем по имени вторую функцию >>
 
5 Записывайтесь на курсы OTUS!

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

Создаём функции с параметрами

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

Итак, давайте создадим функцию с параметрами, а потом вызовем её в основном коде с помощью аргументов. Возведём переменную в определённую степень, а потом вернём значение в переменную.

Необходимые параметры нужно указывать при создании функции (речь идёт о переменных в скобках после имени функции). При этом аргументы надо передать в обязательном порядке, иначе функция попросту не заработает, ведь у неё просто не будет значения, с которым надо взаимодействовать. Аргументы надо указывать при вызове функции (2 целочисленных значения).

 
public class Main < public static int function3(int var_1, int var_2)< //функция с параметрами int a = 1; //создаём переменную, в которой будет находиться расчётное значение for(int i = 0; i < var_2; i++)< //используем цикл для возведения в степень a = a * var_1; //перемножаем новое значение со старым, возводя тем самым в степень >return a; //возвращаем посчитанное значение > public static void main(String[] args) < //основной блок программы int result = function3(5,3); //вызываем функцию, передав 2 аргумента (возводим 5 в третью степень) System.out.println(result); //выводим значение переменной >>

В консоли увидим следующее значение:

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

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

Источник

Оцените статью