菜鸟先飞之JAVA_三元运算符、if和switch

来源:互联网 发布:mac傻瓜剪辑视频软件 编辑:程序博客网 时间:2024/04/20 13:27

三元运算符

三元运算符的格式:

                   (关系表达式) ? 表达式1 : 表达式2;

执行流程:

*如果关系表达式的值为true,就返回表达式1的值;

*如果关系表达式的值为false,就返回表达式2的值。

If语句

if语句的格式1:

                   if(比较表达式) {

                            语句体;

                   }

执行流程:

         *先计算比较表达式的值,看其返回值是true还是false。

         *如果是true,就执行语句体;

         *如果是false,就不执行语句体;

if语句的格式2:

                   if(比较表达式) {

                            语句体1;

                   }else{

                            语句体2;

                   }

执行流程:

         *首先计算比较表达式的值,看其返回值是true还是false。

         *如果是true,就执行语句体1;

         *如果是false,就执行语句体2;

if语句的格式3:

                   if(比较表达式1) {

                            语句体1;

                   }elseif(比较表达式2) {

                            语句体2;

                   }elseif(比较表达式3) {

                            语句体3;

                   }

                   ...

                   else{

                            语句体n+1;

                   }

执行流程:

         *首先计算比较表达式1看其返回值是true还是false,

         *如果是true,就执行语句体1,if语句结束。

         *如果是false,接着计算比较表达式2看其返回值是true还是false,

        

         *如果是true,就执行语句体2,if语句结束。

         *如果是false,接着计算比较表达式3看其返回值是true还是false,

        

         *如果都是false,就执行语句体n+1。

Switch语句

switch语句的格式:

                   switch(表达式) {

                         case 值1:

                                     语句体1;

                                     break;

                                case 值2:

                                     语句体2;

                                     break;

                                …

                                default:

                                     语句体n+1;

                                     break;

             }

执行流程:

         *先计算表达式的值

         *然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句

选择结构switch语句的注意事项:

         *a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的

         *b:default可以省略吗?

                   *可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。

                   *特殊情况:

                            *case就可以把值固定。

                            *A,B,C,D

         *c:break可以省略吗?

                   *最后一个可以省略,其他最好不要省略

                   *会出现一个现象:case穿透。

                   *最终我们建议不要省略

         *d:default一定要在最后吗?

                   *不是,可以在任意位置。但是建议在最后。

         *e:switch语句的结束条件

                   *a:遇到break就结束了

                   *b:执行到switch的右大括号就结束了

* byte可以作为switch的表达式吗?          可以

* long可以作为switch的表达式吗?         不可以

* String可以作为switch的表达式吗?          可以

基本数据类型可以接收byte,short,char,int

引用数据类型可以接收枚举(JDK1.5)String字符串(JDK1.7)

 

If语句和三元运算符的区别

1、三元运算符实现的,都可以采用if语句实现。反之不成立。  

2、什么时候if语句实现不能用三元改进呢?

                   *当if语句控制的操作是一个输出语句的时候就不能。

                   *为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。

 

选择结构if语句和switch语句的区别

switch语句和if语句的各自使用场景

1、switch建议判断固定值的时候用

2、if建议判断区间或范围的时候用

 

&&和&、||和|(短路与和逻辑与、短路或和逻辑或)的区别

 

首先名称是不同的

&&逻辑与  ||逻辑或  它们都是逻辑运算符

& 按位与  |按位或  它们都是位运算符

 

运算规则:

&同为1时为1,否则为0

|同为0时为0,否则为1

 

&&逻辑与 也叫做短路与   左边是false,右边不执行,结果为false

||逻辑或  也叫做短路或   左边是true,右边不执行,结果为true

原创粉丝点击