位运算符:是针对二进制数据的运算。
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移 左边的高位舍弃,右边空出的部分补齐0。
>> 右移 如果最高位是0,左边被移空的位就填入0;如果最高位是1,左边被移空的位就填入1
>>> 无符号右移 无论最高位是1还是0,左边被移空的高位都填入0
向左移动或者向右移动,其实就是把数据增大或者缩小2的指定次幂。
面试题1:
请用最高的效率写出2乘以8这个式子。
2*8 -- 2<<3
面试题2:
请把两个数据交换。
举例:
int a = 10;
int b = 20;
结果:
a = 20;
b = 10;
条件运算符:(三元运算符)
(条件表达式)?表达式1:表达式2;
注意:条件表达式说明这里将来只能是结果为true或者false的表达式。
执行顺序:
如果条件表达式为true,就把表达式1作为结果。
如果条件表达式为false,就把表达式2作为结果。
流程控制语句:
A:顺序结构 代码按照顺序从上往下执行。
B:选择结构 根据以下选择或者判断做出不同的执行。
a:选择结构
b:判断结构
C:循环结构 把某些事情做很多次。
选择结构:if语句体现。
格式1:
if(条件表达式)
{
语句体;
}
执行顺序:
根据条件表达式的返回值是true还是false决定程序的流程。
如果是true,就执行语句体;
如果是false,就什么都不做。
注意:
A:条件表达式:无论条件表达式是简单还是复杂,结果必须是boolean类型。
B:if语句后面可以不写{},但是,如果这样的话,它就只能控制后面的一条语句,
如果想控制多条,就必须加{}。
推荐:无论是控制一条还是多条,请都加上{}。
C:在if语句的{}前面不要写分号,否则,会对程序的结果有影响。
一般来说:出现{}的时候,就不会有分号,有分号的时候,不会有{}
作用域:
定义的变量的作用域,在它所属的那对{}内有效。
|
|