javaの基本構造
コンパイルするとファイルの中にある、class名のファイルができる
publicにしたclassとファイル名は同じにしなければいけない
→publicにできるclassはファイルにつき1つ
public class Hello_world { public static void main(String[] args) { プログラムをここに記述する } }
変数の型
- 基本型(プリミティブ型)
- 論理型 boolean
- 整数型 byte short int long
- 浮動小数点型 float double
- 文字型 char
- 参照型
- クラス型 →データ(フィールド)と手続き(メソッド)を持つデータ
自分で作ったクラスはもちろんだがObject
クラスもしくはそれの子孫クラスや、ラッパークラスと呼ばれるInteger
,Float
,Double
,Boolean
,Character
,Byte
,Short
,Long
などもある。String
もクラス型 - インターフェース型
- 配列型
- クラス型 →データ(フィールド)と手続き(メソッド)を持つデータ
プリミティブ型は値自身を、参照型は値のある場所を保持する。
参照型は、値のある場所を保持しているため、nullを代入することができる。nullを代入すると、ガーベージコレクタ(nullが代入されたオブジェクトが使用していたメモリを自動で開放する)が働く。
プリミティブ型と参照型の違い
int a = 1;
int b = 1;
System.out.println(a == b); //true
Integer c = new Integer(1);
Integer d = new Integer(1);
System.out.println(c == d); //false
これは、int同士の == での比較は値(この場合だと1)を比較しているが、Integer(ラッパークラス)同士の ==での比較は値のある場所(この場合だと変数cと変数dの
場所)を比較しているため。
変数の宣言方法
データ型名 変数名;
boolean b;
int i;
double d;
String str;
//宣言方法1
要素の型[] 配列名;
配列名 = new 要素の型[数字];
//宣言方法2
要素の型[] 配列名 = new 要素の型[数字];
//値の代入
配列名[index] = 初期値1;
//宣言と値の代入を一緒にする
要素の型[] 配列名 = new 要素の型[]{初期値1, 初期値2, ・・・ };
要素の型[] 配列名 = {初期値1, 初期値2, ・・・ };
//宣言方法1
要素の型[][] 配列名;
配列名 = new 要素の型[行数][列数];
//宣言方法2
要素の型[][] 配列名 = new 要素の型[行数][列数];
//値の代入
配列名[index][index] = 値;
//宣言と値の代入を一緒にする
要素の型[][] 配列名 = {
{初期値1, 初期値2, ・・・ },
{初期値n, 初期値n+1, ・・・ }
};