代入
日本語 | 代入 |
英語 | assignment |
ふりがな | だいにゅう |
フリガナ | ダイニュウ |
変数に値を入れること。
「=演算子」を用いて、「変数名 = 値」とすることで、「変数名」変数に「値」を格納することができる。これが「代入」である。
この変数に値がセットされることで、後で値を取得することができる。
「変数名A = 変数名B」という場合、「変数名B」の値はそのまま残る。
代入は、代入する値の「コピー」を格納するため、コピー元になんの影響も与えない。
たまに、変数のイメージを「箱」で表現する解説書があるが、そのイメージだと箱の値を代入したときに元の箱の値がなくなってしまうことになる。しかし実際には「値のコピー」が渡されるだけである。
そう考えると、変数のイメージは「紙」であり、代入とは「書かれている数字を書き写す」ことを指す、という方が近いだろう。
「+=演算子」等の、以下の演算子も代入を行う。
・=演算子
・+=演算子
・-=演算子
・*=演算子
・/=演算子
・&=演算子
・|=演算子
・^=演算子
・%=演算子
・<<=演算子
・>>=演算子
・>>>=演算子
これらの演算子は、「=」の左側の演算子による演算を両オペランドで行ったあと、左オペランドに代入する。
演算子に「=」が含まれているからと言って、「<=演算子」等の評価を行う演算子は代入を行わないため注意。
「=演算子」を用いて、「変数名 = 値」とすることで、「変数名」変数に「値」を格納することができる。これが「代入」である。
この変数に値がセットされることで、後で値を取得することができる。
「変数名A = 変数名B」という場合、「変数名B」の値はそのまま残る。
代入は、代入する値の「コピー」を格納するため、コピー元になんの影響も与えない。
たまに、変数のイメージを「箱」で表現する解説書があるが、そのイメージだと箱の値を代入したときに元の箱の値がなくなってしまうことになる。しかし実際には「値のコピー」が渡されるだけである。
そう考えると、変数のイメージは「紙」であり、代入とは「書かれている数字を書き写す」ことを指す、という方が近いだろう。
「+=演算子」等の、以下の演算子も代入を行う。
・=演算子
・+=演算子
・-=演算子
・*=演算子
・/=演算子
・&=演算子
・|=演算子
・^=演算子
・%=演算子
・<<=演算子
・>>=演算子
・>>>=演算子
これらの演算子は、「=」の左側の演算子による演算を両オペランドで行ったあと、左オペランドに代入する。
演算子に「=」が含まれているからと言って、「<=演算子」等の評価を行う演算子は代入を行わないため注意。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int i1;
// =演算子を用いて、変数i1に100を代入します。
i1 = 100;
// 出力します。
System.out.println( i1 );
// 100
// 初期化時にも=演算子を使用しますが、
// これが「代入か」というと少し微妙です。
// ただし、動作としてはほぼ代入と同じです。
int i2 = 200;
System.out.println( i2 );
// 200
// 代入は、右オペランドの値の「コピー」を
// 左オペランドの変数に格納することを言います。
// そのため、右オペランドの値に影響はありません。
i1 = i2;
System.out.println( i1 );
System.out.println( i2 );
// 200
// 200
// +=演算子等も代入を行う演算子です。
i2 += 100;
System.out.println( i2 );
// 300
}
}
public class Sample
{
public static void main( String[] args )
{
int i1;
// =演算子を用いて、変数i1に100を代入します。
i1 = 100;
// 出力します。
System.out.println( i1 );
// 100
// 初期化時にも=演算子を使用しますが、
// これが「代入か」というと少し微妙です。
// ただし、動作としてはほぼ代入と同じです。
int i2 = 200;
System.out.println( i2 );
// 200
// 代入は、右オペランドの値の「コピー」を
// 左オペランドの変数に格納することを言います。
// そのため、右オペランドの値に影響はありません。
i1 = i2;
System.out.println( i1 );
System.out.println( i2 );
// 200
// 200
// +=演算子等も代入を行う演算子です。
i2 += 100;
System.out.println( i2 );
// 300
}
}
// Sample.java public class Sample { public static void main( String[] args ) { int i1; // =演算子を用いて、変数i1に100を代入します。 i1 = 100; // 出力します。 System.out.println( i1 ); // 100 // 初期化時にも=演算子を使用しますが、 // これが「代入か」というと少し微妙です。 // ただし、動作としてはほぼ代入と同じです。 int i2 = 200; System.out.println( i2 ); // 200 // 代入は、右オペランドの値の「コピー」を // 左オペランドの変数に格納することを言います。 // そのため、右オペランドの値に影響はありません。 i1 = i2; System.out.println( i1 ); System.out.println( i2 ); // 200 // 200 // +=演算子等も代入を行う演算子です。 i2 += 100; System.out.println( i2 ); // 300 } }