Learnerslesson
   JAVA   
  SPRING  
  SPRINGBOOT  
 HIBERNATE 
  HADOOP  
   HIVE   
   ALGORITHMS   
   PYTHON   
   GO   
   KOTLIN   
   C#   
   RUBY   
   C++   




KOTLIN - IF ... ELSE


'If...Else' is somewhat similar to Decision Making.


Everyone has to make some kind of Decision in everyday life. Be it choosing a shirt or going to office by Bus or Cab.


Even in case of Kotlin, it has to make Decision.


And to make a Decision, 'If...Else' is used by Kotlin.


There are three Decision Making statements used by Kotlin :

  1. if
  2. else
  3. else if

Let us see them in detail.


The 'if' statement for Decision Making


Let us understand 'if' statement with the below example:


Say, you have a friend, who cannot remember anything. Now, you ask him to go to the market and get 1 kg Apple. You also tell him, if the price of Apple is less than 150 bucks, only then he should buy the Apple.

And since your friend has a weak memory. He takes out his notebook and writes :

"If the price of Apple is less than 150 then buy the apples"

Now, if your friend has to write the same thing in Kotlin. How would he write it?


Let us see with the below example.


Example :



fun main() {

    var price = 120
    if (price < 150) {
            
        println("Buy the apples")
    }
}


Output :



 Buy the apples

So, your friend writes the same thing in Kotlin for the same statement, "If the price of Apple is less than 150 then buy the apples".


    
if (price < 150) {
	
    println("Buy the apples")
}

Quite Simple! Right?


It works in two steps :



  1. He goes to the market and asks the shopkeeper, "What is the price of Apples?".

    Say the shopkeeper says, "The price is 120".

    He notes the same in a 'price' variable.

    var price = 120


    java_Collections
  2. Then he checks the 'if' statement.
    if (price < 150) {
    	
        println("Buy the apples")
    }


    And finds that he can buy the apples as 'price' is 120 which is less than 150.

Now, that we have seen the 'if' statement. Let us look at the syntax of 'if' statement in detail.


    
if (price < 150) {
	
    println("Buy the apples")
}

The above 'if' statement begins with a 'if', followed by the actual condition (i.e. price < 150) then the 'if' block starts with a brace '{' and ends with a brace '}'.


    
if (price < 150) {
    ...
}

Now, if the above condition (i.e. price < 150) is 'true'. The 'print(...)' statement is executed.


println("Buy the apples")

There can be lot of statements inside the 'if' statements. What I meant is, there can be a lot of print statements.


    
if (price < 150) {
	
    println("Buy the apples")	
    println("The apples should be of good quality")
    println("Take the apples in a carry bag")
}

But the below statement is incorrect.


Example :



fun main() {

    var price = 120
    if (price < 150) 
    {	
        println("Buy the apples")
    }
}


Output :



syntax error: unexpected newline, expecting { after if clause

All we have done is, placed the starting brace, '{' in the next line of the 'if' declaration.


    
if (price < 150) 
{
    println("Buy the apples")
}

And we get the error message,


syntax error: unexpected newline, expecting { after if clause

That states, the starting brace '{' needs to be right after 'if' and not in the next line of 'if'.


So the moral of the story is, the way to declare 'if' block is,


    
if (price < 150) {	
    println("Buy the apples")
}

And not,


    
if (price < 150) 
{	
    println("Buy the apples")
}

So, in the above example we have seen your friend is happy because the price of apple is less than 150.


But what if the price of apple is more than 150. Say, the price of apple is 180. And he doesn't know what to do..


Example :



fun main() {

    var price = 180
    if (price < 150) {
            
        println("Buy the apples")
    }
}


Output :



And there is no output. Because the price of apple is 180 which is more than 150.


java_Collections

So, your friend comes back to you and you tell him to use 'else' statement with 'if'.


The 'else' statement for Decision Making


So, you tell your friend,

"If the price of Apple is less than 150 then buy the apples else do not buy the apples"

So, he writes the same thing in Kotlin using 'else' statement.


Example :



fun main() {

    var price = 180;
    if (price < 150) {
            
        println("Buy the apples");
    } else {
            
        println("Do not buy apples");
    }
        
}


Output :



 Do not buy apples

So, to implement the line,


"If the price of Apple is less than 150 then buy the apples else do not buy the apples".


We have used the 'else' statement along with 'if'.


    
if (pric< 150) {
	
    println("Buy the apples");
} else {
	
    println("Do not buy apples");
}

The syntax of 'else' statement is almost same as 'if'. Else statement uses the 'else' keyword right after the ending brace, '}' of 'if', followed by a starting brace '{'


} else {

And the statements inside 'else' statement, should also be inside the starting brace '{' and the ending brace '}'.


    
} else {
	
    println("Do not buy apples");
}

Now, your friend is happy. But you figured out that the shopkeeper is selling two types of apples for a fixed price.


1st kind of apple is 100 Bucks
2nd kind of apple is 200 Bucks.

And you give the new instruction to your friend.


The 'else if' statement for Decision Making


So, this time you tell your friend,

"If the price of Apple is 100 then is first kind of apple. Buy them else check if the price of apple is 200. Then it's second kind of apple. Buy them. It neither one is present then don't buy any apple".

And he writes the same in Kotlin.


Example :



fun main() {

    var price = 200
    if (price == 100) {
            
        println("Buy 1st kind of apple")
    } else if (price == 200) {
                
        println("Buy 2nd kind of apple")
    } else {
                
        println("Do not buy apples")
    }
}


Output :



 Buy 2nd kind of apple

So, in the else part, if we need to provide a condition (i.e. price == 200).


java_Collections

We need to use 'elif'.


    
} else if (price == 200) {
		
    println("Buy 2nd kind of apple")
}

And the syntax of 'else if' is just like 'if' and 'else' statement.