0% found this document useful (0 votes)
2 views86 pages

Lecture 01 - Control Statements (Part I); Assignment, ++ and -- Operators

Chapter 4 of 'Java How to Program' focuses on control statements, including assignment, increment, and decrement operators. It covers problem-solving techniques, algorithm development, and the use of selection and repetition statements in Java, such as if, if...else, and while. The chapter emphasizes the importance of understanding program control and provides examples of pseudocode and UML activity diagrams to illustrate these concepts.

Uploaded by

hoanggkhoiii
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
2 views86 pages

Lecture 01 - Control Statements (Part I); Assignment, ++ and -- Operators

Chapter 4 of 'Java How to Program' focuses on control statements, including assignment, increment, and decrement operators. It covers problem-solving techniques, algorithm development, and the use of selection and repetition statements in Java, such as if, if...else, and while. The chapter emphasizes the importance of understanding program control and provides examples of pseudocode and UML activity diagrams to illustrate these concepts.

Uploaded by

hoanggkhoiii
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 86

Chapter 4

Control Statements:
Part I; Assignment,
++ and -- Operators
From the textbook
Java How to Program 11/e

Instructor: Hoang Ngoc Long


Objectives

• Learn basic problem-solving techniques.


• Develop algorithms through the process of top-down, stepwise
refinement.
• Use the if and if...else selection statements to choose between
alternative actions.
• Use the while iteration statement to execute statements in a program
repeatedly.
• Use counter-controlled iteration and sentinel-controlled iteration.
• Use the compound assignment operator and the increment and
decrement operators.
• Learn about the portability of primitive data types.
Agenda
1. Introduction
2. Algorithms
3. Pseudocode
4. Control Structures
5. if Single-Selection Statement
6. if…else Double-Selection Statement
7. Student Class: Nested if…else Statement
8. while Repetition Statement
9. Formulating Algorithms: Counter-Controlled Repetition
10. Formulating Algorithms: Sentinel-Controlled Repetition
11. Formulating Algorithms: Nested Control Statements
12. Compound Assignment Operators
13. Increment and Decrement Operators
14. Primitive Types
1 Introduction

• Before writing a program to solve a problem, have a thorough


understanding of the problem and a carefully planned approach to
solving it.
• Understand the types of building blocks that are available and employ
proven program-construction techniques.
• In this chapter we discuss
§ Java’s if, if…else and while statements
§ Compound assignment, increment and decrement operators
§ Portability of Java’s primitive types
2 Algorithms
• Any computing problem can be solved by executing a series of
actions in a specific order.
• An algorithm is a procedure for solving a problem in terms of
§ the actions to execute and
§ the order in which these actions execute
• The “rise-and-shine algorithm” followed by one executive for
getting out of bed and going to work:
§ (1) Get out of bed; (2) take off pajamas; (3) take a shower; (4) get
dressed; (5) eat breakfast; (6) carpool to work.
• Suppose that the same steps are performed in a slightly different
order:
§ (1) Get out of bed; (2) take off pajamas; (3) get dressed; (4) take a
shower; (5) eat breakfast; (6) carpool to work.
• Specifying the order in which statements (actions) execute in a
program is called program control.
3 Pseudocode
• Pseudocode is an informal language that helps you develop algorithms
without having to worry about the strict details of Java language syntax.
• Particularly useful for developing algorithms that will be converted to
structured portions of Java programs.
• Similar to everyday English.
• Helps you “think out” a program before attempting to write it in a
programming language, such as Java.
• You can type pseudocode conveniently, using any text-editor program.
• Carefully prepared pseudocode can easily be converted to a
corresponding Java program.
• Pseudocode normally describes only statements representing the actions
that occur after you convert a program from pseudocode to Java and the
program is run on a computer.
§ e.g., input, output or calculations.
4 Control Structures
• Sequential execution: Statements in a program execute one after
the other in the order in which they are written.
• Transfer of control: Various Java statements, enable you to
specify that the next statement to execute is not necessarily the
next one in sequence.
• Bohm and Jacopini
§ Demonstrated that programs could be written without any goto
statements.
§ All programs can be written in terms of only three control structures—
the sequence structure, the selection structure and the repetition
structure.
• When we introduce Java’s control-structure implementations,
we’ll refer to them in the terminology of the Java Language
Specification as “control statements.”
4 Control Structures
Sequence Structure in Java
}Built into Java.
}Unless directed otherwise, the computer executes Java
statements one after the other in the order in which they’re
written.
}The activity diagram in Fig. 4.1 illustrates a typical sequence
structure in which two calculations are performed in order.
}Java lets you have as many actions as you want in a sequence
structure.
}Anywhere a single action may be placed, we may place
several actions in sequence.
4 Control Structures
• UML activity diagram
• Models the workflow (also called the activity) of a portion of a
software system.
• May include a portion of an algorithm, like the sequence structure
in Fig. 4.1.
• Composed of symbols
§ action-state symbols (rectangles with their left and right sides replaced
with outward arcs)
§ diamonds
§ small circles
• Symbols connected by transition arrows, which represent the flow
of the activity—the order in which the actions should occur.
• Help you develop and represent algorithms.
• Clearly show how control structures operate.
4 Control Structures

