Java Methods

A method is a set of statements to perform an operation, methods are also known as procedures or functions.

Creating Method

following example to explain the syntax of a method:

Syntax:

public static int methodName(int x, int y) {
   // body
}

Here,

  • public static − modifier
  • int − return type
  • methodName − name of the method
  • x, y − formal parameters
  • int x, int y − formal parameters

Syntax

Consider the syntax shown below:

modifier returnType nameOfMethod (Parameter List) {
   // method body
}

The syntax shown above includes:

  • modifier: It state that access type of the method and it is optional to use.
  • returnType: It defines Method may return a value.
  • nameOfMethod: It defines method name. signature consists of the method name and the parameter list.
  • Parameter List: It define the type, order, and number of parameters of a method
  • method body: The method body defines what the method does with the statements.

Example Here is the source code of the above defined method called min(). by using this method takes two parameters num1 and num2 and returns the maximum between the two

/** the snippet returns the minimum between two numbers */
public static int minFunction(int x1, int y2) {
   int min;
   if (x1 > y2)
      min = x2;
   else
      min = x1;

   return min; 
}

Method Calling

Method returns a value or returning nothing it mean no return value. When a program invokes a method, the program control gets transferred to the called method. Returns control to the caller in two conditions such as:

  • the return statement is executed.
  • it reaches the method ending closing brace.
System.out.println("This is welookups.com!");

Following is the example to demonstrate we can define a method and we call it:

public class ExampleMinNumber {
   
   public static void main(String[] args) {
      int x = 22;
      int y = 14;
      int z = minFunction(x, y);
      System.out.println("Minimum Value = " + z);
   }

   /** returns the minimum of two numbers */   public static int minFunction(int n1, int n2) {
      int min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
}

Output

Minimum Value = 14

The void Keyword

void keyword do not return any value. it call to a void method must be a statement.

Example:

public class ExampleVoid {

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

   public static void methodchoosePoints(double points) {
      if (points >=198.4) {
         System.out.println("Choose:B1");
      }else if (points >= 190.5) {
         System.out.println("Choose:B2");
      }else {
         System.out.println("Choose:B3");
      }
   }
}

Output

Choose:B1

Passing Parameters by Value

Passing by value means calling a method with a parameter (argument).

Example:

public class swappingExample {

    public static void main(String[] args) {
        int x = 12;
        int b = 24;
        System.out.println("Before swapping, x = " + x + " and b = " + b);

        // Invoke the swap method
        swapFunction(x, b);
        System.out.println("\n**Now, Before and After swapping values will be same here**:");
        System.out.println("After swapping, x = " + x + " and b is " + b);
    }

    public static void swapFunction(int x, int b) {
        System.out.println("Before swapping(Inside), x = " + x + " b = " + b);

        // Swap n1 with n2
        int c = x;
        x = b;
        b = c;
        System.out.println("After swapping(Inside), x = " + x + " b = " + b);
    }
}

output

Before swapping, x = 12 and b = 24
Before swapping(Inside), x = 12 b = 24
After swapping(Inside), x = 24 b = 12

**Now, Before and After swapping values will be same here**:
After swapping, x = 12 and b is 24

Method Overloading

Method Overloading define as Two or more methods having the same method name and same arugment but different parameters. A method has the same method name, type, number of parameters, etc.

Example:

public class ExampleOverloading {

   public static void main(String[] args) {
      int a = 18;
      int x = 2;
      double z = 4.2;
      double d = 6.8;
      int result1 = minFunction(a, x);
      
      // same function name with different parameters
      double result2 = minFunction(z, d);
      System.out.println("Minimum Value = " + result1);
      System.out.println("Minimum Value = " + result2);
   }

   // for integer
   public static int minFunction(int n1, int n2) {
      int min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
   
   // for double
   public static double minFunction(double n1, double n2) {
     double min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
}

Output

Minimum Value = 2
Minimum Value = 4.2

The minimum number from integer and double types is the result type.

Using Command-Line Arguments

If you want to pass some information into a program when you run it.This can be done by passing command-line arguments to main( ). command-line arguments inside a Java program stored as strings in the String array passed to main( )

Example:

public class CommandLine { public static void main(String args[]) {
for(int i = 0; i System.out.println("args[" + i + "]: " + args[i]);
    }
  }
}

Try executing this program as shown here:

$ java CommandLine this is simple command line 258

This will produce the following result:

Output

args[0]: this
args[1]: is
args[2]: simple
args[3]: command
args[4]: line
args[5]: 258

The Constructors

Constructor has the same name as that of class,it invokes when an object of class is created and can’t called explicitly. A constructor is declared like a method, but it has no return type.

Example:

// A simple constructor.
class MyMembers {
   int y;

   // Following is the constructor
   MyMember() {
      y = 25;
   }
}

You will have to call constructor to initialize objects as follows:

public class ConsDemo {

   public static void main(String args[]) {
      MyMember t1 = new MyMember();
      MyMember t2 = new MyMember();
      System.out.println(t1.y + " " + t2.y);
   }
}

Output

25 25

Parameterized Constructor

First constructor that accepts one or more parameters.Parameters are added to a constructor in the same way that they are added to a method, just declare them inside the parentheses after the constructor’s name.

// A simple constructor.
class MyMember {
   int a;
   
   // Following is the constructor
   MyMember(int i ) {
      a = i;
   }
}

You will need to call a constructor to initialize objects as follows:

public class ConsDemo {

   public static void main(String args[]) {
      MyMember a1 = new MyMember( 40 );
      MyMember a2 = new MyMember( 50 );
      System.out.println(a1.x + " " + a2.x);
   }
}

Output

40 50

Variable Arguments(var-args)

public class VarargsDemo {

   public static void main(String args[]) {
      // Call method with variable args  
    printMax(18, 1, 2, 4, 12.9);
      printMax(new double[]{4, 5, 6});
   }

   public static void printMax( double... numbers) {
      if (numbers.length == 0) {
         System.out.println("No argument passed");
         return;
      }

      double result = numbers[0];

      for (int i = 1; i   result)
      result = numbers[i];
      System.out.println("The max value is " + result);
   }
}

The finalize( ) Method

inalize method in java is a special method much like the Main method in java. finalize() is called before Garbage collector reclaim the Object, its last chance for any object to perform cleanup activity i.e. releasing any system resources held, closing connection if open etc.

protected void finalize( ) {
   // finalization code here
}
Related Post