Learn Solidity: Control Structure (if-else, for, while, Do-While)

In this post, we will understand the Control Structure (if-else, for, while, Do-While) in Solidity Language.

Notice: This is one of the multi-post series of Learn Solidity - Build Decentralized Application in Ethereum. This is an attempt to teach you all about Solidity - A Programming Language for Ethereum Based Smart Contracts. If you want to take this as a video course please signup using below button.

[pastacode lang=”javascript” manual=”pragma%20solidity%200.4.8%3B%0A%0A%2F%2F%20Solidity%20follows%20the%20same%20syntax%20of%20controle%20structures%20as%20Java%20script%20or%20C.%0A%2F%2F%20hence%20Most%20of%20the%20control%20structures%20from%20JavaScript%20are%20available%20in%20Solidity%20%0A%2F%2F%20except%20for%20switch%20and%20goto.%20So%20there%20is%3A%20if%2C%20else%2C%20while%2C%20do%2C%20for%2C%20break%2C%20continue%2C%20%0A%2F%2F%20return%2C%20%3F%20%3A%2C%20with%20the%20usual%20semantics%20known%20from%20C%20or%20JavaScript.%0A%0A%2F%2F%20Let’s%20quickly%20go%20through%20ther%20syntax%20in%20this%20lecture.%0A%0A%0Acontract%20ControlStructure%20%7B%0A%20%20%20%20%2F*%0A%20%20%20%20*%20%40title%20A%20Simple%20Example%0A%20%20%20%20*%20%40author%20Toshendra%20Sharma%0A%20%20%20%20*%20%40notice%20Example%20for%20the%20Solidity%20Course%0A%20%20%20%20*%20%40dev%20This%20is%20only%20for%20demo%20the%20simple%20Coin%20example%0A%20%20%20%20*%20%0A%20%20%20%20*%2F%0A%20%20%20%20address%20public%20a%3B%0A%0A%20%20%20%20function%20ControlStructure(uint%20input1)%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20if-else%20can%20be%20used%20like%20this%0A%20%20%20%20%20%20%20%20if(input1%20%3D%3D%202)%0A%20%20%20%20%20%20%20%20%20%20%20%20a%20%3D%201%3B%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20a%20%3D%200%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20while%20can%20be%20used%20like%20this%20%20%20%20%0A%20%20%20%20%20%20%20%20while(input1%20%3E%3D%200)%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if(input1%20%3D%3D%205)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20continue%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20input1%20%3D%20input1%20-%201%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20a%2B%2B%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20for%20loop%20can%20be%20used%20like%20this%0A%20%20%20%20%20%20%20%20for(uint%20i%3D0%3B%20i%3C%3D50%3B%20i%2B%2B)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20a%2B%2B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if(a%20%3D%3D%204)%20break%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20do%20while%20can%20be%20used%20like%20this%0A%20%20%20%20%20%20%20%20do%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20a–%3B%0A%20%20%20%20%20%20%20%20%7D%20(while%20a%3E0)%3B%0A%0A%20%20%20%20%20%20%20%20%2F%2F%20Conditional%20Operator%20can%20be%20used%20like%20this%0A%20%20%20%20%20%20%20%20bool%20isTrue%20%3D%20(a%20%3D%3D%201)%3F%20true%3A%20false%3B%0A%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%2F%2F%20will%20show%20an%20error%20because%20%0A%20%20%20%20%20%20%20%20%2F%2Fthere%20is%20no%20type%20conversion%20from%20non-boolean%20to%20boolean%20%20%20%0A%20%20%20%20%20%20%20%20if%20(1)%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F%2Fsome%20work%0A%20%20%20%20%20%20%20%20%7D%0A%0A%0A%0A%20%20%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]



[otw_shortcode_button href=”https://www.toshblocks.com/solidity/operators-arithmetic-logical-bitwise/” size=”large” icon_type=”general foundicon-left-arrow” icon_position=”left” shape=”radius” color_class=”otw-blue”]Previous: Arithmetic, Logical & Bitwise Operators in Solidity [/otw_shortcode_button][otw_shortcode_button href=”https://www.toshblocks.com/solidity/scoping-declarations-variables-solidity/” size=”large” icon_type=”general foundicon-right-arrow” icon_position=”right” shape=”radius” color_class=”otw-green”]Next: Scoping and Declarations in Solidity[/otw_shortcode_button]