変数
日本語 | 変数 |
英語 | variable |
ふりがな | へんすう |
フリガナ | 変数 |
値を入れる「箱」。
整数値や実数値を入れて、計算に使用したり、計算結果を入れて取っておくことができる。
また、インスタンスへの参照を格納し、メソッドの呼び出し等を行うことができる。
変数を作成することを「変数を宣言する」という。
変数宣言は「型 変数名;」と書く。
たとえば「int i;」という形式で変数宣言を行うことができ、この「i」が変数となる。
変数は、「変数に入れられる値の種類」が決まっており、その種類を「型」と言う。
上記の例では「int」が「変数i」の型である。これにより、変数iにはint型が定める「-2147483648~2147483647の範囲内の整数値」のみ格納できる。
変数に値を入れる時には、=演算子を使用して「初期化」もしくは「代入」を行う。
たとえば「i = 100;」とすれば、変数iに整数値100が入る。これが「代入」である。
また「int i = 100;」とすれば、変数iが作られると同時に整数値100が入る。これが「初期化」である。
変数内の値は、演算子に渡したりメソッドの引数に渡せば自動的に取得できる。
たとえば「int i2 = i;」とすれば、変数iの中に入ってる値を取得し、変数i2に入れることになる。
この時、変数iの中の値はなくならない。変数に入っている値のコピーが作られてそれが使用されると考えるといいだろう。
型は以下の2種類存在する。
・プリミティブ型
・参照型
プリミティブ型はint型やdouble型、boolean型のことで、これらの型で宣言された変数は整数値、実数値(浮動小数点)、論理値を格納できる。
参照型は、クラスや配列の「インスタンス」を参照するための型である。インスタンスは参照を通してのみ使用することができ、通常は参照型変数を宣言して参照を入れてから使用する。
詳しくは「型」「プリミティブ型」「参照」「クラス」「インタフェース」「配列」を参照。
変数は以下の2種類存在する。
・ローカル変数
・フィールド
ローカル変数はメソッドやブロックの中で宣言された変数で、そのメソッドやブロックから出るとなくなる。
フィールドはクラス内で宣言された変数で、インスタンス内に存在する。そのためインスタンスがなくならない限りインスタンス内のフィールドもなくならない。
詳しくは「ローカル変数」「フィールド」を参照のこと。
ローカル変数とフィールドはそれぞれ「寿命」や「スコープ」が異なる。またフィールドはアクセス修飾子によって「スコープ」が変化する。
また、「ローカル変数」「フィールド」以外にも、「引数」及び「catch」でも変数を宣言することが可能。これらはローカル変数とほとんど同じ性質を持つ。
このように、変数は「どのようなシチュエーションで宣言されるか」によって性質が異なる。
変数を使用する際には「その変数がどの型によってどこで宣言されたのか」を意識すると使いやすくなるだろう。
整数値や実数値を入れて、計算に使用したり、計算結果を入れて取っておくことができる。
また、インスタンスへの参照を格納し、メソッドの呼び出し等を行うことができる。
変数を作成することを「変数を宣言する」という。
変数宣言は「型 変数名;」と書く。
たとえば「int i;」という形式で変数宣言を行うことができ、この「i」が変数となる。
変数は、「変数に入れられる値の種類」が決まっており、その種類を「型」と言う。
上記の例では「int」が「変数i」の型である。これにより、変数iにはint型が定める「-2147483648~2147483647の範囲内の整数値」のみ格納できる。
変数に値を入れる時には、=演算子を使用して「初期化」もしくは「代入」を行う。
たとえば「i = 100;」とすれば、変数iに整数値100が入る。これが「代入」である。
また「int i = 100;」とすれば、変数iが作られると同時に整数値100が入る。これが「初期化」である。
変数内の値は、演算子に渡したりメソッドの引数に渡せば自動的に取得できる。
たとえば「int i2 = i;」とすれば、変数iの中に入ってる値を取得し、変数i2に入れることになる。
この時、変数iの中の値はなくならない。変数に入っている値のコピーが作られてそれが使用されると考えるといいだろう。
型は以下の2種類存在する。
・プリミティブ型
・参照型
プリミティブ型はint型やdouble型、boolean型のことで、これらの型で宣言された変数は整数値、実数値(浮動小数点)、論理値を格納できる。
参照型は、クラスや配列の「インスタンス」を参照するための型である。インスタンスは参照を通してのみ使用することができ、通常は参照型変数を宣言して参照を入れてから使用する。
詳しくは「型」「プリミティブ型」「参照」「クラス」「インタフェース」「配列」を参照。
変数は以下の2種類存在する。
・ローカル変数
・フィールド
ローカル変数はメソッドやブロックの中で宣言された変数で、そのメソッドやブロックから出るとなくなる。
フィールドはクラス内で宣言された変数で、インスタンス内に存在する。そのためインスタンスがなくならない限りインスタンス内のフィールドもなくならない。
詳しくは「ローカル変数」「フィールド」を参照のこと。
ローカル変数とフィールドはそれぞれ「寿命」や「スコープ」が異なる。またフィールドはアクセス修飾子によって「スコープ」が変化する。
また、「ローカル変数」「フィールド」以外にも、「引数」及び「catch」でも変数を宣言することが可能。これらはローカル変数とほとんど同じ性質を持つ。
このように、変数は「どのようなシチュエーションで宣言されるか」によって性質が異なる。
変数を使用する際には「その変数がどの型によってどこで宣言されたのか」を意識すると使いやすくなるだろう。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// int型変数を「宣言」します。
int i;
// この「変数i」が、値を入れる「箱」になります。
// この変数に整数値100を入れます。
i = 100;
// それを取り出し、出力します。
System.out.println( i );
// 100
// このように、変数は値を入れる「箱」です。
// また、この変数はint型を使って宣言しているので、
// -2147483648~2147483647の範囲内の整数値を格納
// することができます。
// また、変数iの中の値を取り出しても、なくなることは
// ありません。
// たとえば、以下の例では変数iの中の値は100のままです。
int i2 = i;
System.out.println( i );
System.out.println( i2 );
// 100
// 100
// 変数を作る「型」にはプリミティブ型と参照型が
// あります。
// プリミティブ型は上記のint型が該当します。
// 参照型はクラスや配列のインスタンスを参照するための
// 変数です。
// たとえば以下の例はStringBufferクラスの参照型変数を
// 宣言する例です。
StringBuffer strbuf;
// ただし、strbuf変数はまだ参照を入れていないため、
// このままでは使えません。使用するためにはインスタンスを
// 作成して、その参照を入れる必要があります。
// 以下の例は、StringBufferクラスのインスタンスを作り
// その参照をstrbuf変数に代入する例です。
strbuf = new StringBuffer();
// これで、strbuf変数を通してStringBufferクラスの
// インスタンスを操作することができます。
strbuf.append( "あいうえお" );
strbuf.append( "かきくけこ" );
System.out.println( strbuf );
// あいうえおかきくけこ
// 変数には「ローカル変数」「フィールド」の2種類あります。
// ローカル変数はメソッド内の変数のことで、ここまで出てきた
// 変数i、変数i2、変数strbufがローカル変数です。
// フィールドはクラスで宣言された変数のことで、インスタンス内に
// 存在します。
// たとえば、以下の例はHasFieldクラスのpublicFieldフィールドを
// 使用する例です。
HasField hasField = new HasField();
hasField.publicField = 200;
System.out.println( hasField.publicField );
// 200
}
}
/**
* フィールドを持つクラス。
*/
class HasField
{
/**
* ↓これがフィールドです。
*/
public int publicField;
}
public class Sample
{
public static void main( String[] args )
{
// int型変数を「宣言」します。
int i;
// この「変数i」が、値を入れる「箱」になります。
// この変数に整数値100を入れます。
i = 100;
// それを取り出し、出力します。
System.out.println( i );
// 100
// このように、変数は値を入れる「箱」です。
// また、この変数はint型を使って宣言しているので、
// -2147483648~2147483647の範囲内の整数値を格納
// することができます。
// また、変数iの中の値を取り出しても、なくなることは
// ありません。
// たとえば、以下の例では変数iの中の値は100のままです。
int i2 = i;
System.out.println( i );
System.out.println( i2 );
// 100
// 100
// 変数を作る「型」にはプリミティブ型と参照型が
// あります。
// プリミティブ型は上記のint型が該当します。
// 参照型はクラスや配列のインスタンスを参照するための
// 変数です。
// たとえば以下の例はStringBufferクラスの参照型変数を
// 宣言する例です。
StringBuffer strbuf;
// ただし、strbuf変数はまだ参照を入れていないため、
// このままでは使えません。使用するためにはインスタンスを
// 作成して、その参照を入れる必要があります。
// 以下の例は、StringBufferクラスのインスタンスを作り
// その参照をstrbuf変数に代入する例です。
strbuf = new StringBuffer();
// これで、strbuf変数を通してStringBufferクラスの
// インスタンスを操作することができます。
strbuf.append( "あいうえお" );
strbuf.append( "かきくけこ" );
System.out.println( strbuf );
// あいうえおかきくけこ
// 変数には「ローカル変数」「フィールド」の2種類あります。
// ローカル変数はメソッド内の変数のことで、ここまで出てきた
// 変数i、変数i2、変数strbufがローカル変数です。
// フィールドはクラスで宣言された変数のことで、インスタンス内に
// 存在します。
// たとえば、以下の例はHasFieldクラスのpublicFieldフィールドを
// 使用する例です。
HasField hasField = new HasField();
hasField.publicField = 200;
System.out.println( hasField.publicField );
// 200
}
}
/**
* フィールドを持つクラス。
*/
class HasField
{
/**
* ↓これがフィールドです。
*/
public int publicField;
}
// Sample.java public class Sample { public static void main( String[] args ) { // int型変数を「宣言」します。 int i; // この「変数i」が、値を入れる「箱」になります。 // この変数に整数値100を入れます。 i = 100; // それを取り出し、出力します。 System.out.println( i ); // 100 // このように、変数は値を入れる「箱」です。 // また、この変数はint型を使って宣言しているので、 // -2147483648~2147483647の範囲内の整数値を格納 // することができます。 // また、変数iの中の値を取り出しても、なくなることは // ありません。 // たとえば、以下の例では変数iの中の値は100のままです。 int i2 = i; System.out.println( i ); System.out.println( i2 ); // 100 // 100 // 変数を作る「型」にはプリミティブ型と参照型が // あります。 // プリミティブ型は上記のint型が該当します。 // 参照型はクラスや配列のインスタンスを参照するための // 変数です。 // たとえば以下の例はStringBufferクラスの参照型変数を // 宣言する例です。 StringBuffer strbuf; // ただし、strbuf変数はまだ参照を入れていないため、 // このままでは使えません。使用するためにはインスタンスを // 作成して、その参照を入れる必要があります。 // 以下の例は、StringBufferクラスのインスタンスを作り // その参照をstrbuf変数に代入する例です。 strbuf = new StringBuffer(); // これで、strbuf変数を通してStringBufferクラスの // インスタンスを操作することができます。 strbuf.append( "あいうえお" ); strbuf.append( "かきくけこ" ); System.out.println( strbuf ); // あいうえおかきくけこ // 変数には「ローカル変数」「フィールド」の2種類あります。 // ローカル変数はメソッド内の変数のことで、ここまで出てきた // 変数i、変数i2、変数strbufがローカル変数です。 // フィールドはクラスで宣言された変数のことで、インスタンス内に // 存在します。 // たとえば、以下の例はHasFieldクラスのpublicFieldフィールドを // 使用する例です。 HasField hasField = new HasField(); hasField.publicField = 200; System.out.println( hasField.publicField ); // 200 } } /** * フィールドを持つクラス。 */ class HasField { /** * ↓これがフィールドです。 */ public int publicField; }
「みだし」に含まれているページ
「解説」に含まれているページ
- !=演算子
- !演算子
- #
- %=演算子
- &&
- &=演算子
- *=演算子
- ++
- ++演算子
- +=演算子
- +演算子
- ,
- --
- --演算子
- -=演算子
- -演算子
- .
- /=演算子
- 0x
- 0X
- 16進数
- 2進数
- 8進数
- <%@ page isErrorPage
- <<=演算子
- <<演算子
- <jsp:useBean>
- ==演算子
- =演算子
- >>=演算子
- >>>=演算子
- >>>演算子
- >>演算子
- [
- ^=演算子
- args
- ArrayStoreException
- BigDecimal
- boolean
- byte
- ByteArrayInputStream
- ByteArrayOutputStream
- C++言語
- case
- catch
- char
- clone
- close
- const
- C言語
- default
- equals
- exception
- final
- final変数
- for
- forステートメント
- for初期化ステートメント
- goto
- HttpServletRequest
- instanceof
- int
- Iterable<T>
- JAVA_HOME
- JavaBeans
- JRE
- JSP
- JspWriter
- JSP宣言
- JSP式
- JSP暗黙オブジェクト
- JSP暗黙オブジェクト「application」
- JSP暗黙オブジェクト「config」
- JSP暗黙オブジェクト「exception」
- JSP暗黙オブジェクト「out」
- JSP暗黙オブジェクト「pageContext」
- JSP暗黙オブジェクト「request」
- JSP暗黙オブジェクト「response」
- JSP暗黙オブジェクト「session」
- LineNumberInputStream
- long
- main
- null
- NullPointerException
- OutOfMemoryError
- PageContext
- PreparedStatement
- ServletContext
- short
- size
- StackOverflowError
- Statement
- static final
- staticコンテキスト
- staticフィールド
- staticローカル変数
- static変数
- StringBufferInputStream
- superフィールド
- switch
- switchステートメント
- synchronizedブロック
- System.err
- System.out
- TestCase
- this
- toString
- Unicode
- void
- |=演算子
- ~演算子
- 「D」
- 「d」
- 「F」
- 「L」
- アサーション
- アップキャスト
- アドレス
- アンボクシング変換
- インスタンス
- インスタンスは不変
- インスタンスフィールド
- インスタンス変数
- インターフェイス
- オブジェクト型
- オブジェクト指向
- オペランド
- オートボクシング
- ガベージコレクション
- キャスト
- キャスト演算子
- クラス
- クラス変数
- クラス定義
- グローバル
- グローバル変数
- シンボル
- ジェネリッククラス
- ジェネリックメソッド
- スクリプトレット
- スコープ
- スタック
- スタックトレース
- スタック領域
- ステートメント
- スペース
- セッションスコープ
- ダウンキャスト
- ダンプ
- デッドロック
- デバッガ
- デバッグ
- デフォルト
- ナローイング変換
- バイト
- バグ
- バッファ
- バッファアンダーフロー
- バッファオーバーフロー
- ビット
- ビットフラグ
- フィールド
- フィールド修飾子
- フィールド変数
- フィールド宣言
- ブレークポイント
- ブロック
- プリインクリメント演算子
- プリデクリメント演算子
- プリミティブ型
- プロパティ
- ボクシング変換
- ポストインクリメント演算子
- ポストデクリメント演算子
- ポリモーフィズム
- マルチスレッド
- メソッド
- メンバ
- メンバ変数
- メンバ関数
- ラッパー
- リクエストスコープ
- リテラル
- ログ
- ローカルクラス
- ローカル変数
- ローカル変数宣言
- ローカル変数宣言ステートメント
- ワイドニング変換
- 三項演算子
- 予約語
- 二次元配列
- 二項演算子
- 代入
- 内部クラス
- 再帰呼び出し
- 分岐
- 初期値
- 初期化
- 前置インクリメント演算子
- 副作用
- 匿名クラス
- 半角
- 半角カタカナ
- 単項+演算子
- 単項-演算子
- 単項演算子
- 参照
- 同期
- 型
- 型変換
- 変数
- 変数宣言
- 定数
- 定数式
- 宣言
- 寿命
- 属性
- 引数
- 後置インクリメント演算子
- 拡張for
- 数値格上げ変換
- 整数
- 整数リテラル
- 文字
- 文字コード
- 文字リテラル
- 文字列リテラル
- 桁溢れ
- 構造体
- 標準エラー出力
- 標準出力
- 浅いコピー
- 浮動小数点
- 浮動小数点リテラル
- 深いコピー
- 添え字
- 演算
- 無限ループ
- 環境変数
- 真偽値
- 符号
- 自然数
- 評価
- 論理否定
- 論理和
- 論理積
- 識別子
- 配列
- 配列初期化子
「サンプルプログラムとか」に含まれているページ
- !=演算子
- %=演算子
- &=演算子
- &演算子
- *=演算子
- *演算子
- ++
- ++演算子
- +=演算子
- +演算子
- ,
- --演算子
- -=演算子
- -演算子
- /=演算子
- /演算子
- 0x
- 10進数
- 16進数
- 2の補数
- 2進数
- 8進数
- <%
- <%! %>
- <%= %>
- <<=演算子
- <<演算子
- <=演算子
- <jsp:useBean>
- <演算子
- ==演算子
- =演算子
- >=演算子
- >>=演算子
- >>>=演算子
- >>>演算子
- >>演算子
- >演算子
- [
- ]
- ^=演算子
- ^演算子
- boolean
- booleanリテラル
- byte
- C++言語
- char
- Class
- close
- const
- double
- EOF
- EOFException
- false
- FileInputStream
- FileOutputStream
- FileReader
- final変数
- float
- for
- forステートメント
- for初期化ステートメント
- HashMap
- Identifier
- instanceof
- int
- InvocationTargetException
- J2SE
- JAVA_HOME
- JavaBeans
- Java仮想マシン
- JSP
- JspWriter
- JSP宣言
- JSP式
- JSP暗黙オブジェクト
- JSP暗黙オブジェクト「out」
- JUnit
- long
- Map
- NaN
- new
- null
- out
- Serializable
- short
- StackOverflowError
- static final
- staticコンテキスト
- staticローカル変数
- static変数
- strictfp
- substring
- synchronizedブロック
- TestCase
- this
- toString
- transient
- true
- Unicode
- unsigned
- void
- |=演算子
- |演算子
- ~演算子
- 「D」
- 「d」
- 「F」
- 「f」
- 「L」
- 「偽」
- 「真」
- アンボクシング変換
- インクリメント
- インスタンスは不変
- インスタンス変数
- オブジェクト型
- オブジェクト指向
- オートボクシング
- オーバーライド
- ガベージコレクション
- クラス
- クラス変数
- グローバル変数
- コンソール
- コンパイルタイムエラー
- ジェネリッククラス
- ジェネリックメソッド
- スクリプトレット
- スコープ
- スタックトレース
- スタック領域
- ステートメント
- スレッド
- セッションスコープ
- ダンプ
- テキストファイル
- テストファースト
- デクリメント
- バイアス
- バイト
- バイト入力ストリーム
- バイト出力ストリーム
- バイナリーファイル
- バッファ
- ビット
- ビットシフト演算子
- ビットフラグ
- フィールド
- フィールド修飾子
- フィールド変数
- ブレークポイント
- ブロック
- プリインクリメント演算子
- プリデクリメント演算子
- プリミティブ型
- プログラム
- ボクシング変換
- ポストインクリメント演算子
- ポストデクリメント演算子
- ポリモーフィズム
- マルチスレッド
- メンバ
- メンバ変数
- メンバ関数
- ラッパー
- リクエストスコープ
- リテラル
- リフレクション
- ロック
- ローカルクラス
- ローカル変数
- ローカル変数宣言
- ローカル変数宣言ステートメント
- 予約語
- 代入
- 代入演算子
- 仮数部
- 初期値
- 初期化
- 副作用
- 動的
- 動的束縛
- 匿名クラス
- 半角カタカナ
- 半角英数字
- 単純代入演算子
- 単項+演算子
- 単項-演算子
- 参照
- 型
- 変数
- 変数宣言
- 定数
- 定数式
- 宣言
- 寿命
- 引数
- 戻り値
- 指数部
- 整数
- 整数リテラル
- 文字
- 文字コード
- 文字リテラル
- 文字入力ストリーム
- 文字列リテラル
- 文字化け
- 桁溢れ
- 桁落ち
- 標準入出力
- 標準出力
- 浮動小数点
- 浮動小数点リテラル
- 添え字
- 無理数
- 無限大
- 環境変数
- 直列化
- 真偽値
- 算術右シフト
- 自然数
- 複合代入演算子
- 評価
- 論理値
- 論理右シフト
- 識別子
- 配列初期化子