if
StatementsThe most basic way to test a condition in Java is by using an if
statement. The if
statement tests whether a condition is true or false and takes action only if the condition is true.
You use if
along with the condition to test, as in the following statement:
if (account < 0) {
System.out.println("Account overdrawn; you need a bailout");
}
The if
statement checks whether the account
variable is below 0 by using the less than operator <
. If it is, the block within the if
statement is run, displaying text.
The block only runs if the condition is true. In the preceding example, if the account
variable has a value of 0
or higher, the println
statement is ignored. Note that the condition you test must be surrounded by parentheses, as in (account < 0)
.
The less-than operator <
is one of several different operators you can use with conditional statements.
In the preceding section, the <
operator is used the same way as in math class: as a less-than sign. There also is a greater-than conditional operator >
, which is used in the following statements:
int elephantWeight = 900;
int elephantTotal = 13;
int cleaningExpense = 200;
if (elephantWeight > 780) {
System.out.println("Elephant too fat for tightrope act");
}
if (elephantTotal > 12) {
cleaningExpense = cleaningExpense + 150;
}
The first if
statement tests whether the value of the elephantWeight
variable is greater than 780. The second if
statement tests whether the elephantTotal
variable is greater than 12.
If the two preceding statements are used in a program where elephantWeight
is equal to 600 and elephantTotal
is equal to 10, the statements within each if
block are ignored.
You can determine whether something is less than or equal to something else with the <=
operator. Here’s an example:
if (account <= 0) {
System.out.println("You are flat broke");
}
The operator used to conduct equality tests has two equal signs: ==
. It’s easy to confuse this operator with the =
operator, which is used to give a value to a variable. Always use two equal signs in a conditional statement.
There’s also a >=
operator for greater-than-or-equal-to tests.
Another condition to check in a program is equality. Is a variable equal to a specific value? Is one variable equal to the value of another? These questions can be answered with the ==
operator, as in the following statements:
if (answer == rightAnswer) {
studentGrade = studentGrade + 10;
}
if (studentGrade == 100) {
System.out.println("Show off!");
}
You also can test inequality, whether something is not equal to something else, with the !=
operator, as follows:
if (answer != rightAnswer) {
score = score - 5;
}
You can use the ==
and !=
operators with every type of variable except for strings, because strings are objects.
Up to this point, the if
statements in this hour have been accompanied by a block contained within the {
and }
brackets. (I believe the technical term for these characters is “squiggly bracket marks.”)
Previously, you have seen how block statements are used to mark the beginning and end of the main()
block of a Java program. Each statement within the main()
block is handled when the program is run.
An if
statement does not require a block statement. It can occupy a single line, as in this example:
if (account <= 0) System.out.println("No more money");
The statement that follows the if
conditional only is executed if the conditional is true.
Listing 7.1 is an example of a Java program with a block statement used to denote the main()
block. The block statement begins with the opening bracket {
on Line 2 and ends with the closing bracket }
on Line 13. Create a new empty Java file called Game
in NetBeans and enter the text in Listing 7.1.
1: class Game {
2: public static void main(String[] arguments) {
3: int total = 0;
4: int score = 7;
5: if (score == 7) {
6: System.out.println("You score a touchdown!");
7: }
8: if (score == 3) {
9: System.out.println("You kick a field goal!");
10: }
11: total = total + score;
12: System.out.println("Total score: " + total);
13: }
14: }
When you run the program, the output should resemble Figure 7.1.
You can use block statements in if
statements to make the computer do more than one thing if a condition is true. The following is an example of an if
statement that includes a block statement:
int playerScore = 12000;
int playerLives = 3;
int difficultyLevel = 10;
if (playerScore > 9999) {
playerLives++;
System.out.println("Extra life!");
difficultyLevel = difficultyLevel + 5;
}
The brackets are used to group all statements that are part of the if
statement. If the variable playerScore
is greater than 9,999, three things happen:
• The value of the playerLives
variable increases by one (because the increment operator ++
is used).
• The text “Extra life!” is displayed.
• The value of the difficultyLevel
variable is increased by 5.
If the variable playerScore
is not greater than 9,999, nothing happens. All three statements inside the if
statement block are ignored.
3.141.19.212