• Sequence-structure activity diagram in Fig. 4.1.


• Two action states that represent actions to perform.
• Each contains an action expression that specifies a
particular action to perform.
• Arrows represent transitions (order in which the actions
represented by the action states occur).
• Solid circle at the top represents the initial state—the
beginning of the workflow before the program performs
the modeled actions.
• Solid circle surrounded by a hollow circle at the bottom
represents the final state — the end of the workflow after
the program performs its actions.
4 Control Structures

• UML notes
§ Like comments in Java.
§ Rectangles with the upper-right corners folded over.
§ Dotted line connects each note with the element it describes.
§ Activity diagrams normally do not show the Java code that implements the
activity. We do this here to illustrate how the diagram relates to Java code.
• More information on the UML
§ visit www.uml.org
4 Control Structures
Selection Statements in Java
}Three types of selection statements.
}if statement:
§ Performs an action, if a condition is true; skips it, if false.
§ Single-selection statement—selects or ignores a single action (or group of
actions).
}if…else statement:
§ Performs an action if a condition is true and performs a different action if
the condition is false.
§ Double-selection statement—selects between two different actions (or
groups of actions).
}switch statement
§ Performs one of several actions, based on the value of an expression.
§ Multiple-selection statement—selects among many different actions (or
groups of actions).
4 Control Structures
Repetition Statements in Java
}Three repetition statements (also called iteration statements or
looping statements)
§ Perform statements repeatedly while a loop-continuation condition
remains true.
}while and for statements perform the action(s) in their
bodies zero or more times
§ if the loop-continuation condition is initially false, the body will not
execute.
}The do…while statement performs the action(s) in its body
one or more times.
}if, else, switch, while, do and for are keywords.
§ Appendix C: Complete list of Java keywords.
4 Control Structures
Summary of Control Statements in Java
} Every program is formed by combining the sequence statement, selection
statements (three types) and repetition statements (three types) as
appropriate for the algorithm the program implements.
} Can model each control statement as an activity diagram.
§ Initial state and a final state represent a control statement’s entry point and exit
point, respectively.
§ Single-entry/single-exit control statements
§ Control-statement stacking—connect the exit point of one to the entry point of the
next.
§ Control-statement nesting—a control statement inside another.
5 if Single-Selection Statement

• Pseudocode
If student’s grade is greater than or equal to 60
Print “Passed”
• If the condition is false, the Print statement is ignored, and the
next pseudocode statement in order is performed.
• Indentation
§ Optional, but recommended
§ Emphasizes the inherent structure of structured programs
• The preceding pseudocode If in Java:
if (studentGrade >= 60)
System.out.println("Passed");
• Corresponds closely to the pseudocode.
5 if Single-Selection Statement

