Is the scope of a local variable always the entire body of a method?

Answer:

No — the scope starts where the variable was declared and continues to the end of its block. Sometimes a local variable is declared in the middle of a block, close to the statement which first uses it.

Can't use the Same Name in the Same Scope

It is a mistake to use the same identifier twice in the same scope. For example, the following is a mistake:

class CheckingAccount
{
  . . . .
  private int    balance;

  void processCheck( int  amount  )
  {                          
    int amount;    

    incrementUse();
    if ( balance < 100000 )
      charge = 15; 
    else
      charge = 0;

    balance =  balance -  amount  - amount  ;
  } 

}

The scope of the formal parameter amount overlaps the scope of the local variable (also named amount), so this is a mistake. This is a different situation than a previous example where two methods used the same name for their formal parameters. In that situation the scopes did not overlap and there was no confusion.

QUESTION 10:

Can the same identifier be used as a name for a local variable in two different methods?