JavaSE--二、运算符&键盘输入&选择语句

大家好,我是平凡郭先生。

一、逻辑运算符有哪些

&,|,^,!

&&,||

1.&(逻辑与)

        这个&符号可以理解为咱们中国通俗易懂的中国话就是"与",就好比你要去商店买东西,要了辣条"与"方便面,这个时候店主必须给你这两个东西你才高兴("高兴"就好比java中的true),只要两种东西没给够或给错了,你会不高兴("不高兴"就好比java中的false);解释再多,不如来个列子,如下:

        (5>3)&(5>2)

        在Java中5>3与5>2都会返回true,则上面的结果为true

        (5<3)&(5>2)     (5>3)&(5<3)    (5<3)&(5<2)

        如上,只要有一个条件不符合(也就是说&两边只要有一个返回值为false),则表达式最终的结果为false

2.|(逻辑或)

        这个就是或的意思,咱们再举一个贴近与生活的栗子(例子),好比咱们又去商店买东西,这次去买洗发水,洗发水的牌子可以是飘柔"或"清扬,这时店主只要给你拿其中的一个你就高兴("高兴"就好比java中的true);代码如下:

        (5>3)|(5>2)    (5>3)|(5<2)    (5<3)|(5>2)

        只要"|"两边有一个符合条件(只要有一个返回true),则表达式最终的结果为true

        (5<3)|(5<2)

        只有两边都是false时,表达式最终的结果为false

3.^(逻辑异或)不经常用

        两边返回的结果都一样(要不都是false,要不都是true),则结果为false;两边结果不同时则返回true

4.!(逻辑非)

        意思就是去相反的值

        !(5>3)

         5>3返回的是ture,则结果为false;非flase则true

5.&&(短路与)

        &&和&的结果是一样的

        &&具有短路的效果,左边为false,右边就不在执行;

        &无论左边是flase还是true,右边都会执行

6.||(短路或)

        ||和|的结果都一样

        ||也具有短路的效果,左边为true,右边就不在执行

        |无论左边是false还是true,右边都会执行

二、三元运算符

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

    如果关系表达式值为true则取表达式1,如果为false,则取表达式2

    举个栗子(栗子说:干嘛老举我):

    (a>b)?a:b

    如果a>b,则取a;如果a

三、键盘输入

    1.导包:import java.util.Scanner

    2.创建键盘录入对象

       格式:Scanner scan = new Scanner(System.in);

    3.通过对象获取数据

       int x = scan.nextInt();

       String str = scan.next();

四、选择结构语句

    (一)if

        格式一:

                if(比较表达式){

                     语句体;   

                 }

        解释:这个if就好比咱们中国话中的如果,如果比较表达式成立(也就是比较表达式返回true),则执行语句体,不成立(也就是false)则就不执行语句体

        格式二:

                if(比较表达式){

                    语句体1;

                }else{

                     语句体2;   

                }

                解释:这个if的意思还和上面的if意思一样,else就是否则怎么样,也就是当if后面的比较表达式不成立(也就是说返回false)时,执行else中的语句体2;

                格式三:

                            if(比较表达式1){

                                    语句1;

                            }else   if(比较表达式2){

                                    语句2;

                            }else   if(比较表达式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(表达式) {

      case 值1:
语句体1;
break;
    case 值2:
语句体2;
break;
    …
    default:
语句体n+1;
break;

    }

        执行流程
先计算表达式的值

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

        注: a:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
     b:default可以省略吗?
* 可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
* 特殊情况:
* case就可以把值固定。
* A,B,C,D
     c:break可以省略吗?
* 最后一个可以省略,其他最好不要省略
* 会出现一个现象:case穿透。
* 最终我们建议不要省略
     d:default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。
      e:switch语句的结束条件
* a:遇到break就结束了
* b:执行到switch的右大括号就结束了

        


你可能感兴趣的:(JavaSE)