运算符 首先来看看 它们的优先级 在网上copy了一张图:
加减乘除 就不多说了。
一。移位运算
先说说 移位运算把。说白了就是 按位左右移动,这么说太抽象了 下面来个例子
来个 int 21 先转成二进制 为
0 0 1 0 1 0 1 我们来左移动 <<
则按位置向左边移动 空出来位置用 0 填补
0 0 1 0 1 0 1 < -- 0 往后推一位 把 0 补位
0 1 0 1 0 1 0 在转换成10进制 就是答案啦 42。
二 逻辑运算:
逻辑与运算 &
只有 0 1 按位& 运算 与运算的规则:1与1等于1,1与0等于0 , 0与0等于0 。 如下:
0 0 1 0 1 0 1 &
0 1 0 0 0 1 1
0 0 0 0 0 0 1
逻辑或 |
或运算的规则是:1或1等1,1或0等于1,0或0等于0。
比如 10010001 |
11110000 等于
11110001(二进制)。
位逻辑非 ~
即取 相反的数 如下
0101100 ~
1010011(二进制)
位逻辑异或运算 ^
异或运算的规则是:1异或1等于0, 1异或0等于1,0异或0等于0。 即:相同得0,相异得1。
0101110 ^
1001011
1100101 (二进制)
三,条件运算
这个在开发中会比较常用到
?:
string name="zhang"
int a= name == "" ? 1 : 2;
即判断 变量name 是否为 " " 空字符串 是的话则给 变量 a 赋值 1 否则 变量a 赋值 2 ; 上面所得值 为 2
这个其实可以 理解为一个 if else 的条件语句。
四,条件 与或 && ||
这个就不多说 : && 两边条件同时满足则为 true 一边为false 则返回 false
|| 满足一边即可。