运算符的种类及介绍

运算符

运算符的种类

运算符是一种特殊的符号,用来表示数据的运算、赋值和比较等。

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三元运算符

算术运算符

  • +,- (正负数)

  • +,- (加法,减法)

  • *,/ (乘法,除法)

  • % (取余)

在这里插入图片描述

  • ++, --(前自增,前自减) 先增减,后赋值。 【注意,自增自减不会改变本身变量的数据类型】

  • ++,–(后自增,后自减 ) 先赋值,后增减。【注意,自增自减不会改变本身变量的数据类型】

  • +, (连接符)


赋值运算符

= ,+=,-=,/=,%=(取余等于)

short num1+=10;(不会改变本身变量的数据类型)

num2%=6;
在这里插入图片描述
结果为:2

short
short num1+=10;(不会改变本身变量的数据类型)

注意:这种写法 num1+=10;(不会改变本身变量的数据类型),但是num1=num1+10会改变本身的数据类型migrate–>int

来看看代码:

int m=2,n=3;
        n*=m++;
        System.out.println(n);
        System.out.println(m);
        System.out.println("==============================================");
        int a=10;
        a+=(a++) + (++a);
        System.out.println(a);
输出结果:n=6
        m=3
        a=32

  int b = 1;
        b*=0.1;
        System.out.println(b);
        b++;
        System.out.println(b);
输出结果:0
        1

比较运算符

==等于,!=不等于, <小于, >大于, <=小于等于, >=大于等于

注意:比较运算的结果都是boolean类型,也就是true或者false。比较运算符“==”不能误写成“=”。
int f1=5,f2=8;
        System.out.println(f1>=f2);//false
        System.out.println(f1<=f2);//true
boolean q=true,w=false;
        System.out.println(q==w);//false
        System.out.println(w=q);//true

逻辑运算符

在这里插入图片描述

        int a=1;
        if(a++==2){
            System.out.println("我");
        }

        else{
            System.out.println("你");
        }
输出结果:你
        System.out.println("=============================================");
        int b=1;
        if (++b==2){
            System.out.println("我爱你");
        }

        else{
            System.out.println("你爱我");
        }
输出结果:我爱你
        int x=1,y=1;
        if(x++==1&&++y==1){
            x=7;
        }
        System.out.println("x="+x+",y="+y);
输出结果:x=2,y=2

位运算符

在这里插入图片描述

在这里插入图片描述

        int i=64;
        i= i>>2;
        System.out.println(i);
输出结果:16
        int i=64;
        i= i<<2;
        System.out.println(i);
输出结果:256

1000 0100 补码

1000 0011 反码

1111 1100 原码 -124

1110 0001 补码

1110 0000 反码

1001 1111 原码 -31( -124 >>2 == -31)

1111 0000 补码

1110 1111 反码

1001 0000 原码 -16 (-124>>3== -16)

三元运算符

1, 条件表达式的结果为boolean类型;

2, 根据条件表达式的真假,执行表达式1还是表达式2;

  • 如果表达式结果为true,则执行表达式1
  • 如果表达式结果为false,则执行表达式2;

3, 表达式1和表达式2要求是一致的;

4, 三元运算符可以嵌套使用;

5, 凡是可以使用三元运算符的地方,都可以使用if-else,反之可能不成立!

6, 如果程序既能用三元,又能用if-else,那就用三元,因为三元效率高。

        int a=10,b=20,c=30;
        int max=(a>=b)? a:b;
        int max1=(max>=c)? max:c;
        System.out.println("max1="+max1);
        输出结果:max1=30
        
        double num1=5,num2=10,num3=20;
        double max=(num1>num2)?num1:num2;
        double max1=(max>num3)?max:num3;
        System.out.println("最大值="+max1);
        输出结果:最大值=20.0

不建议写下面这种,因为别人不容易看懂(我自己看了一分钟才看明白)

        int x=50,y=60,z=40;
        int max3=(((x>=y)? x:y)>=z)? ((x>=y)? x:y):z;
        System.out.println("max3="+max3);
        输出结果:max3=60

运算符的优先级

在这里插入图片描述

最简单一句话:你想让谁先执行,就给谁加()。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值