Java运算符

一、算数运算符

操作符描述例子:int a=10;int b=3;结果
+a+b13
-a-b7
*a*b30
/a/b3
%a%b1
++自增a++;++a(注)11;11
--自减a--;--a(注)9;9

注:前缀自增、自减法(++a、--a):先自增、自减,在进行表达式运算;

后缀自增、自减法(a++、a--):先进行表达式运算,在自增、自减。

public class selfAdd{
    public static void main(String[] args){
        int a=10;//定义变量
        int b=20;//定义变量
        int c=++a;//先自增在赋值
        int d=b++;//先赋值在自增

        System.out.println(a);

        System.out.println(b);

        System.out.println(c);

        System.out.println(d);
    }
}

运行结果

11
21
11
20

 

二、关系运算符

运算符描述例子:int a=10,b=20;结果
==等于a==bfalse
!=不等于a!=btrue
>大于a>bfalse
<小于a<btrue
>=大于等于a>=bfalse
<=小于等于a<=btrue

 

三、位运算符

应用于int、long、short、char、byte

操作符描述

例子:int a=60;//60=0011 1100

int b=13;//13=0000 1101

结果
&对应位置是1为1,否则为0(a&b)12;//0000 1100
|对应位置是0为0,否则为1(a|b)61;//0011 1101
^对应位置相同为0,否则为1(a^b)49;//0011 0001
~取反操作,1变为0,0变为1(~a)-61;//1100 0011
<<左移a<<2240;//1111 0000
>>右移a>>215;//1111
>>>补零a>>>215;//0000 1111

 

四、逻辑运算符

操作符描述例子:boolean a=true,b=false;结果
&&逻辑与(a&&b)false
||逻辑或(a||b)true
!逻辑非!(a&&b)true

短路:

public class DuanLu{
    public static void main(String[] args){
        int a=5;
        boolean b=(a<3)&&(a++<10);/*先判断a<3为false,则b的结果必定为false,故不再执行短路逻辑运算符后面的操作(a++<10)*/
        System.out.println("b="+b);
        System.out.println("a="+a);
    }
}

运行结果

b=false
a=5

 

五、赋值运算符

操作符描述例子:int a=1;int b=2;int c=10;结果
=赋值c=a+b;3
+=加和赋值c+=a;//c=c+a11
-=减和赋值c-=a;//c=c-a9
*=乘和赋值c*=b;//c=c*b20
/=除和赋值c/=b;//c=c/b5
%=取模和赋值c%=b;//c=%b0
<<=左移位赋值c<<=2;//c=c<<2 
>>=右移位赋值c>>=2;//c=c>>2 
&=按位与赋值c&=2;//c=c&2 
|=按位或赋值c|=2;//c=c|2 
^=按位异或赋值c^=2;//c=^2 

 

六、其他运算符

①条件运算符(三元运算符)

主要决定哪个值赋给变量

variable x = (expression)? value if true :value if false

public class Test{
    public static void main(String[] args){
        int a,b;
        a=10;
        
        //如果a等于1成立,则设置b为20,否则为30
        b=(a==1)? 20:30;
        System.out.println("b的值为:"+b);
        
        //如果a等于10成立,则设置b为20,否则为30
        b=(a==10)? 20:30;
        System.out.println("b的值为:"+b);
    }
}

运行结果

b的值为:30
b的值为:20

 

②instanceof运算符

用于操作对象实例,检查该对象是否是一个特定类型(类类型或者接口类型)

(Object reference variable) instanceof (class/interface type)

若左侧所指的对象为右侧类/接口的一个对象,则结果为真

class Vehicle{}


public class Car extends Vehicle{
    public static void main(String[] args){
        Vehicle a = new Car();
        boolean result = a instanceof Car;
        System.out.println(result);
    }
}

运行结果

true

 

 

————————————————————————————————————————

Java运算符优先级:以下最高优先级的在表的最上方,最低优先级的在表中的最下方

类别操作符关联性
后缀()小括号 []中括号 .点操作符
一元+取正 -取负 !逻辑非 ~取反
乘除余*乘法 /除法 %取余
加减+加法 -减法
移位>>右移 >>>补零 <<左移
关系>大于 >=大于等于 <小于 <=小于等于
相等==等于 !=不等于
按位与&
按位异或^
按位或|
逻辑与&&
逻辑或||
条件?:三木运算符
赋值=赋值 +=加和赋值 -=减和赋值 *=乘和赋值 /=除和赋值 %=取模和赋值 >>=右移位赋值 <<=左移位赋值 &=按位与赋值 ^=按位异或赋值 |=按位或赋值
逗号,

 

转载于:https://www.cnblogs.com/jaci/p/11380457.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值