The best way to write multiple IF statements into a single statement in Java,C++,Android-Java,etc

Hi everyone,

Today iam going to give you a wonderful trick a programmer facing off while dealing with IF statements.

Introduction
The most important phase of a program is its dynamicity.So without an IF ELSE statement,merely no programmer can write a program with dynamic content.So whats the big problem comes upon is the source file,its size is increasing according to the number of IFs are increasing.So why not just make multiple IFs to a single statement.And be a smarter programmer while others reviewing your source code.


How to write multiple IF statements into a single statement?
Here comes the saviour CONDITIONAL operator.

?: operator
The value of a variable often depends on whether a particular boolean expression is or is not true and on nothing else. For instance one common operation is setting the value of a variable to the maximum of two quantities. In Java you might write
if (a > b) { max = a;}else { max = b;}
Setting a single variable to one of two states based on a single condition is such a common use of if-else that a shortcut has been devised for it, the conditional operator, ?:. Using the conditional operator you can rewrite the above example in a single line like this:
max = (a > b) ? a : b;
(a > b) ? a : b; is an expression which returns one of two values, a or b. The condition, (a > b), is tested. If it is true the first value, a, is returned. If it is false, the second value, b, is returned. Whichever value is returned is dependent on the conditional test, a > b. The condition can be any expression which returns a boolean value.

Example

Unmodified Code
String mode="";
if(age<=10)
    mode="child";
else if(age>=11&&age<=19)
    mode="teenager";
else if(age>=20&&age<=45)
    mode="adult";
else if(age>=55&&age<=101)
    mode="old man";
else
    mode=null;
Modified Code with conditional operator
String mode=age<=10?"child":age>=11&&age<=19?"teenager":age>=20&&age<=45?"adult":age>=55&&age<=101?"old man":null

How easy it is?
11 lines of code into a single line code.Which is better?.Hm.Feel free to use the above trick anywhere in any language that support conditional operator and always be a smarter developer.

And don't forget to use the comment box :).
Share on Google Plus

About Shihab Soft

I am Shihab, people used to call me a Security researcher or sometimes a Reverse engineer or sometimes a creepy hacker ;). Got a brain full of knowledge in different programming languages, and not more nor less I am a blogger too :).
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment

Don't be shy. Just, leave your comments. Iam so happy to assist you. And, don't forgot that, I am such a nice person who you are dealing with :)

Don't be shy. Just, leave your comments. Iam so happy to assist you. And, don't forgot that, I am such a nice person who you are dealing with :)