Switch vs. If: Comparing Conditional Statements

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
5 replies · 2K views
shauns87
Messages
14
Reaction score
0
What is the difference between switch statement and if statement?
 
Physics news on Phys.org
Let's start from the very beginning. What are they used for? What is the syntax in each case?
 
Switch: tests the value of a given variable against a list of case values and when a match is found, a block of statements associated with that case is executed.

If Else: If the test value is true, then the true block statements following the if are executed.

Now, the point is that I feel that both are the same and can be used interchangeably.

Am i right?
 
Here's something you can't do with a switch statement:

Code:
if (x > 10)
{
    // Do something
}
else if (x < 0)
{
    // Do something else
}
else
{
    // etc...
}

So not really interchangeable in quite a few cases. An if can do what a switch can (though maybe less clearly and possibly less easy for the compiler to optimize). But a switch can't do everything an if statement can.
 
shauns87 said:
Switch: tests the value of a given variable against a list of case values and when a match is found, a block of statements associated with that case is executed.

If Else: If the test value is true, then the true block statements following the if are executed.

Now, the point is that I feel that both are the same and can be used interchangeably.

Am i right?

Switch statement compares a result with specific values. The if statement is a more general test that allows you to use more general tests for each if statement and more any subsequent elseif statement.