おぼえがき

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;