

{"id":1543,"date":"2017-01-28T08:30:49","date_gmt":"2017-01-28T08:30:49","guid":{"rendered":"http:\/\/data-flair.training\/blogs\/?p=1543"},"modified":"2021-12-04T10:16:52","modified_gmt":"2021-12-04T04:46:52","slug":"scala-control-structures-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/","title":{"rendered":"Scala Control Structures &#8211; A Comprehensive Guide"},"content":{"rendered":"<p>This Scala tutorial will help you in learning Scala programming language using Scala Control structures with syntax. You will understand how to write Scala programs using Scala if else function, for loop in Scala, Match expressions in scala and while or do while loop in scala along with scala examples.<\/p>\n<p>Before starting with control structures in Scala, let us understand <a href=\"http:\/\/data-flair.training\/blogs\/why-you-should-learn-scala-introductory-tutorial\/\">Scala basics\u00a0for beginners<\/a> and <a href=\"http:\/\/data-flair.training\/blogs\/scala-features-comprehensive-guide\/\">features of Scala<\/a> that make it programmers choice.<\/p>\n<div id=\"attachment_34413\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-34413\" class=\"size-full wp-image-34413\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg\" alt=\"Scala Control Structures - A Comprehensive Guide\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01-1024x536.jpg 1024w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01-520x272.jpg 520w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-34413\" class=\"wp-caption-text\">Scala Control Structures &#8211; A Comprehensive Guide<\/p><\/div>\n<h3>Scala control structures<\/h3>\n<p>Do you know what is control structure?<\/p>\n<p>A control structure is a block of programming that analyzes variables and selects how to proceed based on given parameters. It is the basic decision-making process in computing that determines the program flow based on certain conditions and parameters.<br \/>\nSo let us see various types of control structures used in Scala.<\/p>\n<h4>a. if&#8230;Else Control Structure<\/h4>\n<p>The If..Else conditional expression is a classic programming construct for choosing a branch of code based on whether an expression resolves to true or false. In many languages it starts with an \u201cif,\u201d continues with zero to many \u201celse if \u201d sections, and ends with a final \u201celse\u201d catch-all statement.<\/p>\n<p><strong>Syntax: Using an If Expression<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if (&lt;Boolean expression&gt;) &lt;expression&gt;<\/pre>\n<p>The term Boolean expression here indicates an expression that will return either true or false.<\/p>\n<p>Below is if block that prints a notice if the Boolean expression is true:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">scala&gt; if ( 47 % 3 &gt; 0 ) println(\"Not a multiple of 3\")<\/pre>\n<p>Not a multiple of 3<\/p>\n<p>Of course 47 isn\u2019t a multiple of 3, so the Boolean expression was true and the println was triggered.<br \/>\nAlthough if block can act as an expression, it is better suited for statement like this.<\/p>\n<p>The problem with using if block as expression is that they only conditionally return a value. If the Boolean expression returns false, what do you expect if block to return?<\/p>\n<p><strong>Syntax: If .. Else Expressions<\/strong><\/p>\n<p>[php]if (&lt;Boolean expression&gt;) &lt;expression&gt;<\/p>\n<p>else &lt;expression&gt;[\/php]<\/p>\n<h5>i. Example<\/h5>\n<p>[php]scala &gt; val x = 10; val y = 20<br \/>\nx: Int = 10<br \/>\ny: Int = 20<br \/>\nscala &gt; val max = if (x &gt; y) x else y<br \/>\nmax: Int = 20[\/php]<\/p>\n<p>Here x and y values make up the entirety of if and else expressions. The resulting value is assigned to max, which we and the Scala compiler know will be an Int because both expressions have return values of type Int. You can use it like a Java ternary operator:<\/p>\n<p>[php]val absValue = if (a &lt; 0) -a else a \/\/ ternary<br \/>\nprintln(if (i == 0) &#8220;a&#8221; else &#8220;b&#8221;) \/\/ in println<br \/>\nhash = hash * prime + (if (name == null) 0 else name.hashCode) \/\/ in equation<br \/>\ndef abs(x: Int) = if (x &gt;= 0) x else -x \/\/ as a method body<br \/>\n[\/php]<\/p>\n<h4>b. Match Expression<\/h4>\n<p>Match expressions are similar to \u201cswitch\u201d statements of C and Java, in which a single input item is checked and the first pattern that is \u201cmatched\u201d is executed and its value returned. Like \u201cswitch\u201d statement of C and Java, match expressions in Scala support a default \u201ccatch-all\u201d pattern.<\/p>\n<p>Unlike them, in match expressions only zero or one patterns can match. There is no break statement or \u201cfall-through\u201d from one pattern to the next one in line that would prevent this fall-through.<\/p>\n<p><strong>Syntax:\u00a0<\/strong><\/p>\n<p>[php]&lt;expression&gt; match {<br \/>\ncase &lt;pattern match&gt; =&gt; &lt;expression&gt;<br \/>\n[case&#8230;]<br \/>\n}[\/php]<\/p>\n<h5>i. Example<\/h5>\n<p>[php]val month = i match {<br \/>\ncase 1 =&gt; &#8220;January&#8221;<br \/>\ncase 2 =&gt; &#8220;February&#8221;<br \/>\ncase 3 =&gt; &#8220;March&#8221;<br \/>\ncase 4 =&gt; &#8220;April&#8221;<br \/>\ncase 5 =&gt; &#8220;May&#8221;<br \/>\ncase 6 =&gt; &#8220;June&#8221;<br \/>\ncase 7 =&gt; &#8220;July&#8221;<br \/>\ncase 8 =&gt; &#8220;August&#8221;<br \/>\ncase 9 =&gt; &#8220;September&#8221;<br \/>\ncase 10 =&gt; &#8220;October&#8221;<br \/>\ncase 11 =&gt; &#8220;November&#8221;<br \/>\ncase 12 =&gt; &#8220;December&#8221;<br \/>\ncase _ =&gt; &#8220;Invalid month&#8221; \/\/ the default, catch-all<br \/>\n}[\/php]<\/p>\n<p>Match expression in function body for different type value:<\/p>\n<p>[php]def getClassAsString(x: Any):String = x match {<br \/>\ncase s: String =&gt; s + &#8221; is a String&#8221;<br \/>\ncase i: Int =&gt; &#8220;Int&#8221;<br \/>\ncase f: Float =&gt; &#8220;Float&#8221;<br \/>\ncase l: List[_] =&gt; &#8220;List&#8221;<br \/>\ncase p: Person =&gt; &#8220;Person&#8221;<br \/>\ncase _ =&gt; &#8220;Unknown&#8221;<br \/>\n}[\/php]<\/p>\n<p>use &#8216;if&#8217; expressions in case statements<\/p>\n<p>[php]i match {<br \/>\ncase a if 0 to 9 contains a =&gt; println(&#8220;0-9 range: &#8221; + a)<br \/>\ncase b if 10 to 19 contains b =&gt; println(&#8220;10-19 range: &#8221; + a)<br \/>\ncase c if 20 to 29 contains c =&gt; println(&#8220;20-29 range: &#8221; + a)<br \/>\ncase _ =&gt; println(&#8220;Hmmm&#8230;&#8221;)<br \/>\n}[\/php]<\/p>\n<p>reference class fields in your &#8216;if&#8217; statements:<\/p>\n<p>[php]stock match {<br \/>\ncase x if (x.symbol == &#8220;XYZ&#8221; &amp;&amp; x.price &lt; 20) =&gt; buy(x)<br \/>\ncase x if (x.symbol == &#8220;XYZ&#8221; &amp;&amp; x.price &gt; 50) =&gt; sell(x)<br \/>\ncase x =&gt; doNothing(x)<br \/>\n}[\/php]<\/p>\n<h4>c. For Loop<\/h4>\n<p>A loop is a term for exercising a task repeatedly and may include iterating through a range of data or repeating until a Boolean expression returns false.<\/p>\n<p>The most important looping structure in Scala is the for-loop which is also called \u201cfor comprehension\u201d. For loops in scala can iterate over a range of data executing an expression every time and optionally return values that is a collection of all the expression\u2019s return values.<\/p>\n<p>These loops are highly supporting nested iterating, filtering, value binding and are customizable.<\/p>\n<h5>i. Examples<\/h5>\n<p>[php]\/\/ simple for loops<br \/>\nfor (arg &lt;- args) println(arg)<br \/>\nfor (i &lt;- 0 to 5) println(i)<br \/>\nfor (i &lt;- 0 to 10 by 2) println(i)<br \/>\n\/\/ for loop with multiple counters:<br \/>\nscala &gt; for (i &lt;- 1 to 2; j &lt;- 1 to 2) printf(&#8220;i = %d, j = %d\\n&#8221;, i, j)<br \/>\ni = 1, j = 1<br \/>\ni = 1, j = 2<br \/>\ni = 2, j = 1<br \/>\ni = 2, j = 2<br \/>\n\/\/ print all even numbers by adding a &#8216;guard&#8217;<br \/>\nscala &gt; for (i &lt;- 1 to 10 if i % 2 == 0) println(i)<br \/>\n2<br \/>\n4<br \/>\n6<br \/>\n8<br \/>\n10<br \/>\n\/\/ multiple guards<br \/>\nfor {<br \/>\nfile &lt;- files<br \/>\nif passesFilter1(file) \/\/ guard<br \/>\nif passesFilter2(file) \/\/ guard<br \/>\n} doSomething(file)<br \/>\n\/\/ for loop with guard and yield<br \/>\nfor {<br \/>\nfile &lt;- files<br \/>\nif hasSoundFileExtension(file)<br \/>\nif !soundFileIsLong(file)<br \/>\n} yield file<br \/>\n\/\/ more for loops with &#8216;yield&#8217;<br \/>\nval a = Array(&#8220;apple&#8221;, &#8220;banana&#8221;, &#8220;orange&#8221;) \/\/ Array(apple, banana, orange)<br \/>\nval newArray = for (e &lt;- a) yield e.toUpperCase \/\/ Array(APPLE, BANANA, ORANGE)<br \/>\nval a = Array(1, 2, 3, 4, 5) \/\/ Array(1, 2, 3, 4, 5)<br \/>\nfor (e &lt;- a) yield e \/\/ Array(1, 2, 3, 4, 5)<br \/>\n(e &lt;- a) yield e * 2 \/\/ Array(2, 4, 6, 8, 10)<br \/>\nfor (e &lt;- a) yield e % 2 \/\/ Array(1, 0, 1, 0, 1)<br \/>\nfor (e &lt;- a if e &gt; 2) yield e \/\/ Array(3, 4, 5) [\/php]<\/p>\n<h4>d. While loop \/ Do..while loop<\/h4>\n<p>In addition to for-loop, \u201cwhile\u201d and \u201cDo..While\u201d loops are also being supported by Scala. They repeat a statement until false is returned by Boolean expression. These are not as commonly used as for-loops in scala, however, because they are not expressions and cannot be used to yield values.<\/p>\n<p><strong>Syntax of While Loop:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">while (&lt;Boolean expression&gt;) statement<\/pre>\n<h5>i. Example<\/h5>\n<p>[php]var i = 0<br \/>\nwhile (i &lt; array.length) {<br \/>\nprintln(array(i))<br \/>\ni += 1<br \/>\n}[\/php]<\/p>\n<p>The do..While loop is similar but the statement is executed before the Boolean expression is first evaluated. In this example we have a boolean expression that will return false, but is only checked after the statement has had a chance to run &#8211;<\/p>\n<p><strong>Syntax of Do While loop in Scala:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">do {\/\/ expression...} while (condition)<\/pre>\n<p><strong>Example:<\/strong><\/p>\n<p>[php]val x = 0<br \/>\ndo println(&#8220;Here I am, x = $x&#8221;) while (x &gt; 0) \/\/ Here I am, x = 0[\/php]<\/p>\n<h3>Conclusion<\/h3>\n<p>So, this was all about Scala Control Structure. Hope you like our explanation. Furthermore, if you have any query, feel free to approach us through comment section.<\/p>\n<p>Source:<br \/>\n<a href=\"https:\/\/www.scala-lang.org\/\">https:\/\/www.scala-lang.org\/<\/a><span hidden class=\"__iawmlf-post-loop-links\" data-iawmlf-links=\"[{&quot;id&quot;:1904,&quot;href&quot;:&quot;https:\\\/\\\/www.scala-lang.org&quot;,&quot;archived_href&quot;:&quot;http:\\\/\\\/web-wp.archive.org\\\/web\\\/20251206135355\\\/https:\\\/\\\/www.scala-lang.org\\\/&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2025-12-10 07:41:44&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-15 07:30:15&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-18 15:55:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-23 02:56:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2025-12-27 16:24:45&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-02 02:40:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-05 13:44:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-09 08:06:50&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-12 14:24:57&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-17 17:26:33&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-20 17:57:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-24 15:52:31&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-01-30 14:21:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-02 14:58:48&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-05 16:39:16&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-12 17:17:04&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-16 04:52:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-19 13:39:29&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-24 17:10:42&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-02-28 04:44:36&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-03 07:25:17&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-08 21:46:06&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-12 18:02:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-03-27 20:15:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-05 11:05:11&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-10 19:22:51&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-14 07:59:07&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-17 16:14:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-21 23:18:28&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-26 09:13:01&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-04-29 14:23:58&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-07 12:16:25&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-13 10:20:22&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-18 15:54:26&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-22 05:55:10&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-25 08:30:39&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-05-29 13:12:38&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-02 14:06:47&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-09 18:23:27&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-15 16:29:46&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-19 06:54:54&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-22 13:14:32&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-26 04:09:02&quot;,&quot;http_code&quot;:206},{&quot;date&quot;:&quot;2026-06-29 09:04:33&quot;,&quot;http_code&quot;:206}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-06-29 09:04:33&quot;,&quot;http_code&quot;:206},&quot;process&quot;:&quot;done&quot;}]\"><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This Scala tutorial will help you in learning Scala programming language using Scala Control structures with syntax. You will understand how to write Scala programs using Scala if else function, for loop in Scala,&#46;&#46;&#46;<\/p>\n","protected":false},"author":6,"featured_media":34413,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61],"tags":[2968,8175,10182,12424,12532],"class_list":["post-1543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scala","tag-control-structure-in-scala","tag-learn-scala","tag-programming-in-scala","tag-scala-control-structures","tag-scala-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scala Control Structures - A Comprehensive Guide - DataFlair<\/title>\n<meta name=\"description\" content=\"Scala Control structures with syntax-learn how to write Scala programs using if else function, for loop,Match expressions,while,do while loop with examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scala Control Structures - A Comprehensive Guide - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Scala Control structures with syntax-learn how to write Scala programs using if else function, for loop,Match expressions,while,do while loop with examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-28T08:30:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-04T04:46:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scala Control Structures - A Comprehensive Guide - DataFlair","description":"Scala Control structures with syntax-learn how to write Scala programs using if else function, for loop,Match expressions,while,do while loop with examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/","og_locale":"en_US","og_type":"article","og_title":"Scala Control Structures - A Comprehensive Guide - DataFlair","og_description":"Scala Control structures with syntax-learn how to write Scala programs using if else function, for loop,Match expressions,while,do while loop with examples.","og_url":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2017-01-28T08:30:49+00:00","article_modified_time":"2021-12-04T04:46:52+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89"},"headline":"Scala Control Structures &#8211; A Comprehensive Guide","datePublished":"2017-01-28T08:30:49+00:00","dateModified":"2021-12-04T04:46:52+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/"},"wordCount":1193,"commentCount":1,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg","keywords":["control structure in scala","learn scala","programming in scala","scala control structures","scala programming"],"articleSection":["Scala Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/","url":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/","name":"Scala Control Structures - A Comprehensive Guide - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg","datePublished":"2017-01-28T08:30:49+00:00","dateModified":"2021-12-04T04:46:52+00:00","description":"Scala Control structures with syntax-learn how to write Scala programs using if else function, for loop,Match expressions,while,do while loop with examples.","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2017\/01\/Scala-Control-Structures-01.jpg","width":1200,"height":628,"caption":"Scala Control Structures - A Comprehensive Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/scala-control-structures-comprehensive-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"Scala Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/scala\/"},{"@type":"ListItem","position":3,"name":"Scala Control Structures &#8211; A Comprehensive Guide"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/2c58ecb4f73a39f0ef993f1ddfcd7b89","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1ce4a0e3e542444fc73bbebf83e89e8b73e2d95ccb1fcee64da9945f078b97c5?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"The DataFlair Team provides industry-driven content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our expert educators focus on delivering value-packed, easy-to-follow resources for tech enthusiasts and professionals.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam2\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/1543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=1543"}],"version-history":[{"count":7,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/1543\/revisions"}],"predecessor-version":[{"id":104850,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/1543\/revisions\/104850"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/34413"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=1543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=1543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=1543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}