Java第四天——核心技術第三章(2)
繼續第三章的學習。。。
運算子
運算子+、-、*、/表示加、減、乘、除運算 %求餘操作
/運算 兩個運算元都是整數時,表示整數除法;否則,表示浮點數除法
例:15/2=7 15%2=1 15.0/2=7.5
整數被0除會產生一個異常,浮點數被0除將會得到無窮大或NaN結果
簡化格式: x += 4; ======> x = x + 4;自增、自減運算子
n++ n++ 當前值加1 n– –n 當前值減1 n為變數名
字首方式先進行加1運算 字尾方式則使用變數原來的值關係運算符 boolean運算子
關係運算符 == < > <= >=
boolean運算子 &&與 ||或 !非位運算子
&與 |或 ^異或 ~非 >>右移 <<左移 >>>用0填充高位 >>用符號位填充高位
移位運算子右側的引數需要進行模32的運算(但左側運算元是long型別,需要進行模64位的運算 ) 例:1<<35 與 1<<3是相同的數學函式與常量
Math類 導包:import static java.lang.Math.*;
Math.sqrt(x) 一數值的平方根
Math.pow(x,a) X的a次冪 冪運算 若x、a為double型別則結果也是double
三角函式 Math.sin Math.cos Math.tan Math.atan Math.stan2
指數函式及其反函式 Math.exp Math.log
π和e常量相似值 Math.PI Math.E資料型別之間的轉換 未標的均為無精度損失
char —————————> int
byte —–> short ——> int
int ——————————–>long、float(有精度損失)、double
long ——————————> float(有精度損失)、double(有精度損失)
例:int n=123456789;
float f = n; f 為1.23456789當使用兩個數值進行二元操作時 兩種資料型別 要先將兩個運算元轉換為同一種類型 然後再進行計算
若兩個運算元中有一個是double型別 另一個運算元就會轉換為double型別
否則,若其中一個運算元時float型別,另一個運算元將會轉換為float型別
否則,若其中一個運算元時long型別,另一個運算元將會轉換為long型別
否則,兩個運算元都將轉換為int型別強制型別轉換
double d = 9.887;
int n = (int)d; 強制型別轉換 擷取小數部分將浮點型轉換為整型對浮點數進行舍入運算 得到最接近的整數 用Math.round() 返回結果為long型仍需要強制型別轉換為int
int n = (int)Math.round(d);-
- 列舉型別
枚舉出多個取值。
enum Size {small,m edium,large,extra_large};
Size s = Size.small; Size型別的變數s只能儲存該型別宣告中的某一列舉值