Site icon C1CTech

Kotlin if Expression

<p class&equals;"p1">In this article&comma; you will learn to use if expression in Kotlin with the help of examples&period;<&sol;p>&NewLine;<p>There are different types of if expression in Kotlin&colon;<&sol;p>&NewLine;<ul>&NewLine;<li><span style&equals;"color&colon; &num;0000ff&semi;"><strong>if-else expression<&sol;strong><&sol;span><&sol;li>&NewLine;<li><span style&equals;"color&colon; &num;0000ff&semi;"><strong>if-else-if ladder expression<&sol;strong><&sol;span><&sol;li>&NewLine;<li><span style&equals;"color&colon; &num;0000ff&semi;"><strong>nested if expression<&sol;strong><&sol;span><&sol;li>&NewLine;<&sol;ul>&NewLine;<h3 class&equals;"p1"><span style&equals;"color&colon; &num;000080&semi;"><b>Traditional if Statement<&sol;b><&sol;span><&sol;h3>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>if statement<&sol;strong><&sol;span><&sol;h4>&NewLine;<p>The if statement checks the given condition&period; If the condition evaluates to be true then the block of code&sol;statements will execute otherwise not&period;<&sol;p>&NewLine;<p class&equals;"p2"><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Syntax &colon;<&sol;strong><&sol;span><&sol;p>&NewLine;<pre>if &lpar;condition&rpar; &lbrace;&NewLine; <span style&equals;"color&colon; &num;008000&semi;"><strong>&sol;&sol; block of code to be executed if the condition is true<&sol;strong><&sol;span>&NewLine;&rcub;<&sol;pre>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>if-else statement<&sol;strong><&sol;span><&sol;h4>&NewLine;<p class&equals;"p1">The <span style&equals;"color&colon; &num;008000&semi;"><b>if<&sol;b> <&sol;span>statement executes a certain section of code if the test expression is evaluated to <span style&equals;"color&colon; &num;008000&semi;"><b>true<&sol;b><&sol;span>&period; The if statement may have an optional else block&period; Statements inside the body of else statement are executed if the test expression is evaluated to <span style&equals;"color&colon; &num;008000&semi;"><b>false<&sol;b><&sol;span>&period;<&sol;p>&NewLine;<p class&equals;"p2"><strong><span style&equals;"color&colon; &num;0000ff&semi;">Syntax &colon;<&sol;span><&sol;strong><&sol;p>&NewLine;<pre>if &lpar;condition&rpar; &lbrace;&NewLine; <span style&equals;"color&colon; &num;008000&semi;"><strong>&sol;&sol; block of code to be executed if the condition is true<&sol;strong><&sol;span>&NewLine;&rcub; else &lbrace;&NewLine; <strong><span style&equals;"color&colon; &num;008000&semi;">&sol;&sol; block of code to be executed if the condition is false<&sol;span><&sol;strong>&NewLine;&rcub;<&sol;pre>&NewLine;<h3><&sol;h3>&NewLine;<h3 class&equals;"p1"><span style&equals;"color&colon; &num;000080&semi;"><b>Kotlin if-else Expression<&sol;b><&sol;span><&sol;h3>&NewLine;<p class&equals;"p1">In Kotlin&comma; <span style&equals;"color&colon; &num;0000ff&semi;"><strong>if<&sol;strong><&sol;span> is an expression&comma; i&period;e&period; it returns a value&period; But it is not used as standalone&comma; it is used with <strong><span style&equals;"color&colon; &num;0000ff&semi;">if-else<&sol;span> <&sol;strong>expression and the result of an if-else expression is assigned into a variable&period;<&sol;p>&NewLine;<h4><strong><span style&equals;"color&colon; &num;0000ff&semi;">Flowchart&colon;<&sol;span><&sol;strong><&sol;h4>&NewLine;<p><img class&equals;" wp-image-1777 aligncenter" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2020&sol;04&sol;if-else-exp-img-836912659-1586109540548&period;png" alt&equals;"if-else-exp-img" width&equals;"519" height&equals;"458" &sol;><&sol;p>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>fun main&lpar;args&colon; Array&lt&semi;String&gt&semi;&rpar; &lbrace;&NewLine; val num1 &equals; 10&NewLine; val num2 &equals; 20&NewLine; val result &equals; if &lpar;num1 &gt&semi; num2&rpar; &lbrace;&NewLine; "&dollar;num1 is greater than &dollar;num2"&NewLine; &rcub; else &lbrace;&NewLine; "&dollar;num1 is smaller than &dollar;num2"&NewLine; &rcub;&NewLine; println&lpar;result&rpar;&NewLine;&rcub;<&sol;pre>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Output<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>10 is smaller than 20<&sol;pre>&NewLine;<h4 class&equals;"p1"><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example explained<&sol;strong><&sol;span><&sol;h4>&NewLine;<p class&equals;"p1">In the above example&comma; <strong>when x&equals;10&comma; y&equals;20&colon;<&sol;strong><&sol;p>&NewLine;<ul class&equals;"ul1">&NewLine;<li class&equals;"li1">condition <strong><span style&equals;"color&colon; &num;0000ff&semi;">10&gt&semi;20<&sol;span><&sol;strong> is checked&comma; yields false and <span style&equals;"color&colon; &num;008000&semi;"><b>&OpenCurlyDoubleQuote;10 is smaller than 20”<&sol;b><&sol;span> gets printed&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p class&equals;"p1"><strong>  when x&equals;20&comma; y&equals;10 &colon;<&sol;strong><&sol;p>&NewLine;<ul>&NewLine;<li class&equals;"p1">condition <strong><span style&equals;"color&colon; &num;0000ff&semi;">20&gt&semi;10<&sol;span><&sol;strong> is checked&comma; yields true and <span style&equals;"color&colon; &num;008000&semi;"><b>&OpenCurlyDoubleQuote;10 is greater than 20”<&sol;b> <&sol;span>gets printed&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p class&equals;"p1">We can remove the curly braces of if-else body by writing if expression in only one statement&period;<&sol;p>&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">For example&colon;<&sol;span><&sol;strong><&sol;p>&NewLine;<pre>fun main&lpar;args&colon; Array&lt&semi;String&gt&semi;&rpar; &lbrace;&NewLine; val num1 &equals; 10&NewLine; val num2 &equals; 20&NewLine; val result &equals; if &lpar;num1 &gt&semi; num2&rpar; "&dollar;num1 is greater than &dollar;num2" else "&dollar;num1 is smaller than &dollar;num2"&NewLine; println&lpar;result&rpar;&NewLine;&rcub;<&sol;pre>&NewLine;<p class&equals;"p1">Using if-else expression in one single line statement is like ternary operator in Java&period; Kotlin does not support any ternary operator&period;<&sol;p>&NewLine;<h3 class&equals;"p1"><strong><span style&equals;"color&colon; &num;000080&semi;">Kotlin if-else-if Ladder Expression<&sol;span><&sol;strong><&sol;h3>&NewLine;<p>When we want to execute a particular block of code among many blocks we can use if-else-if ladder&period;<&sol;p>&NewLine;<&excl;-- WP QUADS Content Ad Plugin v&period; 2&period;0&period;98&period;1 -->&NewLine;<div class&equals;"quads-location quads-ad2" id&equals;"quads-ad2" style&equals;"float&colon;none&semi;margin&colon;0px&semi;">&NewLine;&NewLine;<&sol;div>&NewLine;&NewLine;<p><strong><span style&equals;"color&colon; &num;0000ff&semi;">Note&colon;<&sol;span><&sol;strong> If the block of if&comma; else&comma; else-if contains more than one expression&comma; the last expression is returned as the value of the block&period;<&sol;p>&NewLine;<h4><strong><span style&equals;"color&colon; &num;0000ff&semi;">Flowchart&colon;<&sol;span><&sol;strong><&sol;h4>&NewLine;<p><img class&equals;" wp-image-1778 aligncenter" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2020&sol;04&sol;ladder-if-exp-img&period;png" alt&equals;"ladder-if-exp-img" width&equals;"629" height&equals;"550" &sol;><&sol;p>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>fun main&lpar;args&colon; Array&lt&semi;String&gt&semi;&rpar; &lbrace;&NewLine; val marks &equals; 65&NewLine;&NewLine; val result &equals; if &lpar;marks &gt&semi;&equals; 80&rpar; &lbrace;&NewLine; print&lpar;"You got A&plus; grade with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub; else if &lpar;marks &gt&semi;&equals; 75&rpar; &lbrace;&NewLine; print&lpar;"You got A grade with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub; else if &lpar;marks &gt&semi;&equals; 60&rpar; &lbrace;&NewLine; print&lpar;"You got B grade with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub; else if &lpar;marks &gt&semi;&equals; 45&rpar; &lbrace;&NewLine; print&lpar;"You got C grade with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub; else if &lpar;marks &gt&semi;&equals; 35&rpar; &lbrace;&NewLine; print&lpar;"You got D grade with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub; else &lbrace;&NewLine; print&lpar;"You are fail with marks&colon; "&rpar;&NewLine; marks&NewLine; &rcub;&NewLine; println&lpar;result&rpar;&NewLine;&rcub;<&sol;pre>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Output<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>You got B grade with marks&colon; 65<&sol;pre>&NewLine;<h4 class&equals;"p1"><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example explained<&sol;strong><&sol;span><&sol;h4>&NewLine;<p class&equals;"p1">In the above example&comma; when marks is 65&colon;<&sol;p>&NewLine;<ul class&equals;"ul1">&NewLine;<li class&equals;"li1">condition 1 is checked&period; <span style&equals;"color&colon; &num;0000ff&semi;"><b>65&gt&semi;&equals;80<&sol;b><&sol;span>&comma; yields false&period;<&sol;li>&NewLine;<li class&equals;"li1">condition 2 is checked&period; <span style&equals;"color&colon; &num;0000ff&semi;"><b>65&gt&semi;&equals;75<&sol;b><&sol;span>&comma; yields false&period;<&sol;li>&NewLine;<li class&equals;"li1">condition 3 is checked&period; <span style&equals;"color&colon; &num;0000ff&semi;"><b>65&gt&semi;&equals;60<&sol;b><&sol;span>&comma; yields true and <span style&equals;"color&colon; &num;008000&semi;"><b>&OpenCurlyDoubleQuote;You got B grade with marks&colon; 65”<&sol;b><&sol;span> gets printed&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<h3><&sol;h3>&NewLine;<h3 class&equals;"p1"><strong><span style&equals;"color&colon; &num;000080&semi;">Kotlin Nested if Expression<&sol;span><&sol;strong><&sol;h3>&NewLine;<p class&equals;"p1">An <span style&equals;"color&colon; &num;0000ff&semi;"><strong>if<&sol;strong> <&sol;span>expression can be used inside the block of another <strong><span style&equals;"color&colon; &num;0000ff&semi;">if<&sol;span> <&sol;strong>expression known as nested if expression&period;<&sol;p>&NewLine;<h4><strong><span style&equals;"color&colon; &num;0000ff&semi;">Flowchart&colon;<&sol;span><&sol;strong><&sol;h4>&NewLine;<p><img class&equals;" wp-image-1779 aligncenter" src&equals;"https&colon;&sol;&sol;c1ctech&period;com&sol;wp-content&sol;uploads&sol;2020&sol;04&sol;nested&lowbar;if&lowbar;new&period;png" alt&equals;"nested&lowbar;if&lowbar;new" width&equals;"611" height&equals;"401" &sol;><&sol;p>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>fun main&lpar;args&colon; Array&lt&semi;String&gt&semi;&rpar; &lbrace;&NewLine; val num1 &equals; 10&NewLine; val num2 &equals; 20&NewLine; val num3 &equals; 30&NewLine;&NewLine; val max &equals; if &lpar;num1 &gt&semi; num2&rpar; &lbrace;&NewLine; if &lpar;num1 &gt&semi; num3&rpar;&NewLine; num1&NewLine; else&NewLine; num3&NewLine; &rcub; else &lbrace;&NewLine; if &lpar;num2 &gt&semi; num3&rpar;&NewLine; num2&NewLine; else&NewLine; num3&NewLine; &rcub;&NewLine; println&lpar;"maximum number &equals; &dollar;max"&rpar;&NewLine;&rcub;<&sol;pre>&NewLine;<h4><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Output<&sol;strong><&sol;span><&sol;h4>&NewLine;<pre>maximum number &equals; 30<&sol;pre>&NewLine;<h4 class&equals;"p1"><span style&equals;"color&colon; &num;0000ff&semi;"><strong>Example explained<&sol;strong><&sol;span><&sol;h4>&NewLine;<p class&equals;"p1">In the above example&comma; when num1&equals;10&comma; num2&equals;20&comma; num3&equals;30 &colon;<&sol;p>&NewLine;<ul class&equals;"ul1">&NewLine;<li class&equals;"li1">condition <span style&equals;"color&colon; &num;0000ff&semi;"><strong>10&gt&semi;20<&sol;strong><&sol;span> is checked&comma; yields <strong><span style&equals;"color&colon; &num;008000&semi;">false<&sol;span><&sol;strong>&comma; skip if block and move to <strong><span style&equals;"color&colon; &num;008000&semi;">else<&sol;span><&sol;strong> block&period;<&sol;li>&NewLine;<li class&equals;"li1">condition <strong><span style&equals;"color&colon; &num;0000ff&semi;">20&gt&semi;30<&sol;span><&sol;strong> is checked&comma; yields <strong><span style&equals;"color&colon; &num;008000&semi;">false<&sol;span><&sol;strong>&period;<&sol;li>&NewLine;<li class&equals;"li1">move to else part and return <strong><span style&equals;"color&colon; &num;008000&semi;">num3<&sol;span><&sol;strong> as the maximum number&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;<p>when num1&equals;30&comma; num2&equals;20&comma; num3&equals;10 &colon;<&sol;p>&NewLine;<ul class&equals;"ul1">&NewLine;<li class&equals;"li1">condition <strong><span style&equals;"color&colon; &num;0000ff&semi;">30&gt&semi;20<&sol;span><&sol;strong> is checked&comma; yields <strong><span style&equals;"color&colon; &num;008000&semi;">true<&sol;span><&sol;strong>&period;<&sol;li>&NewLine;<li>condition <strong><span style&equals;"color&colon; &num;0000ff&semi;">30&gt&semi;10<&sol;span><&sol;strong> is checked&comma; yields <strong><span style&equals;"color&colon; &num;008000&semi;">true<&sol;span><&sol;strong>&comma; return <strong><span style&equals;"color&colon; &num;008000&semi;">num1<&sol;span><&sol;strong> as the maximum number&period;<&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;

Exit mobile version