<< Chapter < Page Chapter >> Page >

The rules for legal identifiers are shown in Figure 4 .

Figure 4 . Rules for legal identifiers.
  • In Java, a legal identifier is a sequence of Unicode letters and digits of unlimited length.
  • The first character must be a letter.
  • All subsequent characters must be letters or numerals from any alphabet that Unicode supports.
  • In addition, the underscore character (_) and the dollar sign ($) are considered letters and may be used as any character including the firstone.

Scope

What is the scope of a Java variable?

The scope of a Java variable is defined by the block of code within which the variable is accessible.

(Briefly, a block of code consists of none, one, or more statements enclosed by a pair of matching curly brackets.)

The scope also determines when the variable is created (memory set aside to contain the data stored in the variable) and when it possibly becomes a candidate for destruction (memory returned to the operating system for recycling and re-use) .

Scope categories

The scope of a variable places it in one of the four categories shown in Figure 5 .

Figure 5 . Scope categories.
  • member variable
  • local variable
  • method parameter
  • exception handler parameter

Member variable

A member variable is a member of a class (class variable) or a member of an object instantiated from that class (instance variable) . It must be declared within a class, but not within the body of a method or constructor ofthe class.

Local variable

A local variable is a variable declared within the body of a method or constructor or within a block of code contained within the body of a method orconstructor.

Method parameters

Method parameters are the formal arguments of a method. Method parameters are used to pass values into and out of methods. The scope of a method parameter isthe entire method for which it is a parameter.

Exception handler parameters

Exception handler parameters are arguments to exception handlers. Exception handlers will be discussed in a future module.

Illustrating different types of variables in Java

The Java program shown in Listing 8 illustrates

  • member variables (class and instance) ,
  • local variables, and
  • method parameters.

An illustration of exception handler parameters will be deferred until exception handlers are discussed in a future module.

Listing 8 . The program named member1.
/*File member1.java Copyright 1997, R.G.Baldwin Illustrates class variables, instancevariables, local variables, and method parameters. Output from this program is:Class variable is 5 Instance variable is 6Method parameter is 7 Local variable is 8**********************************************************/ class member1 { //define the controlling class//declare and initialize class variable static int classVariable = 5;//declare and initialize instance variable int instanceVariable = 6;public static void main(String[] args){ //main methodSystem.out.println("Class variable is " + classVariable);//Instantiate an object of the class to allow for // access to instance variable and method.member1 obj = new member1(); System.out.println("Instance variable is "+ obj.instanceVariable); obj.myMethod(7); //call the method//declare and intitialize a local variable int localVariable = 8;System.out.println("Local variable is " + localVariable);}//end main void myMethod(int methodParameter){System.out.println("Method parameter is " + methodParameter);}//end myMethod }//End member1 class.

Declaration of local variables

In Java, local variables are declared within the body of a method or within a block of code contained within the body of a method.

Scope of local variables

The scope of a local variable extends from the point at which it is declared to the end of the block of code in which it is declared.

What is a "block" of code?

A block of code is defined by enclosing it within curly brackets as in { ... }.

Therefore, the scope of a local variable can be the entire method, or can reduced by declaring it within a block of code within the method.

Special case, scope within a for loop

Java treats the scope of a variable declared within the initialization clause of a for statement to be limited to the total extent of the for statement.

A future module will explain what is meant by a for statement or a for loop.

Initialization of variables

Initializing primitive local variables

Local variables of primitive types can be initialized when they are declared using statements such the one shown in Listing 9 .

Listing 9 . Initialization of variables.
int MyVar, UrVar = 6, HisVar;

Initializing member variables

Member variables can also be initialized when they are declared.

In both cases, the type of the value used to initialize the variable must match the type of the variable.

Initializing method parameters and exception handler parameters

Method parameters and exception handler parameters are initialized by the values passed to the method or exception handler by the calling program.

Run the programs

I encourage you to copy the code from Listing 1 , Listing 6 , and Listing 8 . Compile the code and execute it. Experiment with the code,making changes, and observing the results of your changes. Make certain that you can explain why your changes behave as they do.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Jb0200: Java OOP: Variables
  • File: Jb0200.htm
  • Originally published: 1997
  • Published at cnx.org: 11/18/12
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask