2.4 运算符 -【Java入门--疯狂Java讲义】

Java的运算符主要有:

赋值运算符

算术运算符

比较运算符

逻辑运算符

其中,复制运算符比较简单,就是一个“=”等号,格式也相对简单,表示吧右边的值赋给左边:

变量名 = 表达式(或者一个具体值)

算术运算符,也是平时常见的:+(加) -(减) *(乘)  /(除)  %(取余) 以及 ++(自增)  --(自减)

结合复制运算符和算术运算符,有一些复合赋值运算符: +=  -=  *=  /=  %=,其实和 ++ 与 -- 一样,这些只是一种特殊的情况,特殊在,特们是吧自己的值取出来经过+ - * / %运算以后再赋给自己。

int i = 15;

//下面代码效果是一样的

i += 10;
i = i+10;

值得注意的一点是:如果运算的类型不一致,会自动转换成最大兼容性的一种值进行计算,例如int类型的一个数和double的一个数相加,结果是double类型的,这一点在前面说数据类型的时候也提到过了。

int i = 10;
double d = 15.5;
int x = i+d; //这一行代码是错的
double y = i+d; //这一行是正确的

 

比较运算符,是对于两个数的结果进行比较,得处一个boolean类型的值,一般都是作为条件语句的条件出现的,具体的有:>(大于)  <(小于)  >=(大于或等于)  <=(小于或等于)  ==(等于)  !=(不等于) ,这个应该是和以前数学里面的一样的,并且符合我们的思维习惯,应该挺好理解。

但是要注意两点,比较后的结果是一个boolean类型的结果,如果不是作为条件语句的条件的话,要有一个boolean类型的变量接收;

int i1 = 10;
int i2 = 15;
i1>i2; //这样写会变异报错,必须接收如下
boolean bool = i1>i2;

第二个就是 = 是赋值,而 == 才是等于,这一点是刚开始很容易出错的,常常会把=错当成==用,导致错误。

逻辑运算符,主要是进行一些逻辑运算的,有:

&&  短路与,两个条件为真,才返回真

&  不短路与,两个条件为真,才返回真

||  短路或,有一个条件为真,就返回真

|  不短路或,有一个条件为真,就返回真

!  非,表示结果取反

^  亦或,两个条件一样时返回真,不一样返回假

其中 && 与 & 之间的区别是:&&当遇到第一个条件为假,就不执行后面的判断,而&会执行所有的判断

int i = 10;
boolean bool1 = false;
boolean bool2 = bool1 && (i=20)==10;
System.out.println("bool2="+bool2+"\ti="+i);
//bool2=false	i=10
boolean bool3 = bool1 & (i=20)==10;
System.out.println("bool3="+bool3+"\ti="+i);
//bool3=false	i=20

由两次&&运算可以看出,bool2与bool3的值是一样的,所以&&与&的结果是一致的,但是后半段语句&&没有执行,&执行了,后面使用IDE进行Debug就可以很直观的看到这一点了。

同样的,||与|之间的区别也是,||只有有一个条件为真,就不再之后后面的判断,而|会执行后面的判断。

!是对结果取反,也就是说 !true等于false  ! false等于true 


Java运算符的优先级:

( )   !   算术运算符    条件运算符   &&    ||   赋值运算符

是从左向右的顺序依次执行的,所以遇到括号会先算括号里的,针对于这些运算符的优先级,网上有各种组合的式子来求结果,这种式子可以作为理解运算符的优先级的练习,但是,在开发中,建议用(())括号来分割运算表达式,这样便于我们直观的理解。

三目运算符,作为一个比较特殊的运算符,这里提一下,其实在开发中,三目运算符一般是代替if(){}else{}来简化代码的,格式如下:

变量名 = 条件?值1:值2;

就是说,如果满足条件,变量的值是值1,否则就是值2。当然,三目运算符也是可以嵌套的。

int i = 10;
//三目运算符
String str1 = i>18 ? "成年人" : "未成年人";
//三木运算符的嵌套
String str2 = i>18 ? i>65? "老年" : "壮年" : "未成年人";

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值