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;
}