UML Activity Diagram for an if Statement


}Figure 4.2 if statement UML activity diagram.
}Diamond, or decision symbol, indicates that a decision is to
be made.
}Workflow continues along a path determined by the symbol’s
guard conditions, which can be true or false.
}Each transition arrow emerging from a decision symbol has a
guard condition (in square brackets next to the arrow).
}If a guard condition is true, the workflow enters the action
state to which the transition arrow points.
6 if…else Double-Selection
Statement
• if…else double-selection statement—specify an action to
perform when the condition is true and a different action
when the condition is false.
• Pseudocode
If student’s grade is greater than or equal to 60
Print “Passed”
Else
Print “Failed”
• The preceding If…Else pseudocode statement in Java:
if (grade >= 60)
System.out.println("Passed");
else
System.out.println("Failed");
• Note that the body of the else is also indented.
6 if…else Double-Selection
Statement
UML Activity Diagram for an if…else Statement
} Figure 4.3 illustrates the flow of control in the if…else statement.
} The symbols in the UML activity diagram (besides the initial state,
transition arrows and final state) represent action states and decisions.
6 if…else Double-Selection
Statement (Cont.)
Nested if…else Statements
}A program can test multiple cases by placing if…else
statements inside other if…else statements to create nested
if…else statements.
}Pseudocode:
If student’s grade is greater than or equal to 90
Print “A”
else
If student’s grade is greater than or equal to 80
Print “B”
else
If student’s grade is greater than or equal to 70
Print “C”
else
If student’s grade is greater than or equal to 60
Print “D”
else
Print “F”
6 if…else Double-Selection
Statement
• This pseudocode may be written in Java as
if (studentGrade >= 90)
System.out.println("A");
else
if (studentGrade >= 80)
System.out.println("B");
else
if (studentGrade >= 70)
System.out.println("C");
else
if (studentGrade >= 60)
System.out.println("D");
else
System.out.println("F");
• If studentGrade >= 90, the first four conditions will be true,
but only the statement in the if part of the first if…else
statement will execute. After that, the else part of the
“outermost” if…else statement is skipped.
6 if…else Double-Selection
Statement (Cont.)
• Most Java programmers prefer to write the preceding
nested if…else statement as
if (studentGrade >= 90)
System.out.println("A");
else if (studentGrade >= 80)
System.out.println("B");
else if (studentGrade >= 70)
System.out.println("C");
else if (studentGrade >= 60)
System.out.println("D");
else
System.out.println("F");
• The two forms are identical except for the spacing and
indentation, which the compiler ignores.
6 if…else Double-Selection
Statement
Dangling-else Problem
}The Java compiler always associates an else with the immediately
preceding if unless told to do otherwise by the placement of braces
({ and }).
}Referred to as the dangling-else problem.
}The following code is not what it appears:
if (x > 5)
if (y > 5)
System.out.println("x and y are > 5");
else
System.out.println("x is <= 5");
}Beware! This nested if…else statement does not execute as it
appears. The compiler actually interprets the statement as
if (x > 5)
if (y > 5)
System.out.println("x and y are > 5");
else
System.out.println("x is <= 5");
6 if…else Double-Selection
Statement (Cont.)
• To force the nested if…else statement to execute as it
was originally intended, we must write it as follows:
if (x > 5)
{
if (y > 5)
System.out.println("x and y are > 5");
}
else
System.out.println("x is <= 5");
• The braces indicate that the second if is in the body of
the first and that the else is associated with the first if.
6 if…else Double-Selection
Statement
Blocks
} The if statement normally expects only one statement in its body.
} To include several statements in the body of an if (or the body of an
else for an if…else statement), enclose the statements in braces.
} Statements contained in a pair of braces (such as the body of a method)
form a block.
} A block can be placed anywhere in a method that a single statement can
be placed.
} Example: A block in the else part of an if…else statement:
if (grade >= 60)
System.out.println("Passed");
else
{
System.out.println("Failed");
System.out.println("You must take this course again.");
}
6 if…else Double-Selection
Statement
• Syntax errors (e.g., when one brace in a block is left out of the
program) are caught by the compiler.
• A logic error (e.g., when both braces in a block are left out of the
program) has its effect at execution time.
• A fatal logic error causes a program to fail and terminate prematurely.
• A nonfatal logic error allows a program to continue executing but
causes it to produce incorrect results.
6 if…else Double-Selection
Statement
Conditional operator (?:)
}Conditional operator (?:)—shorthand if…else.
}Ternary operator (takes three operands)
}Operands and ?: form a conditional expression
}Operand to the left of the ? is a boolean expression—evaluates
to a boolean value (true or false)
}Second operand (between the ? and :) is the value if the
boolean expression is true
}Third operand (to the right of the :) is the value if the
boolean expression evaluates to false.
6 if…else Double-Selection
Statement (Cont.)
• Example:
System.out.println(
studentGrade >= 60 ? "Passed" : "Failed");
• Evaluates to the string "Passed" if the boolean
expression studentGrade >= 60 is true and to
the string "Failed" if it is false.
7 Student Class: Nested
if…else Statement
Class Student
}Class Student (Fig. 4.4) stores a student’s name and average
and provides methods for manipulating these values.
}The class contains:
§ instance variable name of type String to store a Student’s name
§ instance variable average of type double to store a Student’s
average in a course
§ a constructor that initializes the name and average
§ methods setName and getName to set and get the Student’s
name
§ methods setAverage and getAverage to set and get the
Student’s average
§ method getLetterGrade (lines 49–65), which uses nested
if…else statements to determine the Student’s letter grade based
on the Student’s average
7 Student Class: Nested
if…else Statement (Cont.)
• The constructor and method setAverage each use nested if
statements to validate the value used to set the average—these
statements ensure that the value is greater than 0.0 and less than or
equal to 100.0; otherwise, average’s value is left unchanged.
7 Student Class: Nested if…else
Statement
Class StudentTest
} To demonstrate the nested if…else statements in class Student’s
getLetterGrade method, class StudentTest’s main
method creates two Student objects.
8 while Repetition Statement
• Repetition statement — repeats an action while a condition remains
true.
• Pseudocode
While there are more items on my shopping list
Purchase next item and cross it off my list

