运算符

Java语言支持如下运算符:

  1. 算术运算符:+,-,*,/,%,++,--

  2. 赋值运算符:=

  3. 关系运算符:>,<,>=,==,!= instanceof

  4. 逻辑运算符:&&,||,!

  5. 位运算符:&,|,^,~,>>,<<,>>>

  6. 条件运算符?:

  7. 扩展赋值运算符:+=,-=,*=,/=

算术运算:整数加法运算有long类型的一起做运算最终的结果是long类型,其他的都为int类型

  public static void main(String[] args) {
       long a = 123123123l;
       int b = 123;
       short c = 10;
       byte d = 8;

       System.out.println(a+b+c+d);//long
       System.out.println(b+c+d);//int
       System.out.println(c+d);//int
    System.out.println(c/d);//取余,模运算 == 1
     
       //关系运算符返回的结果: 正确或错误 布尔值
       int e = 10;
       int f = 20;

       System.out.println(e>f);//false
       System.out.println(e<f);//true
       System.out.println(e==f);//false
       System.out.println(e!=f);//true
     
       //++ -- 自增,自减 一元运算符
       int j= 3;
       int k = a++;//执行完这行代码后,先给k赋值,再自增
       //j = j+1;
       System.out.println(j);
       //j = j+1;
       int l = ++j;//执行完这行代码后,先自增,再给k赋值

       System.out.println(j);
       System.out.println(k);
       System.out.println(l);
     
     
       //与(and) 或(or) 非(取反)
       boolean n = true;
       boolean m = false;

       System.out.println("n && m:"+ (n && m)); // false
       System.out.println("m && n:"+ (m && n)); // false
       System.out.println("n || m:"+ (n || m)); // true
       System.out.println("!(n && m):"+!(n && m)); // true


       //短路运算
       int z = 5;
       boolean x = (z<4)&&(z++<4);
       System.out.println(x);
       System.out.println(z);
     
       /*
         A = 0011 1100
         B = 0000 1101

         A & B = 0000 1100
         A | B = 0011 1101
         A ^ B = 0011 0001
           ~ B = 1111 0010

        2 * 8 = 16 2*2*2*2

        << *2
        >> /2
        */

       System.out.println(2<<3);
     
       int a4 = 10;
       int a5 = 20;

       a4+=a5;
       a4-=a5;

       System.out.println(a4);

       //字符串连接符 + , string
       System.out.println(""+a4+a5);//1020 空字符串在运算前,先转字符串再拼接
       System.out.println(a4+a5+"");//30 //运算在前 先运算再转为字符串

    //三元运算符
       //x ? y : z
       //如果x == true ,则结果为y,否则结果为z

       int score = 80;
       String type = score < 60 ? "不及格" : "及格";
       System.out.println(type);
}

 

posted on 2020-11-18 11:40  白糖℃  阅读(152)  评论(0)    收藏  举报