比较运算符一定有结果,不是true就是false
(3=2)这个等号是赋值的意思,没有意义、
(3==2)做的比较运算的意思,这个等号是问3能等于2么,很显然是不等于2,所以结果是false。这里一个等号和两个等号的区别
&和&&的区别
&&运算只要左边的运算为假,那么结果就为假,右边的不管真假,都不会在运算了,、
&运算则是左右两边都要进行判断。
|和||的区别
||运算只要左边为true是,右边是不参与运算的,
|运算,无论左边的结果是什么,右边也会参与运算。
位运算
6 & 3=2 6|3=7 6 ^3=5 6^3^3=6
110 110 110 一个数异或同一个数两次,
&011 |011 ^011 结果还是这个数。
010=2 111=7 101=5
<< 左移
3 <<2=12 3<<3=24
其实是3*2(2)=12. 3*2(3)=24;左移几位其实就是该数据乘以2的几次方,可以完成2的次幂运算。
>>右移 最高位是什么就那什么来补,就是正数还是正数,负数还是负数。
右移几位其实就是除以2的几次幂
>>>无符号右移,数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补,
位运算是最有效率的一种运算方式。
对两个整数变量的值进行互换,(不需要第三方变量)
a =a +b;
b =a- b;
a = a-b;
这种方法可以实现,但是建议这种方法不要用,因为,如果两个整数的数值过大,会超出int的范围,会强制转换,数据会丢失精度。
运用异或就可以了,
a= a ^ b;
b = a ^b;
a = a ^ b; (开发的时候很少用,因为阅读性差)
这种方式可以很好的满足,运用异或的性质,一个数异或两次最后还是这个数。
三元运算符就是if else语句的简写格式(当运算有确定的结果时,才可以用简写格式。)
局部代码块可以决定局部变量的运算周期(变量用完就会被垃圾回收机制回收)
For(初始化表达式;循环条件表达式;循环后的操作表达式)
{
循环体
}
For和while的特点
1、for和while可以互换
2、格式上的不同,在使用上有点小区别。
如果需要通过变量来对循环进行控制,说变量只为循环增量存在时,区别就体现出来了。For里面的变量只在for内有效,而while的变量则不仅仅在while区域内,所以就比较的占用内存。
无限循环最简单的表现形式
While(true){}
For( ; ;){}
什么时候使用循环呢?
当对某些代码执行多次时,使用循环结构完成。
当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。
注意:在使用循环时,一定要明确那些语句需要参与循环,那些不需要。
循环通常情况下,需要定义条件,需要控制次数。