Popular Posts

Monday, February 23, 2009

Exercise 9.7: Scope Of a Variable

Introduction:

In this exercise, you will exercise the concept scope variable.

Steps to follow:

1. Write ScopeOfVariable.java as shown in Code-9.7.a below. (You are welcome to do this work using either command line tools or NetBeans. The instruction here is given using command line tools. In general, using NetBeans is highly recommended.)

* cd \myjavaprograms
* jedit ScopeOfVariable.java


public class ScopeOfVariable {

public static void main( String[] args ){

int var1 = 10;

if (var1 < 100){
int var2 = 20;
}
else {
int var2 = 21;
}

// Access to var1 is allowed so no compile error.
System.out.println ("value of var1 = " + var1);

// Access to var2 is not allowed so compile error will be generated
System.out.println ("value of var2 = " + var2);

}

}
Code 9.1.a: ClassAndObject

2. Compile the code

* javac ScopeOfVariable.java

3. You should experience a compile problem as following. The problem is the var2's scope is only within the closest { } and cannot be used

* C:\myjavaprograms>javac ScopeOfVariable.java
ScopeOfVariable.java:18: cannot find symbol
symbol : variable var2
location: class ScopeOfVariable
System.out.println ("value of var2 = " + var2);
^
1 error

4. Modify the code as as shown in Code-9.7.b below. . The code fragment that is modified is highlighed with bold font.

public class ScopeOfVariable {

public static void main( String[] args ){

int var1 = 10;
int var2 = 15;

if (var1 < 100){
var2 = 20;
int var3 = 40;
System.out.println ("value of var3 = " + var3);
}
else {
var2 = 21;
}

// Access to var1 is allowed so no compile error.
System.out.println ("value of var1 = " + var1);

// Access to var2 is not allowed so compile error will be generated
System.out.println ("value of var2 = " + var2);

}

}
Code-9.7.b: Modified ScopeOfVariable.java

5. Compile and run the code

* javac ScopeOfVariable.java
* java -classpath . ScopeOfVariable

6. Verify the result is as following.

* C:\myjavaprograms>java -classpath . ScopeOfVariable
value of var3 = 40
value of var1 = 10
value of var2 = 20

No comments:

Post a Comment