<< Chapter < Page | Chapter >> Page > |
Returning a value of type int in the for loop will satisfy the type requirement because type int will be automatically converted to type double as it is returned. (Conversion from type int to type double is a widening conversion.)
A. Compiler Error
The scope of a local variable
In general, the scope of a local variable extends from the point at which it is declared to the curly brace that signals the end of the block in which it isdeclared.
This applies to for loop in an interesting way
While it is allowable to declare a variable within the first clause of a for loop, the scope of that variable is limited to the block of code contained in the loop structure.
The variable cannot be accessed outside the loop.
Attempts to access variable out of scope
This program attempts to access the value of the variable named cnt after the loop terminates.
The program displays the following compiler error under JDK 1.3. This error results from the attempt to display the value of the counter after theloop terminates.
Ap037.java:15: cannot resolve symbol
symbol : variable cntlocation: class Worker
System.out.println(cnt + " "); |
C. 0 1 2 3 4 5
A simple for loop structure
This program illustrates a simple for loop that displays the value of its counter using a call to the print method inside the loop.
After the loop terminates, the program displays the value of the counter one last time using a call to println .
Three clauses separated by semicolons
The first line of a for loop structure always contains three clauses separated by semicolons.
The first and third clauses may be empty, but the semicolons are required in any case.
The first clause ...
The first clause is executed once and only once at the beginning of the loop.
It can contain just about any valid Java expression.
It can even contain more than one expression with the individual expression separated by commas.
When the first clause contains more than one expression separated by commas, the expressions are evaluated in left-to-right order.
The second clause
The second clause is a conditional clause. It must contain an expression that returns a boolean value.
(Actually, this clause can also be empty, in which case it is apparently assumed to be true. This leads to an infinite loop unless there is somecode inside the loop to terminate it, perhaps by executing a return or a break statement.)
An entry-condition loop
The for loop is an entry condition loop, meaning that the conditional expression is evaluated once immediately after the first clause isexecuted, and once per iteration thereafter.
Behavior of the for loop
If the conditional expression returns true, the block of code following the closing parenthesis is executed.
If it returns false, the block of code is skipped, and control passes to the first executable statement following the block of code.
(For the case where the block contains only one statement, the matching curly brackets can be omitted.)
The third clause
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?