• The repetition statement’s body may be a single statement or a block.


• Eventually, the condition will become false. At this point, the
repetition terminates, and the first statement after the repetition
statement executes.
8 while Repetition Statement
• Example of Java’s while repetition statement: find the
first power of 3 larger than 100. Assume int variable
product is initialized to 3.
while (product <= 100)
product = 3 * product;
• Each iteration multiplies product by 3, so product
takes on the values 9, 27, 81 and 243 successively.
• When product becomes 243, product <= 100
becomes false.
• Repetition terminates. The final value of product is
243.
• Program execution continues with the next statement
after the while statement.
8 while Repetition Statement
UML Activity Diagram for a while Statement
}The UML activity diagram in Fig. 4.6 illustrates the flow of
control in the preceding while statement.
}The UML represents both the merge symbol and the decision
symbol as diamonds.
}The merge symbol joins two flows of activity into one.
8 while Repetition Statement
• The decision and merge symbols can be distinguished by the
number of “incoming” and “outgoing” transition arrows.
§ A decision symbol has one transition arrow pointing to the
diamond and two or more pointing out from it to indicate
possible transitions from that point. Each transition arrow
pointing out of a decision symbol has a guard condition
next to it.
§ A merge symbol has two or more transition arrows
pointing to the diamond and only one pointing from the
diamond, to indicate multiple activity flows merging to
continue the activity. None of the transition arrows
associated with a merge symbol has a guard condition.
9 Formulating Algorithms: Counter-
Controlled Repetition
• A class of ten students took a quiz. The grades (integers in the range
0-100) for this quiz are available to you. Determine the class average
on the quiz.
§ The class average is equal to the sum of the grades divided by the number of
students.
§ The algorithm for solving this problem on a computer must input each grade,
keep track of the total of all grades input, perform the averaging calculation
and print the result.

