比较运算符
大于小于等于:>、<、==
比较运算符的结果肯定是布尔型数值。
逻辑运算符
逻辑运算符用于连接两个布尔型的表达式。
与或非:&、|、!
&:只要有一个为假就是假,从左到右判断,均进行运算。
|:只要有一个为真就是真,从左到右判断,均进行运算。
!:判断事物的另外一面。
异或:^,符号两边如果相同,结果为false,两边结果不同,结果为true
&&:只要有一个为假就是假,从左到右判断,为假停止判断。
||:只要有一个为真就是真,从左到右判断,为真停止判断。
位运算
位运算符:&、|、^、~(反码)
1、对二进制值进行运算,1为真,0为假。例如:6为110,3为011,6&3=2(110&011=010)
2、与的位运算可以用1可以去取某数据的某段数据。
3、一个数异或同一个数两次,结果还是这个数:6^ 3^ 3=6,它的应用相当于加密。
4、6的取反~6是-7 6取反+1=7
位运算符:<<、>>、>>>、(左移、右移、无符号右移)
<<(左移):几位其实就是该数据乘以2的几次方,可以完成2的次幂运算
>>(右移):其实就是该数据除以2的几次幂,被右移数为负数,结果为负数,因为无论原高位是什么,空位就用什么补齐。负数原来高位为1,则右移后高位补1。
>>>(无符号右移):数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补齐
三元运算符
三个元素进行运算的符号。格式:(条件表达式)?表达式1:表达式2;如果条件为真,则运算后的结果是表达式1,否则是表达式2。z=(x>y)?x:y;
程序流程控制
顺序结构、判断结构、选择结构、循环结构
判断结构:if语句
第一种形式:
if(条件表达式)
{ 执行语句;}
第二种形式:
if(条件表达式)
{ 执行语句;}
else
{执行语句;}
第三种形式:
if(条件表达式)
{ 执行语句;}
else if
{执行语句;}
else
{执行语句;}
if (false); //判断语句后有;则后面的代码块与if无关,下面的你好仍然会输出
{
System.out.println("你好"); //局部代码块,需要注重局部代码块中变量的作用范围,局部代码块的范围决定了局部变量的生命周期。
}
if语句中判断语句中可以用或逻辑运算符来合并条件。
判断结构:switch语句
switch(表达式) //表达式的类型只能是四种类型的值:byte、short、int、char
{
case取值1:
执行语句;
break;
case取值2:
执行语句;
break;
default:
执行语句;
break //这个break可以省略,其它break不能够省略。
}
if语句和switch语句的应用区别
If:
1.对具体的值进行判断
2.对区间判断
3.对运算结果为布尔型boolean的表达式进行判断
Switch:
1.对具体的值判断
2.值的个数是固定的
3.对于几个固定的值的判断,建议使用switch语句,因为switch语句会将具体的答案都加载进内存,效率相对高一点。
循环语句:while语句
while(条件表达式)
{ 执行语句 ;}
循环语句:do while语句
do
{
执行语句;
}while(条件表达式);
do while 语句是先执行一句再执行循环。
循环语句:for 语句
for(初始化表达式:循环条件表达式:循环后的表达式)
{
执行语句;(循环体)
}
初始化表达式多个时,可以用逗号隔开。
for和while的特点
1、for和while可以互换
2、格式上的不同,在使用上有点小区别。如果需要通过变量来对循环进行控制,该变量只作为循环增量存在时,区别就体现出来了。
3、while控制循环的变量,在循环语句外,而for的循环控制变量在循环语句内,循环结束后释放。
4、for常用于循环次数已知的情况。
5、for的循环条件表达式可不写,默认为true。
什么时候使用循环结构呢?
当对某些代码执行很多次时,使用循环结构完成
当对一个条件进行一次判断时,可以使用if语句
当对一个条件进行多次判断时,可以使用while语句
注意:在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要循环,通常情况下,需要定义条件,需要控制次数