java中的运算符

运算符

        算术运算符+-*/

        赋值运算符= += -=

        比较运算符 >

        逻辑运算符 & | !

位运算符(用的比较少)

三元运算符

1.算术运算符

 +连接运算符:只能使用在string和其他运算符之间

自增不会改变变量的数据类型(理解前加加和后加加)

重难点代码示例:

        //除号/
        int num1=12;
        int num2=5;
        int result=num1/num2;
        System.out.println(result);//2
        //要使12/5得出结果2.4
        double result2=(double)num1/num2;
        System.out.println(result2);//2.4
        double result3=num1/(double)num2;
        System.out.println(result3);//2.4
        //取余%
        int result4=num1%num2;
        System.out.println(result4);//2
        int num3=-5;
        int num4=2;
        int result5=num3%num4;
        System.out.println(result5);
        int num5=10;
        int num6=-3;
        int result6=num6%num5;
        System.out.println(result6);
        //对于前++和后++
        //前--和后--同理
        int num1=20;
        int num2=num1++;//先把num的值赋给num2,在++。所以这时num2是20,num1是21
        int num3=++num1;//先把num1自增1,在赋给num3,所以这时num3是22,num1是22
        System.out.println(num1);//22
        System.out.println(num2);//20
        System.out.println(num3);//22

 以上代码有以下几点结论:

1.对于取余%:结果的符号与被模数的符号相同。开发中常用取模符号判断是否被除尽

2.++和--运算写到变量前后得到的结果不同,具体看上面示例。

2.赋值运算符

 //+=不会改变变量本身的数据类型

//num=num+2.0;则会报错

int num=10;
num+=2.0;
System.out.println(num);//12

3.比较(关系)运算符

两个操作数进行比较,比较后是boolean值

 注!!!> < >=

== 和 != 不止可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间(常用!!!)

4.逻辑运算符

& 逻辑与 |逻辑或 !逻辑非 ^逻辑异或(ad相同则为false,ab不同则为true)

两个boolean类型的操作数或表达式进行逻辑比较

 逻辑运算符比较的都是布尔型

注意!!!逻辑与&和短路与&&的区别(逻辑或和短路或同理)开发中常用短路与

相同点:1、&和&&的运算结果相同

                2、当符号左边是true时,二者都会执行符号右边的运算

不同点:当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算

(直接短路)

          int i=5;
//        if(i==4&++i==6){
//            System.out.println("111");
//            System.out.println(i);
//        }
//        System.out.println("222");
//        System.out.println(i);//6
//        System.out.println("======");
        if(i==4&&++i==6){
            System.out.println("111");
            System.out.println(i);
        }
        System.out.println("222");
        System.out.println(i);//5

开发中推荐使用短路与和短路或:短路效率高于非短路

5.位运算符(开发中用的比较少)

注意:1表示true 0表示false

 

与或非 前后都是布尔型则是逻辑运算符

与或非 前后都是数字则是位运算符

1.位运算符操作的都是整型的数据

2.<<:在一定范围内,每项左移一位,相当于在原来的基础上乘以2.

  >>:在一定范围内,每项右移一位,相当于在原来的基础上除以2.

而且原来的数为1,即为负数,则最高位补1。符号位不会发生变化。

对于int型数据,若右移或左移32位,则原来的数不变

无符号右移:不论正数还是负数,都补0

将这个整数与15(1111)进行与运算,就可以得出后四位

6.三元运算符

表达式1和表达式2为同种类型

说明:

  • 条件表达式结果为true类型
  • 三元运算符可以嵌套使用

凡是可以使用三元运算符的位置都可以改写成if else(优先用三元)

算术运算符>关系(比较)运算符>逻辑运算符

最高的优先级 () 最低的优先级 赋值

单目、三目、赋值是右结合

其他的都是左结合

运算符优先级

 优先级:

算术运算符>关系(比较)运算符>逻辑运算符

最高的优先级 () 最低的优先级 赋值

单目、三目、赋值是右结合

其他的都是左结合

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值