Javaチュートリアル

Javaホーム Javaイントロ Javaはじめに Java構文 Javaコメント Java変数 Javaデータ型 Java型キャスト Java演算子 Java文字列 Java数学 Javaブール値 Java If ... Else Javaスイッチ JavaWhileループ JavaForループ Javaブレーク/続行 Java配列

Javaメソッド

Javaメソッド Javaメソッドパラメータ Javaメソッドのオーバーロード Javaスコープ Java再帰

Javaクラス

Java OOP Javaクラス/オブジェクト Javaクラス属性 Javaクラスメソッド Javaコンストラクタ Java修飾子 Javaカプセル化 Javaパッケージ/ API Javaの継承 Javaポリモーフィズム Java内部クラス Java抽象化 Javaインターフェイス Java列挙型 Javaユーザー入力 Java日付 Java ArrayList Java LinkedList Java HashMap Java HashSet Javaイテレータ Javaラッパークラス Javaの例外 Java RegEx Javaスレッド Javaラムダ

Javaファイル処理

Javaファイル Javaのファイルの作成/書き込み Java読み取りファイル Javaファイルの削除

Javaハウツー

2つの数字を追加する

Javaリファレンス

Javaキーワード Java文字列メソッド Java数学メソッド

Javaの例

Javaの例 Javaコンパイラ Java演習 Javaクイズ Java証明書


Javaスコープ


Javaスコープ

Javaでは、変数は作成された領域内でのみアクセスできます。これは スコープと呼ばれます。


メソッドスコープ

メソッド内で直接宣言された変数は、宣言されたコード行に続くメソッド内のどこでも使用できます。

public class Main {
  public static void main(String[] args) {

    // Code here CANNOT use x

    int x = 100;

    // Code here can use x
    System.out.println(x);
  }
}


ブロックスコープ

コードのブロックは、中括弧で囲まれたすべてのコードを指します{}コードのブロック内で宣言された変数は、変数が宣言された行に続く中括弧の間のコードによってのみアクセスできます。

public class Main {
  public static void main(String[] args) {

    // Code here CANNOT use x

    { // This is a block

      // Code here CANNOT use x

      int x = 100;

      // Code here CAN use x
      System.out.println(x);

   } // The block ends here

  // Code here CANNOT use x

  }
}

ifコードのブロックは、それ自体で存在する場合もあれば、、、whileまたはforステートメントに属する場合もあります。ステートメントの場合for、ステートメント自体で宣言された変数は、ブロックのスコープ内でも使用できます。