【零基础 快速学Java】韩顺平 p62-80 运算符:算数、关系、逻辑、赋值、三元和优先级

课程
p62-80

运算符介绍

在这里插入图片描述

算数运算符

对数值类型变量进行运算的。
在这里插入图片描述
对于自加自减(记忆方法):
a=2,b=a++ 的,b=a在前,所以a=3,b=2;
a=2,b=++a 的,b=+在前,所以a=3,b=3;

对于字符串相加:新形成的字符串有空格。
如:

public class temp{
    public static void main(String[] args){
        String a = "abc";
        String b = "def";
        String c = a + b;
        System.out.println(c);
        }
    }

在这里插入图片描述
i++和++i 都是i=i+1
一些注意事项:
关于/除法

public class temp{
    public static void main(String[] args){
        //除法/
        System.out.println(10 / 4);//2
        System.out.println(10.0 / 4);//2.5
        double ans = 10 / 4;//2-->2.0
        System.out.println(ans);//2.0
        }
    }

输出:

2
2.5
2.0

关于%取模
本质 a % b = a - a / b * b

public class temp{
    public static void main(String[] args){
        //取模 %
        System.out.println(10 % 3);
        System.out.println(-10 % 3);
        System.out.println(-10 % -3);
        }
    }

输出:

1
-1
-1//-10 - (-10/-3)*(-3)==-10-(-9)==-1

关于前++和后++
前++:++i 先自增后赋值
后++:i++ 先赋值后自增
这里的赋值是指赋给前面的等号,比如b=a++,那么赋值就是赋给b

关系运算符(比较运算符)

结果都是boolean型,要么true要么false。
常用于if或循环结构中。

在这里插入图片描述
比较运算符“==”不能写成“=”

试一下String:

public class temp{
    public static void main(String[] args){
        //instanceof
        System.out.println("abc"instanceof String);
        }
    }

输出:

true

Java instanceof用法详解

逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个boolean类型。

在这里插入图片描述
说明逻辑运算规则:
在这里插入图片描述

以下跟C++的感觉不太一样(?)
&与&&
在这里插入图片描述
在这里插入图片描述
|与||
在这里插入图片描述
在这里插入图片描述
!和^
在这里插入图片描述
在这里插入图片描述
异或,异了就是true

省流版
开发中与用&&,或用||,因为可以只判断一个,效率高

赋值运算符

在这里插入图片描述
在这里插入图片描述
赋值运算顺序从右往左

三元运算符

在这里插入图片描述
(毫无逻辑的)记法:条件是否满足?满足就输出表达式1,否则2;

细节:
在这里插入图片描述

如下段代码:

public class temp{
    public static void main(String[] args){

        int a = 3;
        int b = 8;
        int c = a > b ? a : b;
        System.out.println(c);
        //也就是
        /*
        if(a > b) c = a;
        else c = b;
         */
        }
    }

输出:

8

对于c来说,不是a赋值给c就是b赋值给c。因此,a和b都要和c的数据类型匹配,或者能强制转换。
比如:int类型的26赋值给int,可以;赋值给double,也可以。但赋值给boolean,不行(也无法强制转换)。
就是这个意思。

运算符优先级

个人感觉知道一下就好了,因为平时写Java代码的时候可以用括号了自己决定优先级
右边这个表,从上到小是优先级由高到低
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

karshey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值