java從菜鳥到碼神之路——運算子

小天王.啊靖喲發表於2020-11-13

運算子

  • java語言支援以下的運算子
    1. 算術運算子 +、-、*、/、%、++、–
    2. 賦值運算子=,+=,-=、*=、/=
    3. 關係運算子. >,<,>=,<=、==、!=、instanceof
    4. 邏輯運算子&&、||、!
    5. 位運算子:&、|、^、>>、<<
    6. 條件運算子(三木運算):? :
//算術運算注意點和麵試常考——byte、++、--
public class Base2 {
    public static void main(String[] args) {
        long a = 1234567L;
        int b = 12;
        short c = 2;
        byte d = 1;
        System.out.println(a+b+c+d);//long
        System.out.println(a+c+d);//int
        //byte參與運算的時候,先轉換成int型 再進行計算
        System.out.println(c+d);//int
        System.out.println(c+c);//short ,short運算不會先轉換為int
        byte b1=3,b2=4,e;
        e = b1+b2;//會發生錯誤,應該改為 e = (byte)(b1+b2)

// ++ 自增 -- 自減 
int a = 3;
//先賦值後加減,要int b = ++a;z這句執行過後再+1
int b = a++;
//先加減後賦值
int c = ++a;
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
    }
}
//冪運算 2^3= 2*2*2 = 8,使用工具類操作
double pow = Math.pow(2,3);
//與(and)  或(or)  非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//false
System.out.println("a || b:"+(a||b));//true
System.out.println("!(a && b):"+!(a&&b));//true
//其中注意&& ||是短路與和短路非
//短路與&& 當&&前面表示式為false,則不判斷後面的表示式
//短路|| 當||前面表示式為true,則不判斷後面的表示式
//位運算
/*A = 0000  0011;
B = 1100  1000;
---------------------------------
A&B = 0000 0000;
A|B = 1100 1011;
A^B = 1100 1011;
~B = 0011 0111;
*/
//因此2^3快速運算可以使用位運算
//<< *2
//>> /2
int a  = 2<< 3;
//字串連線符
int a = 1;
int b = 2;
system.out.println(""+a+b);//12 前面有" "將轉換為字串拼接
system.out.println(a+b+" ");//3   後面“”不影響運算


注意:運算的優先順序可以由()改變

相關文章