A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李永涛 中级黑马   /  2012-11-25 22:22  /  1392 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


1、自加自减:++、--,它们又分为前加和后加,前减和后减
它们都为一元运算符
例如:
i=i+1;效果相当于i++,++i
但是它们在表达式运算中时就效果就不一样了
例如:
Int age =18;
Int sum=age++ - 10;在该表达式中,sum的计算结果为8,age为19,                                                但是age是后加(所以在运算时,age++取age                                                原值进行运算在表达式计算完成后再进行自                                                        加。)
Int sum=++age - 10;sum的计算结果为9,age为19,但是age是前                                                加,所以在运算时,++age取age加1后的新值                                                进行运算
总之,不管是++age还是age++在运算之后他们都自加1
而自减--也一样。
一般情况下,一元运算符优先级大于二元运算符





2、复合运算符
+=                例如:age+=3(运算效率更高);相当于age=age+3;理解                成在age的原值上加3
-=
*=
/=
%=
能够改变变量的值的运算符有:
=(赋值运算符)
++,--
上面5种复合运算符归为=
关系运算符
  用于比较两个事物之间的关系(二元),比较时数据类型要相同
  >, <,   ==,   !=,   >=,   <=
关系表达式:a>b ,12!=13等
关系运算的结果是布尔类型的
布尔类型(bool)
Bool类型只有两个值ture和false
如果关系运算表达式成立,那么这个表达式的值为ture,否则为false


逻辑运算符
  &&,| | ,!
  逻辑运算符&&(与,并且),二元运算符:
  表达式1&&表达式2,逻辑“与”连接的两个表达式,要求能够求解成bool类型,一般情况下都是关系表达式。先进行关系运算在进行逻辑运算。
  整个逻辑“与”运算的结果也是bool类型
  在逻辑运算符&&中,当两个表达式权威true时,其结果为true。当表达式中只要有一个为false整个逻辑运算的结果就是false。
  
  对于逻辑运算符| | (或,或者),二元运算符:
  表达式1| |表达式2
  逻辑“或”连接的两个表达式,要求能够求解成bool类型,一般情况下都是关系表达式。
  整个逻辑“或”运算的结果也是bool类型
  当只要有一个为true,其运算结果为true。
  
  对于逻辑运算符|!(非),为一元运算符:
  用法:!(布尔类型的表达式),相当于取反
  如果(布尔类型的表达式)结果为true,那么加!后其结果就为false,反之亦然。
  
  5、逻辑&&“与”,逻辑| |“或”短路问题
  表达式1&&表达式2:
  当表达式1不为true时那么不再对表达式2进行计算
  例如:
  Int a=10;int b=5;
  Bool result =++a >50 && ++b >1;
  在运算之后其实a=11,b=5。B并不是=6.
  因为在逻辑运算符&&的运算中,当第一个表达式不成立时将不再对表达式2进行运算。只有当第一个表达式成立时才会对第二个表达式进行运算。
  
  表达式1| |表达式2
  例如:
  Int a=10;int b=5;
  Bool result =++a >5  | | ++b >1;
  在运算之后其实a=11,b=5。B并不是=6.
  因为在逻辑运算符| |的运算中,当第一个表达式成立时将不再对表达式2进行运算。只有当第一个表达式不成立时才会对第二个表达式进行运算
  
  
  
  

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马