Switch Case vs. If Elseif

Today in MATLAB Basics, we're going to discuss the use of switch case statements as a cleaner, more maintainable way of doing something like this, that you often see done with else/if statements. Notice in this if/else statement, what we have is someone is creating a val equal to 3 variable, and then checking with a bunch of if/elses to find out what the value is. And then displaying the correct words.

How would this look if it were done as a switch? I think this is more clean and easy to understand doing it this way. Notice there's just a lot less characters on screen when we do it this way. Basically, what we're doing is saying, I want to switch through these cases as if it was a switch yard at a train depot or something like that. And so we're going to be switching based on the variable val.

If the case is 1, that is if val equals 1, display 1. Otherwise, we're going to try case two, case three. And if none of those were correct, then we're just going to say otherwise and do something else. That's how the switch case works.

And if we run it here, we can see that it indeed did find the correct value. If we come here and put our value as 8 and run it again, we can see that it just goes through and says something else. One of the other advantages of switch case in where it's most often actually used is with strings.

Let's take a look here with strings where we can just say, my string is equal to alpha. And then we're going to switch through that railroad switch yard based on the different cases. Now, maybe we're interested in doing one thing if it's alpha or bravo. And then something specific if it's Charlie. And then otherwise we just say unknown.

Let's give that a shot running a F5. And we can see that works also, that either alpha or bravo would work just fine there. OK. This should show you why using a switch case statement can be cleaner than its equivalent in an if-then-else statement. Thank you.

Product Focus

Recorded: 2 Jan 2008