逻辑运算符、if语句

262 阅读3分钟

逻辑运算符:

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,那么程序会自动进入下一个分支开始执行。