変数のスコープ


  Share  
|


変数のスコープは、その変数が属する領域では、その地域に指定されることが宣言している。 次の例のコードを含む2つの変数を宣言し、 1つ1つの内側と外側にあるコードブロックのコードブロックして(想像して、コードを入力すると、メソッドは、メインのような例) 。

  int外= 10 ; ( int内側= 5 ; / /外では、このコードのブロック内に有効な内部=外部; )外= 5 ; / /ここで内部にアクセスすることはできません 

この変数にアクセスすることはできませんどこでも内側のコードブロックの外で宣言していたので、これは、変数のスコープ外です。 単にその変数が存在しないの内側のコードブロックの外です。 したがって、これは本当のすべてのコードブロックは、そのようなものに属している間、 forループやifとelseのステートメントおよびメソッドです。

たとえば、これを見てループ:

  ( intカウンター= 0 ;カウンター< 5 ;カウンター+ + ) ( system.out.println ( "カウンター= " +カウンター) ; ) 

カウンターは、変数のスコープを宣言し、ループのコードブロック;て、このコードブロックの中にのみ存在するとしてアクセスすることはできませんが、コードをさらに外には、コードブロックです。 カウンターにアクセスする場合は、変数の後半では、そのコードを実装してこのようなコード:

  intカウンタ;用(カウンター= 0 ;カウンター< 5 ;カウンター+ + ) ( system.out.println ( "カウンター= " +カウンター) ; ) system.out.println ( "カウンターの最終的な値= " +カウンター) ; 

ここで我々だけで、変数を宣言し、次にカウンターの前にループを使用することで、 forループは、同じ方法ではありませんが、今回我々は、それを宣言するための最初の段階では、ループしています。 その後、外では、 forループのコードブロックは、我々の変数にアクセスすることができますので、カウンターで宣言されてこのエリアの範囲内でのです。

メソッド内で宣言する変数は、ローカル変数として知られ、そのメソッドと、メソッドの外には存在しません。

これは、記事に追加されたc.ガブリエラペレス

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions