逻辑运算符:
1、 "和" :
又被称之为"与","且",连接两个boolean表达式,当它们同为true,那么整体返回true; 只要有一个为false,整体返回假;
符号:
&& - 逻辑与,是专用的逻辑符号
& - 位与,本质是位运算符,只是当它左右两端是boolean类型时, 表现出和"&&"同样的效果。
区别: 逻辑与&&:又被称之为"短路运算符",当它判断出第一个表达式为false的时候,它不会去执行第2个表达式; 位与:不短路
2、 "或" :
连接两个boolean表达式,当两个表达式有一个为true的时候,整体就为true;
符号:
|| - 逻辑或,专用的或符号
| - 位或,本质也是位运算符,只是当它左右两端是boolean类型时, 表现出和"||"同样的效果。
区别: 逻辑或 "||" :又被称之为"短路运算符",当它判断出第一个表达式为true的时候, 它不会去执行第2个表达式;
位或"|" :不短路
3、 "非" : 用来对一个boolean表达式的结果取反。如果这个表达式是true,取反后就是false;反之亦然。
符号: !
4、异或:
效果是当两个boolean表达式不同的时候返回true,相同的时候返回false;
符号: ^
if语句:
1、单分支if语句:
表达式:if(条件表达式){ 语句块 }
一旦遇到if,程序首先会对条件表达式进行判定,如果为true,则进入{}内部开始执行,执行结束以后,出了{}继续执行后面的代码;如果为false,则跳过{},执行{}后面的代码。
2、双分支if语句:
表达式:if(条件表达式){ 语句块1 }else{ 语句块2 }
执行顺序:首先判断条件表达式,如果为true则进入语句块1执行,执行完之后,跳到else的结束}外面,顺序往下; 如果为false则进入语句块2执行,结束后跳到else的结束}外面,顺序往下。
3、多分支if语句:
表达式:if(条件表达式1){ 语句块1 }else if(条件表达式2){ 语句块2 }else if(条件表达式3){ 语句块3 }.....{ }else{ 语句块n }
执行顺序:
首先判断条件表达式1 如果为true,则执行语句块1,然后跳到最后一个}的后面顺序往下执行; 如果为false,则判断条件表达式2;
如果为true,则执行语句块2,然后跳到最后一个}后面顺序往下;
如果为false,则判断条件表达式3.....
如果所有的条件表达式判断都为false,则进入最后一个else 执行,然后出了最后一个}往下顺序执行。
注意: 最后一个不带条件的else不是必须的,可以根据情况自主选择。
switch语句:
1、在switch当中,所有的case,包括default是没有顺序可言的;
2、在switch每个分支中,如果最后不写break,那么程序会自动进入下一个分支开始执行。