1. 程式人生 > >Java第四天——核心技術第三章(2)

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只能儲存該型別宣告中的某一列舉值