FAQ: Conditional Statements - Else If Statements

This community-built FAQ covers the “Else If Statements” exercise from the lesson “Conditional Statements”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Learn C#

FAQs on the exercise Else If Statements

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in Language Help.

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head to Language Help and Tips and Resources. If you are wanting feedback or inspiration for a project, check out Projects.

Looking for motivation to keep learning? Join our wider discussions in Community

Learn more about how to use this guide.

Found a bug? Report it online, or post in Bug Reporting

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

using System;

namespace ElseIfStatement

{

class Program

{

static void Main(string[] args)

{

  int guests = 3;

  if (guests >= 4)

  {

    Console.WriteLine("Catan");

  }

  else if (guests >= 1)

  {

    Console.WriteLine("Innovation");

  }

  else (guests == 0)

  {

    Console.WriteLine("Solitaire");

  }

}

}

}

It’s telling me to write an “Else” statement, but I did. No idea why it’s giving me an error.

Hi, the reason for this error is because you wrote the else statement incorrectly. Else statements are an optional block of code you can add to conditional statements to catch cases that don’t match conditions. What an else statement basically does is it runs the block of code inside it IF it doesn’t meet the requirements of the IF or the ELSE IF you had written

Since it is a catch case, you don’t write a requirement for it. You wrote:

which you don’t do for a catch statement - Else should not have a requirement. It should have been written like this:

else

  {

    Console.WriteLine("Solitaire");

  }

You also forgot to include braces { these are braces } for the code block that will output “Solitaire”

Ahh duhdoy! Thank you. Yeah I’m big brain right now.

I understand the syntax of the if/else if. Can the same outcome be accomplished by using a series of if statements and ending with an else statement at the end?

I know this is a very late reply, but, no an “if/else” statement means that if the requirement is met in the “if” statement is met, the codeblock is ran, however if it is not, the “else” block will run, so only one codeblock will be ran, the “if”, or the “else”. e.g:

using System; namespace HelloWorld { class Hello { static void Main(string[] args) { Console.WriteLine("Only the if statement will be ran here:"); int number = 2; if(number == 2) { Console.WriteLine("number is 2"); } else { Console.WriteLine("number is not 2"); } } } }

But with an “if/else if” statement, it will go through each statement, and run the first one that is true, eg:

using System; namespace example2 { class Program{ static void Main(string[] args) { Console.WriteLine("Only the second code block will be ran because even though the second and third conditions are true, the second comes first."); int number = 3; if(number > 3) { Console.WriteLine("The number is greater than 3"); } else if (number > 2) { Console.WriteLine("The number is greater than 2"); } else if (number > 1) { Console.WriteLine("The number is greater than 1"); } } } }

So an “if/else” will only run one, or the other, while the “if/else if” will go through and run the first true condition

Thank you for that reply, I knew there must have been some detail I was not giving enough attention to. It makes perfect sense that once a condition is met, the block is run, so multiple IF statements will have no impact if a preceding one in the series is satisfied.