Pseudocode Algorithm with Counter-Controlled Repetition


} Use counter-controlled repetition to input the grades one at a time.
} A variable called a counter (or control variable) controls the number of
times a set of statements will execute.
} Counter-controlled repetition is often called definite repetition, because
the number of repetitions is known before the loop begins executing.
9 Formulating Algorithms: Counter-
Controlled Repetition
• A total is a variable used to accumulate the sum of several values.
• A counter is a variable used to count.
• Variables used to store totals are normally initialized to zero before being
used in a program.
9 Formulating Algorithms: Counter-
Controlled Repetition
Local Variables in Method main
} Variables declared in a method body are local variables and can be used
only from the line of their declaration to the closing right brace of the
method declaration.
} A local variable’s declaration must appear before the variable is used in
that method.
} A local variable cannot be accessed outside the method in which it’s
declared.
9 Formulating Algorithms: Counter-
Controlled Repetition
Notes on Integer Division and Truncation
} The program’s output indicates that the sum of the grade values in the
sample execution is 846, which, when divided by 10, should yield the
floating-point number 84.6.
} The result of the calculation total / 10 (line 26 of Fig. 4.8) is the
integer 84, because total and 10 are both integers.
} Dividing two integers results in integer division—any fractional part of
the calculation is truncated (i.e., lost).
9 Formulating Algorithms: Counter-
Controlled Repetition
A Note About Arithmetic Overflow
} In Fig. 4.8, line 21
total = total + grade; // add grade to total

} added each grade entered by the user to the total.


} Even this simple statement has a potential problem—adding the integers
could result in a value that’s too large to store in an int variable.
} This is known as arithmetic overflow and causes undefined behavior,
which can lead to unintended results.
9 Formulating Algorithms: Counter-
Controlled Repetition
• The maximum and minimum values that can be stored in an int
variable are represented by the constants MIN_VALUE and
MAX_VALUE, respectively, which are defined in class Integer.
• There are similar constants for the other integral types and for floating-
point types. Each primitive type has a corresponding class type in
package java.lang.
• In industrial-strength code, you should perform checks like these for all
calculations. (www.securecoding.cert.org — guideline “NUM00-J.”)
9 Formulating Algorithms: Counter-
Controlled Repetition
A Deeper Look at Receiving User Input • To ensure that inputs are valid,
• Any time a program receives input from industrial-strength programs must
the user, various problems might occur. test for all possible erroneous
For example, cases.
int grade = input.nextInt(); • A program that inputs grades
should validate the grades by
• We assume that the user will enter an using range checking to ensure
integer grade in the range 0 to 100.
that hey are values from 0 to 100.
• However, the person entering a grade • You can then ask the user to
could enter an integer less than 0, an
reenter any value that’s out of
integer greater than 100, an integer range.
outside the range of values that can be
stored in an int variable, a number • If a program requires inputs from
containing a decimal point or a value a specific set of values (e.g.,
containing letters or special symbols nonsequential product codes), you
that’s not even an integer. can ensure that each input matches
a value in the set.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• Develop a class-averaging program that processes grades for an
arbitrary number of students each time it is run.
• Sentinel-controlled repetition is often called indefinite repetition
because the number of repetitions is not known before the loop begins
executing.
• A special value called a sentinel value (also called a signal value, a
dummy value or a flag value) can be used to indicate “end of data
entry.”
• A sentinel value must be chosen that cannot be confused with an
acceptable input value.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
Developing the Pseudocode Algorithm with Top-Down, Stepwise
Refinement: The Top and First Refinement
}Top-down, stepwise refinement
}Begin with a pseudocode representation of the top—a single
statement that conveys the overall function of the program:
§ Determine the class average for the quiz
}The top is a complete representation of a program. Rarely
conveys sufficient detail from which to write a Java program.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• Divide the top into a series of smaller tasks and list these in
the order in which they’ll be performed.
• First refinement:
§ Initialize variables
Input, sum and count the quiz grades
Calculate and print the class average
• This refinement uses only the sequence structure—the steps
listed should execute in order, one after the other.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• The second refinement of the preceding pseudocode
statement is then
Prompt the user to enter the first grade
Input the first grade (possibly the sentinel)
While the user has not yet entered the sentinel
Add this grade into the running total
Add one to the grade counter
Prompt the user to enter the next grade
Input the next grade (possibly the sentinel)
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• The pseudocode statement
Calculate and print the class average
• can be refined as follows:
If the counter is not equal to zero
Set the average to the total divided by the counter
Print the average
else
Print “No grades were entered”

• Test for the possibility of division by zero—a logic error that, if


