Java小白自学3:运算符的规则及使用

        Java小白自学:今天跟大家分享一下我学的运算符,以及我对运算符知识的一些总结。首先,运算符可以分为五种类型,分别是:赋值运算符、算术运算符、关系(比较)运算符、逻辑运算符、条件运算符(也可以叫做三目或者三元运算符)。

        1)赋值运算符:这个运算符是“=”,就是将一个数据赋值给一个变量或者一个常量,一般形式就是“数据类型+变量 = 表达式”,这里的“=”号就是将表达式的结果赋值给左边的变量。

        2)算术运算符:算术运算符包括基本算术运算符和复合算术运算符。

                a)基本算术运算符包括:+(加)、-(减)、*(乘)、/(除)、%(取模/取余)、++(自增)、--(自减)这六种,加减乘除就是普通的四则运算。“%”这个运算符称之为取模运算或者说叫取余运算,我们都知道除法的结构是:被除数/除数=商.......余,这里面的取模运算得到的结果就是里面的余数。打个比方:6/5得到的结果商是1,余数是2,因此6%5得到的结果就是余数2。

                “++”和“--”,这两个运算符代表自增1或者说自减1。打个比方,i=5,在执行i++后,i的值就会自动加1变成6,反之i--就等于4,这样是有一个前提,就是在单个变量中;如果是在参与变量运算,那就需要考虑位置。这里我们举个例子:a=1,b=a++,c=++a,如果++运算符在变量后的话,也是就b=a++这个表达式中,a会先将值赋给b后,再进行自增运算,也就是说这个时候,b=1,a=2;反之如果++运算符再变量前的话,就会先进行自增运算后赋值,也就是说c=2,a=2。

                b) 复合算术运算符包括:+=,-=,*=,/=;这里我们就以+=为例,其余都类似。a+=b这个表达式,实际上就是a=a+b,就是将a和b的值进行相加后重新赋值给a。这里有一个四位数的各个位置求和的案例:

        3)关系(比较)运算符:>,<,>=,<=,==,!=;这里我认为重点就是关系运算后的结果,这里的结果都是boolean布尔值,也就是说只有true和false这两种结果。

        4)逻辑运算符:&&(短路与),||(短路或),!(非)。规则:逻辑运算符两侧都是boolean类的结果,即 (bool1 && bool2)这种类型,因此逻辑运算的结果也是boolean类型的结果(true或者是false)

                a)&&(短路与):只有左右两侧的布尔结果都是true的时候,&&(短路与)的结果才是true。

                b)||(短路或):只有两侧有一个结果为true的时候,||(短路或)的结果就是true。

 

       注意:这里我们尤其需要注意“短路”这两个字的含义,这会影响到你输出的结果。接下来我们打个比方来说

        我们将上述的程序进行分析,首先我们看第一个短路或(//&&)运算,这里++m我们之前说到,在参与操作的时候,如果自增符号在变量前,就先进行自增操作后再进行赋值,因此这里m自增之后为9,显然与n相等,此时逻辑左侧为true,无法直接判断&&的结果,因此就需要进行右边的操作,此时m又经过一次自增,此时m=10,显然不等于n,因此右侧结果为false,故第一个短路或运算的结果为false,而此时m=10。

        接下来我们看第四个x=2,y=3的计算结果,++x与上述一样,先自增再赋值,此时x=3,显然等于y,因此左侧显示为false,我们知道&&是只要出现一个false,结果就为false,因此可以直接判断此时&&的运算结果就为false,这里注意,当可以直接判断逻辑运算结果的时候,逻辑运算符右侧就不再进行计算,也就是说这里的(x++)不进行运算,所以最终得到的x=3。

        对比第一个和第四个可得,当逻辑运算符左侧可以直接判断逻辑结果的时候,就不会进行右侧的计算,这里就会影响变量最终的结果,这里大家一定要仔细查看。

        5)条件运算符:条件运算符的规则是:条件?表达式1:表达式2

 

                a)条件运算符,能够在两个数据之中,根据条件的不同,得到相对应的数据。

                b)嵌套条件运算符:嵌套条件运算符实际上就是对表达式1和表达式2的代换,就是用另一个条件运算代替这个表达式。规则:条件1?(条件2?表达式3:表达式4):(条件3?表达式5:表达式6)。对比条件运算符的规则和嵌套条件运算符的规则,我们可以发现,实际上就是用(条件2?表达式3:表达式4)整体代替了表达式1。这样就能够在三个数据对象之中,根据条件的不同,得到需要的数据。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值