0% found this document useful (0 votes)
6 views

C# Decision Making Conditional and Looping Construct

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

C# Decision Making Conditional and Looping Construct

Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 30

C# Decision Making (if, if-else, if-else-if ladder,

nested if, switch, nested switch)


Last Updated : 13 Mar, 2023



Decision Making in programming is similar to decision making in real


life. In programming too, a certain block of code needs to be
executed when some condition is fulfilled.
A programming language uses control statements to control the flow
of execution of program based on certain conditions. These are used
to cause the flow of execution to advance and branch based on
changes to the state of a program.
The conditional statements of C#:

 if
 if-else
 if-else-if
 Nested if
 Switch
 Nested switch
IF Statement
The if statement checks the given condition. If the condition
evaluates to be true then the block of code/statements will execute
otherwise not.
Syntax:

if(condition)
{
//code to be executed
}
Note: If the curly brackets { } are not used with if statements then
the statement just next to it is only considered associated with the if
statement.
Example:

if (condition)
statement 1;
statement 2;
In this example, only statement 1 is considered to be associated
with the if statement.
Flowchart:

Example:

 Csharp

// C# program to illustrate if statement

using System;

public class GFG {


public static void Main(string[] args)

string name = "Geek";

if (name == "Geek") {

Console.WriteLine("GeeksForGeeks");

Output:

GeeksForGeeks
IF – else Statement
The if statement evaluates the code if the condition is true but what
if the condition is not true, here comes the else statement. It tells
the code what to do when the if condition is false.
Syntax:

if(condition)
{
// code if condition is true
}
else
{
// code if condition is false
}
Flowchart:

Example:

 Csharp

// C# program to illustrate

// if-else statement

using System;

public class GFG {

public static void Main(string[] args)


{

string name = "Geek";

if (name == "Geeks") {

Console.WriteLine("GeeksForGeeksr");

else {

Console.WriteLine("Geeks");

Output:

Geeks
If – else – if ladder Statement
The if-else-if ladder statement executes one condition from multiple
statements. The execution starts from top and checked for each if
condition. The statement of if block will be executed which
evaluates to be true. If none of the if condition evaluates to be true
then the last else block is evaluated.
Syntax:

if(condition1)
{
// code to be executed if condition1 is true
}
else if(condition2)
{
// code to be executed if condition2 is true
}
else if(condition3)
{
// code to be executed if condition3 is true
}
...
else
{
// code to be executed if all the conditions are
false
}

Flowchart:
Example:

 Csharp

// C# program to illustrate

// if-else-if ladder

using System;
class GFG {

public static void Main(String[] args)

int i = 20;

if (i == 10)

Console.WriteLine("i is 10");

else if (i == 15)

Console.WriteLine("i is 15");

else if (i == 20)

Console.WriteLine("i is 20");

else

Console.WriteLine("i is not present");

Output:

i is 20
Nested – If Statement
if statement inside an if statement is known as nested if. if
statement in this case is the target of another if or else statement.
When more than one condition needs to be true and one of the
condition is the sub-condition of parent condition, nested if can be
used.
Syntax:

if (condition1)
{
// code to be executed
// if condition2 is true
if (condition2)
{
// code to be executed
// if condition2 is true
}
}
Flowchart:
Example:

 csharp

// C# program to illustrate

// nested-if statement

using System;

class GFG {

public static void Main(String[] args)

int i = 10;

if (i == 10) {

// Nested - if statement

// Will only be executed if statement

// above it is true

if (i < 12)
Console.WriteLine("i is smaller than 12 too");

else

Console.WriteLine("i is greater than 15");

Output:

i is smaller than 12 too


Switch Statement
Switch statement is an alternative to long if-else-if ladders. The
expression is checked for different cases and the one match is
executed. break statement is used to move out of the switch. If the
break is not used, the control will flow to all cases below it until
break is found or switch comes to an end. There is default case
(optional) at the end of switch, if none of the case matches then
default case is executed.
Syntax:

switch (expression)
{
case value1: // statement sequence
break;
case value2: // statement sequence
break;
.
.
.
case valueN: // statement sequence
break;
default: // default statement sequence
}
Flow Diagram of Switch – case :
Example:

 Csharp

// C# example for switch case

using System;

public class GFG

public static void Main(String[] args)

int number = 30;

switch(number)

case 10: Console.WriteLine("case 10");

break;

case 20: Console.WriteLine("case 20");

break;

case 30: Console.WriteLine("case 30");

break;

default: Console.WriteLine("None matches");


break;

Output:

case 30
Nested switch
Nested Switch case are allowed in C# . In this case, switch is
present inside other switch case. Inner switch is present in one of
the cases in parent switch.
Example:

 Csharp

// C# example for nested switch case

using System;

public class GFG

public static void Main(String[] args)

int j = 5;
switch (j)

case 5: Console.WriteLine(5);

switch (j - 1)

case 4: Console.WriteLine(4);

switch (j - 2)

case 3: Console.WriteLine(3);

break;

break;

break;

case 10: Console.WriteLine(10);

break;

case 15: Console.WriteLine(15);


break;

default: Console.WriteLine(100);

break;

Output:

5
4
3

Switch Statement in C#
Last Updated : 22 Apr, 2020



In C#, Switch statement is a multiway branch statement. It provides


an efficient way to transfer the execution to different parts of a code
based on the value of the expression. The switch expression is of
integer type such as int, char, byte, or short, or of an enumeration
type, or of string type. The expression is checked for different cases
and the one match is executed.
Syntax:
switch (expression) {
case value1: // statement sequence
break;

case value2: // statement sequence


break;
.
.
.
case valueN: // statement sequence
break;

default: // default statement sequence


}
Flow Chart:
Important points to remember:
 In C#, duplicate case values are not allowed.
 The data type of the variable in the switch and value of a case
must be of the same type.
 The value of a case must be a constant or a literal. Variables are
not allowed.
 The break in switch statement is used to terminate the current
sequence.
 The default statement is optional and it can be used anywhere
inside the switch statement.
 Multiple default statements are not allowed.
Example:

// C# program to illustrate

// switch case statement

using System;

public class GFG {

// Main Method

public static void Main(String[] args)

int nitem = 5;

switch (nitem) {
case 1:

Console.WriteLine("case 1");

break;

case 5:

Console.WriteLine("case 5");

break;

case 9:

Console.WriteLine("case 9");

break;

default:

Console.WriteLine("No match found");

break;

Output:
case 5
Why do we use Switch Statements instead of if-else statements?
We use a switch statement instead of if-else statements because if-
else statement only works for a small number of logical evaluations
of a value. If you use if-else statement for a larger number of
possible conditions then, it takes more time to write and also
become difficult to read.
Example: Using if-else-if statement

// C# program to illustrate

// if-else statement

using System;

class GFG {

// Main Method

public static void Main(String[] args)

// taking two strings value

string topic;

string category;

// taking topic name


topic = "Inheritance";

// using compare function of string class

if ((String.Compare(topic, "Introduction to C#") == 0) ||

(String.Compare(topic, "Variables") == 0) ||

(String.Compare(topic, "Data Types") == 0))

category = "Basic";

// using compare function of string class

else if ((String.Compare(topic, "Loops") == 0) ||

(String.Compare(topic, "If Statements") == 0) ||

(String.Compare(topic, "Jump Statements") == 0))

category = "Control Flow";

}
// using compare function of string class

else if ((String.Compare(topic, "Class & Object") == 0) ||

(String.Compare(topic, "Inheritance") == 0) ||

(String.Compare(topic, "Constructors") == 0))

category = "OOPS Concept";

else

category = "Not Mentioned";

System.Console.Write("Category is " + category);

Output:
Category is OOPS Concept
Explanation: As shown in the above program the code is not
excessive but, it looks complicated to read and took more time to
write. So we use a switch statement to save time and write
optimized code. Using switch statement will provide a better
readability of code.
Example: Using Switch Statement

// C# program to illustrate

// switch statement

using System;

class GFG {

// Main Method

public static void Main(String[] args)

// taking two strings value

string topic;

string category;

// taking topic name

topic = "Inheritance";
// using switch Statement

switch(topic)

case "Introduction to C#":

case "Variables":

case "Data Types":

category = "Basic";

break;

case "Loops":

case"If Statements":

case"Jump Statements":

category = "Control Flow";

break;

case "Class & Object":


case "Inheritance":

case "Constructors":

category = "OOPS Concept";

break;

// default case

default:

category = "Not Mentioned";

break;

System.Console.Write("Category is " + category);

Output:
Category is OOPS Concept
Using goto in the Switch Statement
You can also use goto statement in place of the break in the switch
statement. Generally, we use a break statement to exit from the
switch statement. But in some situations, the default statement is
required to be executed, so we use the goto statement. It allows
executing default condition in the switch statement. The goto
statement is also used to jump to a labeled location in C# program.
Example:

// C# program to illustrate the

// use of goto in switch statement

using System;

public class GFG {

// Main Method

public static void Main(String[] args)

int greeting = 2;

switch (greeting) {

case 1:

Console.WriteLine("Hello");
goto default;

case 2:

Console.WriteLine("Bonjour");

goto case 3;

case 3:

Console.WriteLine("Namaste");

goto default;

default:

Console.WriteLine("Entered value is: " + greeting);

break;

Output:
Bonjour
Namaste
Entered value is: 2
Explanation: In the above program, the goto statement is used in a
switch statement. Here first the case 2, i.e Bonjour is printed
because the switch contains the value of greeting is 2, then the
control transfers to the case 3 due to the presence of goto
statement, so it prints Namaste and in last the control transfer to
the default condition and print Entered value is: 2.
Note: You can also use continue in place of a break in switch
statement if your switch statement is a part of a loop, then continue
statement will cause execution to return instantly to the starting of
the loop.

You might also like