Friday 7 February 2014

More About Methods

Methods without returning any value and without parameters
    Syntax:
    void methodName(){
        //body
    }

If a method don't return any value, then it's return type must be void

Example
class MethodEx{
 void print(){
  System.out.println("I am not returning any value");
 }
 
 public static void main(String args[]){ 
  MethodEx obj = new MethodEx();
  obj.print();  
 }
}  

Output
I am not returning any value

Methods without returning any value and with parameters
    Syntax:
    void methodName(parameters){
        //body
    }
    You can give any number of parameters to a method

 Example
class MethodEx{
 void print(int a, int b){ 
  System.out.println("The parameter value is " + a +" " + b);
 }
 public static void main(String args[]){
  MethodEx obj = new MethodEx();
  obj.print(10,20);
 } 
}
 
Output    
 The parameter value is 10 20

Methods with returning a value and without parameters
    Syntax
    returnType methodName(){
        //body
    }
Here returnType is any primitive or reference type. The method must returns the value which is compatible with the returnType of the method.

Example
class MethodEx{
 String fun(){ 
  return "Let's have fun with methods";
 }
 
 public static void main(String args[]){ 
  MethodEx obj = new MethodEx();
  String s = obj.fun();
  System.out.println(s);   
 }
}

Output
Let's have fun with methods

Observation
The method fun() return type is String, so whatever the value returns by the method fun(), we must store it in the String variable like “String s = obj.fun()”.

Methods with returning a value and with parameters
    Syntax
    returnType methodName(parameters){
        //body
    }

A method can have any number of parameters. Here returnType is any primitive or reference type. The method must returns the value which is compatible with the returnType of the method.

Example
class MethodEx{
 String fun(String firstName, String lastName, int age){
  return "I am " + firstName +" " + lastName + " and my Age is " + age;
 }
 
 public static void main(String args[]){
  MethodEx obj = new MethodEx();
  String s = obj.fun("Aravind", "Phaneendra", 25);
  System.out.println(s);
 }
}
        
Output
 I am Aravind Phaneendra and my Age is 25
    
Some Points to Remember
1. returning incompatible value causes the compiler to throw error.
     Example
class MethodEx{
 int sum(int a, int b){
  return 10.01;
 }
}
                  
When you try to compile the above program, compiler will throw the below error

MethodEx.java:4: error: possible loss of precision
 return 10.01;
 ^
 required: int
 found: double
1 error


2. You can call the method in print methods, if it is returning a value, i.e, non void type methods
    Example
class MethodEx{
 int sum(int a, int b){
  return (a+b);
 }
 public static void main(String args[]){
  MethodEx obj = new MethodEx();
  System.out.println("Sum of 10 and 20 is " + obj.sum(10,20));
 }
}

Output
Sum of 10 and 20 is 30
         
3. Calling void methods inside the print causes compile time error
     Example
class MethodEx{
 void print(){
 }
 
 public static void main(String args[]){
  MethodEx obj = new MethodEx();
  System.out.println(obj.print());
 }
} 


When you try to compile the above program, compiler will throw the below error.      
MethodEx.java:7: error: 'void' type not allowed here
 System.out.println(obj.print());
 ^
1 error

           


How to define method                                                 varargs                                                 Home

No comments:

Post a Comment