基本データ型
型 | 内容 |
---|---|
char | 16ビットUnicodeキャラクタデータ |
boolean | 真偽値 (true or false) |
byte | 8bit符号付き整数 |
short | 8bit符号付き整数 |
int | 32bit符号付き整数 |
long | 64bit符号付き整数 |
float | 32bit符号付き浮動小数点数 |
double | 64bit符号付き浮動小数点数 |
public class Main1 {
public static void main(String[] args) {
// (1) プリミティブ型の宣言と初期化
int a = 0;
int b = 1;
System.out.println("a: " + a);
System.out.println("b: " + b);
// (2) プリミティブ型の代入
b = a;
System.out.println("a: " + a);
System.out.println("b: " + b);
// (3) プリミティブ型の代入
a = 2;
System.out.println("a: " + a);
System.out.println("b: " + b);
}
}
public static void main(String[] args) {
int a = 1;
int b = a;
b = 2;
System.out.println(a);
System.out.println(b);
}
1
2
参照型
public static void main(String[] args) {
int[] a = {1, 2, 3};
int[] b = a;
b[0] = 5;
System.out.println(a[0]);
System.out.println(b[0]);
}
5
5
配列aもbも同じメモリの番地を表すので配列の要素は関係ない
クラスの場合
/**
* 円を表すクラス
*/
public class Circle {
/** 半径を表すフィールド */
public int radius;
}
public class Main2 {
public static void main(String[] args) {
// (4) 参照型のインスタンス化とフィールドへの代入
Circle c1 = new Circle();
c1.radius = 0;
Circle c2 = new Circle();
c2.radius = 1;
System.out.println("c1.radius: " + c1.radius);
System.out.println("c2.radius: " + c2.radius);
// (5) 参照型の代入
c2 = c1;
System.out.println("c1.radius: " + c1.radius);
System.out.println("c2.radius: " + c2.radius);
// (6) 参照型のフィールドに代入
c1.radius = 2;
System.out.println("c1.radius: " + c1.radius);
System.out.println("c2.radius: " + c2.radius);
}
}
c1.radius:0
c2.radius:1
c1.radius:0
c2.radius:0
c1.radius:2
c2.radius:2
参考
http://teachingprogramming.net/archives/647
https://nobuo-create.net/sanshougata/