Simple if
Statements
Run the example program, suitcase/suitcase.cs. Try it at least twice, with inputs: 30 and then 55. As you can see, you get an extra result, depending on the input. The main code is:
1double weight =
2 UIF.PromptDouble("How many pounds does your suitcase weigh? ");
3if (weight > 50) {
4 Console.WriteLine("There is a $25 charge for luggage that heavy.");
5}
6Console.WriteLine("Thank you for your business.");
The lines labeled 3-5 are an if
statement. It reads pretty much
like English. If it is true that the weight is greater than 50,
then print the statement about an extra charge. If it is not true
that the weight is greater than 50, then skip the part
right after the condition about
printing the extra luggage charge.
In any event, when
you have finished with the if
statement (whether it actually does
anything or not), go on to the next statement.
In this case that is the statement
printing “Thank you”.
An if
statement only breaks the normal sequential order
inside the if
statement itself.
The general C# syntax for a simple if
statement is
if (
condition )
The condition is an expression that is true or false, of Type Boolean or bool.
Often you want multiple statements executed when the condition is true. We have used braces before. We have not said what they do technically, syntactically: braces around a group of statements technically makes a single compound statement. So the pattern commonly written is:
if (
condition ) {
}
If the condition is true, then do the statement(s) in braces. If the condition is not true, then skip the statements in braces. The indentation pattern is also illustrated. Recall the compiler does not care about the amount of whitespace, but humans do. In general indent the statements inside a compound statement. Later in:ref:missing-braces we will see that there is good reason to use this format with braces even if there is just one statement inside the braces.
Another fragment as an example:
if (balance < 0) {
transfer = -balance;
// transfer enough from the backup account:
backupAccount = backupAccount - transfer;
balance = balance + transfer;
}
The assumption in the example above is that if an account goes negative, it is brought back to 0 by transferring money from a backup account in several steps.
In the examples above the choice is between doing something (if the
condition is true
) or nothing (if the condition is false
).
Often there is a choice of two possibilities, only one of which
will be done, depending on the truth of a condition….
Simple If Exercise
Think of two different inputs you could give that would make the execution of the code fragment proceed differently. What would happen in each case? (Assume we have access to the class UIF.)
Consider:
string v = UIF.PromptLine("Enter a word: "); if (v.Length > 3) { v = v + v; } Console.WriteLine("Now we have " + v);
Consider:
int x = UIF.PromptInt("Enter a integer: "); Console.Write("The magnitude of " + x + " is "); if (x < 0) { x = -x; } Console.WriteLine(x);