おぼえがき
int i=1,j=3;として…
数値だけの計算式
System.out.println(i + j);
だと4と出力する。
加算している。
文字列と数値の計算式
System.out.println("文字列" + i + j);
だと文字列13と出力する。
連結している。
文字と数値の計算式
System.out.println('a' + i + j);
だと101だと出力する。
加算している。
int i=1;
double d=0.2;として…
計算で精度が落ちるとエラーになる。
int j=i+d;
では、足し算をした結果、実数を整数の変数に代入しようとするため、数値の精度が落ちてエラーになる。
double m=i+d;
では、精度が上がるが、上がる分には問題ないため、エラーにはならない。
double d=10/3;
だと、3.0と出力する。3.33…じゃない。
演算子/で整数同士の割り算をすると、整数の商が代入される。
さらに、double型の変数に代入するため、精度が上がって3.0となる。
ちなみに
int i=10/3;
とすると、3と出力した。
3.33…と出力させたい場合は、計算に実数を混ぜる。
以下が例。
double d=10.0/3;
double d=10/3.0;
double d=10.0/3.0;