Java的運算和其他語言相差無幾,但特別注意型別,尤其是在比較與限縮時。
分為四種類型
1.用來檢測餘數是否為0
2.做週期運算
除不了的數字的餘數就是原本的數字
ex:7 % 2 = 2
3.控制範圍
假設我要把結果控制在3~15,因此總共有13種變化
運算:int num2 = (num1 % 13) +3
4.位置參照
&&和||為短程,&&左值不成立,右值不運算,||左值成立,右值不運算
//搭配boolean的運算
public class Java_in_9_13 {
public static void main(String[] argv) {
int a = 1, b =2, c = 3;
boolean d = a >= b && b++ == c
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
答案是:1 2 3 false
這對寫程式很有幫助
1.利用左值保護右值的概念替換if
2.減少多餘的運算
值得注意的是,要盡量避免浮點數(double)的比較
讓變數在基本型別中進行轉換,分為兩種
byte -> short -> char -> int -> long -> float -> double
byte <- short <- char <- int <- long <- float <- double
public class Java_in_9_13 {
public static void main(String[] argv) {
int i1 = 33;
int i4 = 12;
double i2 = i1 ;//放大型別不需特別宣告
int i3 = (int) i2 ;//縮小型別特別宣告
double i5 = (double)(i1+14)/12; //在計算的時候記得要特別宣告
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i5);
}
}
Math.min,max找最小,最大值
Math.sqrt()找平方根後的值
Math.abs()找絕對值
Math.random()找出在0~1之間的隨機值
Math.floor()無條件捨去,Math.ceil()無條件進位,Math.round()四捨五入
import java.util.Scanner;
import java.util.Random;
public class Lab2 {
public static void main(String[] args) {
int num1, num2;
Scanner sc = new Scanner(System.in);//打開scanner
= sc.nextInt();//由輸入端輸入一個整數
num1 = sc.nextInt();//next()取字串,nextByte()取Byte值...
num2
System.out.print("gap = "+ num1-num2);
.close();
sc
}
}