Java文法メモ 変数〜制御構造
Javaを使うことになったのでまとめてみました。
コメント
// comment /* 複数行comment */
変数
int i = 0; static int i = 0; //静的変数 static final float PI = 3.141592; //定数
データ型とリテラル
プリミティブなデータ型
boolean byte char short int long float double
リテラル
boolean bt = true; boolean bf = false; //boolean型 int i = 0xffff; //16進数 int i = 077; //8進数 int i = 1; //整数 long l = 1; //整数 double d = 1.0; //小数はデフォルトでdouble型 //以下各suffixについて long l = 1l;//long型 long l = 1L;//long型 float f = 1.0f; //float型 float f = 1.0F; //float型 double d = 1.0d; //double型 double d = 1.0D; //double型
小数の表記
float f = .123; float f = 1.23E2; //1.23×10^2
文字列
Stringクラスを利用
String str = "hello";
enum
enum Color{ RED, GREEN, BLUE //0から順に整数値として定義される } Color myColor = Color.RED;
配列
int[] a; //配列の宣言のみ int a[]; //配列の宣言のみ int a[] = new int[3]; //配列生成 int a[] = {1,2,3}; //配列生成&初期化 int a[] = new int[3]{1,2,3}; //配列生成&初期化 //配列の利用 a[0] = 1;
多次元配列
int[][] a2 = new int[2][2]; //2次元配列 int[][] a2 = { {1,2}, {3,4} }; int[][][] a3 = new int[2][2][2]; //3次元配列 //配列の利用 a2[0][1] = 0; a3[1][1][1] = 0;
演算子と優先順位
上から下にいくほど優先順位が低い
() [] .++ -- //後置増分・減分演算子 + - ~ ! ++ -- //+-は単項演算子 ++,--は前置増分・減分演算子 new (データ型) * / % //積商余り + - //加算,減算 << >>> //ビットシフト < > <= >= instanceof == != & ^ | && || ?: //三項演算子 = += -= *= /= %= &= ^= |= <<= >>= >>>=
制御構造
条件分岐
if (条件) { //ANDの例: a == 0 && b == 0 //文 }else if(条件){ //ORの例: a < 0 || b > 0 //文 } else { //文 }
switch (変数) { case 1: //文 break; case 2: //文 break; default: //文 break; }
繰り返し構造とbreak,continue
while ( 条件 ){ //文 break; } do { //文 continue; } while (条件); //for(初期化処理;ループ条件;増分処理) for (int i = 1; i <= 10; i++) { //文 } //foreachのような処理も記述することができる int array[] = { 1, 2, 3 }; for(x : array){ x = 0; }