Javaの計算のサンプルです。
目次
計算 | 数値の演算 |
代入演算子 | |
インクリメント(++) | |
デクリメント(--) | |
最大値と最小値 | |
偶数か奇数か判定する | |
数値に変換 | 文字列を数値に変換する |
数値の演算
数値の演算のサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//足し算
System.out.println(6 + 3); //9
//引き算
System.out.println(6 - 3); //3
//掛け算
System.out.println(6 * 3); //18
//割り算
System.out.println(6 / 3); //2
//割り算の余りがある場合
System.out.println(5 / 3); //1
//割り算の余りを求める
System.out.println(5 % 3); //2
//べき乗
double num1 = Math.pow(2, 4);
System.out.println(num1); //16.0
int num2 = (int)num1;
System.out.println(num2); //16
// 絶対値
System.out.println(Math.abs(-10));//10
}
}
22行目の%は、割り算の余りを求めます。
25行目は、べき乗です。1 つ目の数値を 2 つ目の数値でべき乗します(2*2*2*2=16)。
powメソッドの戻り値はdouble型で、16.0です。
27行目は、double型をint型に変換しています。値は16になります。
オペランドと演算子の関係
「6 + 3」の6と3はオペランド(被演算子:operand)で、+は演算子(オペレーター:operator)です。
また6と3のように直接コードに記述された値は、リテラルと言います。
小数点同士の計算
0.1*0.1は0.01になるはずですが、異なる値になってしまいます。
System.out.println(0.1 * 0.1); //0.010000000000000002
小数点のある値で計算をすると誤差が発生する場合があるので注意して下さい。
計算する場合は、値をいったん整数にして計算し元に戻す等などします。
代入演算子
計算がある代入演算子のサンプルです。
計算した後に変数に代入します。
int a = 6;
System.out.println(a += 3);//a = a + 3 と同じ → 9
int b = 6;
System.out.println(b -= 3);//b = b -3 と同じ → 3
int c = 6;
System.out.println(c *= 3);//c = c * 3 と同じ → 18
int d = 6;
System.out.println(d /= 3);//d = d / 3 と同じ → 2
int e = 5;
System.out.println(e %= 3);//e = e % 3 と同じ → 2
14行目の%は、割り算の余りを求めます。
インクリメント
int a = 0;
int b = ++a;
System.out.println(b);//1
System.out.println(a);//1
int c = 0;
int d = c++;
System.out.println(d);//0
System.out.println(c);//1
2行目は、変数の前に++がついています。値に1を足してから変数に代入します。
7行目は、変数の後ろに++がついています。値を変数に代入してから1を足します。
デクリメント
int a = 0;
int b = --a;
System.out.println(b);//-1
System.out.println(a);//-1
int c = 0;
int d = c--;
System.out.println(d);//0
System.out.println(c);//-1}
2行目は、変数の前に--がついています。値から1を引いてから変数に代入します。
7行目は、変数の後ろに--がついています。値を変数に代入してから1を引きます。
最大値と最小値
最大値と最小値の定数があります。
System.out.println(Integer.MAX_VALUE); //2147483647 21億
System.out.println(Integer.MIN_VALUE); //-2147483648 -21億
int型の最大値と最小値です。
偶数か奇数か判定する
package test1;
public class Test1 {
public static void main(String[] args) {
int num = 10;
if(num % 2 ==0){
System.out.println("偶数です");//偶数です
}else{
System.out.println("奇数です");
}
}
}
8行目は、割り算の余りを求める%を使用し、余りが0のときは偶数、0以外のときは奇数と判定しています。
文字列を数値に変換する
public static Integer valueOf(String s) throws NumberFormatException |
public static int parseInt(String s) throws NumberFormatException |
String a = "100";
int b = Integer.valueOf(a);
System.out.println(b); // 100
int c = Integer.parseInt(a);
System.out.println(c); // 100
// int d = a; //コンパイルエラー
valueOfメソッドは、引数の文字列をInteger型の数値で返します。
parseIntメソッドは、引数の文字列をint型の数値で返します。
以下はJava8 API仕様のIntegerクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Integer.html
関連の記事
Java 小数点以下の切り上げのサンプル(setScale)
Java 小数点以下の切り捨てのサンプル(setScale)
Java 小数点以下の四捨五入のサンプル(setScale)
Java 小数点がある計算のサンプル(BigDecimal)
Java 切り上げのサンプル(ceil)
Java 切り捨てのサンプル(floor)
Java 四捨五入するサンプル(round)