运算符——JavaSE

1.什么是运算符

运算符:对操作数进行操作的符号(包括算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、条件运算符)
表达式:变量和运算符一起组成了表达式

2.算数运算符

2.1基本四则运算符

+、-、*、/、%

//除:/
    public static void main(String[] args) {
        System.out.println(5/2);//2
        System.out.println(5/(float)2);//2.5
        System.out.println((float)5/2);//2.5
        System.out.println((float)(5/2));//2.0
    }

除数不能为零

//模:%
    public static void main(String[] args) {
        System.out.println(10%3);//1
        System.out.println(10%-3);//1
        System.out.println(-10%3);//-1
        System.out.println(-10%-3);//-1
        System.out.println(11.5%10);//1.5
    }

①除法和取模是,除数都不可以为0
②结果为NaN时表示未定义的
③%对double也是可以适用的
④当两侧的操作数类型不一样时,会向类型大的提升

2.2增量运算符

+=、/=、%=、-=、*=

    public static void main(String[] args) {
        short a = 10;
        //a = a+20;报错
        a += 20;//这里帮助我们自动的类型转化(将int转化为short)
        System.out.println(a);
    }

2.3自增/自减运算符

++ –

    public static void main(String[] args) {
        int a = 10;
        int b = a++;
        int c = ++a;
        System.out.println(b);//10
        System.out.println(c);//12
    }

前置++:先使用再++
后置++:先++再使用

3.关系运算符

关系运算符(==、!=、<、>、<=、>=)的结果只能是true或者false(布尔表达式)

    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(a == b);//false
        System.out.println(a != b);//true
    }

4.逻辑运算符

1.逻辑与&&(同真为真)
语法:表达式1&&表达式2(如果表达式1为假的话就不执行表达式2了)
2.逻辑或||(同假为假)
语法:表达式1||表达式2(如果表达式1为真的话就不执行表达式2了)
3.逻辑非!(真变假,假变真)
语法:!表达式
4.短路求值
&&和||符合短路求知的规则

    public static void main(String[] args) {
        System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false
        System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true
        //System.out.println(10 > 20 & 10 / 0 == 0); // 报错 &不支持短路
        //System.out.println(10 < 20 | 10 / 0 == 0); // 报错 |不支持短路
    }

5.位运算符

1.按位与(&)
只有对应位上都是1的时候才是1按位与
2.按位或(|)
只有对应位上都是0的时候才是0,其他时候都是1
按位或
3.按位异或(^)
对应位上相同为0,不同为1按位异或
4.按位取反(~)
该为上为0则转化为1,为1时转化为0

6.位移运算

1.左移<<:最左侧不要了,最右侧补0(相当于原数字*2的移动次数的次方)
2.右移>>:最右侧不要了,最左侧补符号位,符号位是1就补1,是0就补0(相当于原数字/2的移动次数的次方)
3.无符号右移>>>:最右侧不要了,最左侧补0,
注意:没有无符号左移

7.条件运算符

语法:表达式1?表达式2:表达式3
注意:
①表达式1 一定是一个布尔表达式
②表达式不能单独存在
③表达式1 是true则执行表达式2,否则执行表达式3

    public static void main(String[] args) {
        boolean flg = true ? true == true ? false : true : true;
        System.out.println(flg);//false
    }
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //a > b ? a : b;//错误,表达式不能单独存在
        int c = a > b ? a : b;
        System.out.println(c);//20
    }

8.运算符的优先级

不必管,也不必记,在代码中多加括号就可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值