undetected, would cause the program to fail or produce invalid output.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
Program Logic for Sentinel-Controlled Repetition vs. Counter-
Controlled Repetition
} Program logic for sentinel-controlled repetition
§ Reads the first value before reaching the while.
§ This value determines whether the program’s flow of control should enter the
body of the while. If the condition of the while is false, the user entered the
sentinel value, so the body of the while does not execute (i.e., no grades were
entered).
§ If the condition is true, the body begins execution and processes the input.
§ Then the loop body inputs the next value from the user before the end of the loop.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
Explicitly and Implicitly Converting Between Primitive Types
} Integer division yields an integer result.
} To perform a floating-point calculation with integers, temporarily treat
these values as floating-point numbers for use in the calculation.
} The unary cast operator (double) creates a temporary floating-point copy
of its operand.
} Cast operator performs explicit conversion (or type cast).
} The value stored in the operand is unchanged.
} Java evaluates only arithmetic expressions in which the operands’ types
are identical.
} Promotion (or implicit conversion) performed on operands.
} In an expression containing values of the types int and double, the
int values are promoted to double values for use in the expression.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• Cast operators are available for any type.
• Cast operator formed by placing parentheses around the
name of a type.
• The operator is a unary operator (i.e., an operator that takes
only one operand).
• Java also supports unary versions of the plus (+) and minus
(–) operators.
• Cast operators associate from right to left; same precedence
as other unary operators, such as unary + and unary -.
• This precedence is one level higher than that of the
multiplicative operators *, / and %.
• Appendix A: Operator precedence chart
10 Formulating Algorithms: Sentinel-
Controlled Repetition
Floating-Point Number Precision
}Floating-point numbers are not always 100% precise, but
they have numerous applications.
}For example, when we speak of a “normal” body temperature
of 98.6, we do not need to be precise to a large number of
digits.
}Floating-point numbers often arise as a result of division,
such as in this example’s class-average calculation.
}In conventional arithmetic, when we divide 10 by 3, the
result is 3.3333333…, with the sequence of 3s repeating
infinitely.
}The computer allocates only a fixed amount of space to hold
such a value, so clearly the stored floating-point value can be
only an approximation.
10 Formulating Algorithms: Sentinel-
Controlled Repetition
• Owing to the imprecise nature of floating-point numbers,
type double is preferred over type float, because
double variables can represent floating-point numbers
more accurately.
• In some applications, the precision of float and double
variables will be inadequate.
• For precise floating-point numbers (such as those required by
monetary calculations), Java provides class BigDecimal
(package java.math), which we’ll discuss in Chapter 8.
11 Formulating Algorithms: Nested
Control Statements
• This case study examines nesting one • Your program should analyze
control statement within another. the results of the exam as
• A college offers a course that prepares follows:
students for the state licensing exam for 1. Input each test result (i.e., a 1
real-estate brokers. Last year, ten of the or a 2). Display the message
“Enter result” on the screen
students who completed this course took each time the program requests
the exam. The college wants to know another test result.
how well its students did on the exam. 2. Count the number of test
You’ve been asked to write a program results of each type.
to summarize the results. You’ve been 3. Display a summary of the test
given a list of these 10 students. Next to results, indicating the number
each name is written a 1 if the student of students who passed and the
passed the exam or a 2 if the student number who failed.
failed. 4. If more than eight students
passed the exam, print “Bonus
to instructor!”
12 Compound Assignment Operators
• Compound assignment operators abbreviate assignment expressions.
• Statements like
variable = variable operator expression;
where operator is one of the binary operators +, -, *, / or % can be
written in the form
variable operator= expression;
• Example:
c = c + 3;
can be written with the addition compound assignment operator, +=,
as
c += 3;
• The += operator adds the value of the expression on its right to the
value of the variable on its left and stores the result in the variable on
the left of the operator.
13 Increment and Decrement Operators

• Unary increment operator, ++, adds one to its operand


• Unary decrement operator, --, subtracts one from its operand
• An increment or decrement operator that is prefixed to (placed before)
a variable is referred to as the prefix increment or prefix decrement
operator, respectively.
• An increment or decrement operator that is postfixed to (placed after)
a variable is referred to as the postfix increment or postfix decrement
operator, respectively.
13 Increment and Decrement
Operators
• Using the prefix increment (or decrement) operator to add (or
subtract) 1 from a variable is known as preincrementing (or
predecrementing) the variable.
• Preincrementing (or predecrementing) a variable causes the variable
to be incremented (decremented) by 1; then the new value is used in
the expression in which it appears.
• Using the postfix increment (or decrement) operator to add (or
subtract) 1 from a variable is known as postincrementing (or
postdecrementing) the variable.
• This causes the current value of the variable to be used in the
expression in which it appears; then the variable’s value is
incremented (decremented) by 1.
4.14 Primitive Types
• Appendix D lists the eight primitive types in Java.
• Java requires all variables to have a type.
• Java is a strongly typed language.
• Primitive types in Java are portable across all platforms.
• Instance variables of types char, byte, short, int, long,
float and double are all given the value 0 by default. Instance
variables of type boolean are given the value false by default.
• Reference-type instance variables are initialized by default to the
value null.
End of
Chapter 4

You might also like