DEV Community

Cover image for Working with Methods and Functions in Java
Sharique Siddiqui
Sharique Siddiqui

Posted on • Edited on

Working with Methods and Functions in Java

Understanding methods (also known as functions) is a key step in mastering Java. Methods help you organize, reuse, and maintain your code efficiently by splitting it into manageable chunks. Let's explore what methods are, how to create and use them, and why they're so important in Java programming.

What Is a Method in Java?

A method is a block of code within a class that performs a specific task. In Java, every method must belong to a class, and methods can accept inputs (called parameters) and may return a result.

Why use methods?

Reusability: Write code once and use it many times.

Organization: Split complex problems into smaller tasks.

Readability: Named methods make your code easier to follow and debug.

**Method Structure and Syntax
**Here's the basic structure of a Java method:

java
modifier returnType methodName(parameters) {
    // body of the method
    // statements
    return result; // (optional based on returnType)
}
Enter fullscreen mode Exit fullscreen mode

modifier: Access level (e.g., public, private, static)

returnType: Data type of the value returned (void if nothing is returned)

methodName: Name of the method (follows camelCase)

parameters: List of inputs (can be empty)

body: The code to execute when the method is called

Example:

java
public static int sum(int x, int y) {
    return x + y;
}
Enter fullscreen mode Exit fullscreen mode

This method adds two numbers and returns the result.

Creating and Calling Methods

Static Method Example

java
public class Main {
    static void greet() {
        System.out.println("Hello, Java Learners!");
    }

    public static void main(String[] args) {
        greet(); // calling the static method
    }
}
Enter fullscreen mode Exit fullscreen mode

Output:

text
Hello, Java Learners!
Enter fullscreen mode Exit fullscreen mode

Static methods can be called directly within the same class (without creating an object).

Instance Method Example

java
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        Calculator calc = new Calculator(); // create object
        int result = calc.add(5, 3);        // call method using object
        System.out.println("Sum: " + result);
    }
}
Enter fullscreen mode Exit fullscreen mode

Output:

text
Sum: 8
Enter fullscreen mode Exit fullscreen mode

Instance methods must be called on an object of the class.

Methods: Parameters and Return Values

Procedures vs. Functions:

Procedure: A method that does not return a value (void return type).

Function: A method that does return a value (e.g., int, double, String).

Parameter Example:

java
public static void printMessage(String message) {
    System.out.println(message);
}
Enter fullscreen mode Exit fullscreen mode

Calling in main:

java
printMessage("Java is awesome!");
Return Value Example:
Enter fullscreen mode Exit fullscreen mode
java
public static double multiply(double x, double y) {
    return x * y;
}
Enter fullscreen mode Exit fullscreen mode

Calling in main:

java
double product = multiply(4.5, 2.0);
Enter fullscreen mode Exit fullscreen mode

Method Overloading

Java allows two or more methods with the same name, as long as their parameters are different (number, type, or order). This is called method overloading.

java
public class MathUtils {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }
}
Enter fullscreen mode Exit fullscreen mode

Why Break Code into Methods?

  • Reusability: Avoid duplication, less repetition.

  • Readability: Code is easier to read and follow.

  • Maintenance: Simpler to fix, update, or test parts of the program.

  • Testing: Easy to test small blocks independently.

Built-in and User-Defined Methods

Built-in: Provided by Java (e.g., System.out.println(), Math.sqrt())

User-defined: Methods you create for specific tasks in your programs

Final Thoughts

Learning to define and use methods is crucial for writing clean, logical, and efficient Java code. Start practicing by breaking your code into reusable methods, using parameters and return values to make them flexible. As you grow, explore concepts like method overloading and scope for more power and clarity in your programs.

Check out the YouTube Playlist for great java developer content for basic to advanced topics.

Please Do Subscribe Our YouTube Channel for clearing programming concept and much more ... : CodenCloud

Top comments (0)