Java运算符

Java运算符

  • 算术运算符:+,-,*, /,%,++,–
  • 赋值运算符:=
  • 关系运算符:>, < , >= ,<= , == , != instanceof
  • 逻辑运算符:&&,||, !
  • 位运算符:&,|,^, ~ , >> , << , >>>(了解!!!)
  • 条件运算符: ? :
  • 扩展赋值运算符: += ,-=, *=,/=
自增,自减
public class Demo{
    
        public static void main(String[] args){
         //++ --      自增,自减     一元运算符
            int a =3;
             
            int b =a++;       //执行完这行代码后,先给b赋值,再自增
            //a++ a=a+1;
           System.out.prinln(a); //4
            //++a a=a+1;
            int c =++a;        //执行完这行代码前,先自增 ,再给c赋值
       
         System.out.prinln(a);  //5
         System.out.prinln(b);  //3
         System.out.prinln(c);  //5
            
            
            
         //幂运算  2^3  2*2*2
         double pow =Math.pow(2,3);//8.0
          System.out.prinln(pow);
    }
}
逻辑运算符
public class Demo{
    
        public static void main(String[] args){
            //  与(and)  或(or)   非(取反)
            boolean a=true;
            boolean b=false;
            
            System.out.prinln(a&&b);  //逻辑与运算,两个变量都为真,结果才为 true
            System.out.prinln(a||b); //逻辑或运算,两个变量有一个为真,结果才为true
            System.out.prinln(!(a&&b));//逻辑非运算,如果为真,则变为假,如果为假则为真
            
            
            //短路运算
            
           int c=5;
            boolean d=(c<4)&&(c++<4);
            
            
            System.out.prinln(c);   //5
            System.out.prinln(d);  //false
            /* 
            如果后面c++<4 执行的话,c的结果会变为6,但结果为5,说明前面为假的时候,后面不执行,短路
            */
        }
}
位运算
public class Demo{
    
        public static void main(String[] args){
            
            /*
            A = 0011 1100
            B = 0000 1101
---------------------------------------------------------    
           A&B= 0000 1100  //如果上面跟下面一位去比较,两个都为1他才为1
           A|B= 0011 1101 //如果上面跟下面有一个1,他为1否则为0
           A^B= 0011 0001 //如果上面跟下面相同,值为0,否则为1
           ~B=  1111 0010 //跟自身完全相反的
           
         如何使 2*8=16运算的更快    2*2*2*2 
           <<(左移)*2   >>(右移)/2
           相当于把数字按位向左和向右移动
           比如下面1向左移动 从2(0000 0010) ->4(0000 0100)
           0000 0000     0
           0000 0001     1 
           0000 0010     2
           0000 0100     4
           0000 1000     8
           0001 0000     16
           因为使用的是二进制运算,所以计算效率很高!!!
           */
             System.out.prinln(2<<3);
        }
}
扩展赋值运算符
public class Demo{
    
        public static void main(String[] args){
            
            int a=10;
            int b=20;
            
            a+=b;
             System.out.prinln(a); //30 a=a+b
            
            //字符串连接符 +,string
            
             System.out.prinln(a+b); //30
             System.out.prinln(""+a+b);//1020  字符串在前面,会拼接
            System.out.prinln(a+b+"");//30
            
        }
}

#### 三元运算符

x?y:z

//如果x==true,则结果为y,否则结果为z

int score=80;

String type=score<60 ?"不及格":"及格"

优先级运算符结合性
1()、[]、{}从左向右
2!、+、-、~、++、–从右向左
3*、/、%从左向右
4+、-从左向右
5«、»、>>>从左向右
6<、<=、>、>=、instanceof从左向右
7==、!=从左向右
8&从左向右
9^从左向右
10|从左向右
11&&从左向右
12||从左向右
13?:从右向左
14=、+=、-=、*=、/=、&=、|=、^=、~=、«=、»=、>>>=从右向左
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值