A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a0236575 中级黑马   /  2016-4-19 23:12  /  532 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

运算符


逻辑运算符:
        &        :遇 false 则 false
        |        :遇 true 则 true       
        ^        :相同是 false ,不同是 true
        !        :!false =true ,!true = false

        &和&&的区别:
                &两边都会执行,&&在左边是 false 的时候,则右边不执行

        |和||的区别:
                |两边都会执行,||在左边是 true 的时候,则右边不执行

位运算符:
        &        :遇 0 则 0
        |        :遇 1 则 1       
        ^        :相同是 0 ,不同是 1   
                (特点:A^B^B = A。作用:a.不定义第三方变量实现2个变量的交换 b.文件的加密)
        ~        :按位取反   (~A = -(A+1))

        >>  >>>  <<        的作用:
                最有效率的算出3*8    3<<3
                最有效率的算出8/2    8>>1

三元运算符
        格式:(关系表达式)? 表达式1 :表达式2
        注意:1)三元运算符一定有1个结果,并且这个结果要进行赋值操作。
                  2)三元运算符会根据关系表达式的值,只执行其中的一个表达式。       


Scanner 键盘录入


Scanner 的使用步骤是什么?
        1,导包
                import java.util.Scanner;
        2,创建 Scanner 的对象
                Scanner sc = new Scanner(System.in);
        3,获取键盘录入的数据
                int num = sc.nextInt();


流程控制语句


流程控制语句分为哪几类?
        顺序结构  (重上到下,依次执行)
        选择结构  ( if switch )
        循环结构  ( for while )

选择结构

if语句:
        格式1:
                if(比较表达式){
                        ...语句体
                }

        执行流程:如果比较表达式的值是true,执行语句体,否则不执行。

        格式2:
                if(比较表达式){
                        ...语句体1
                }else{
                        ...语句体2       
                }
        执行流程:如果比较表达式的值是true,执行语句体1,否则执行语句体2。

        格式3:
                if(比较表达式1){
                        ...语句体1
                }
                else if(比较表达式2){
                        ...语句体2
                }       
                ...
                else{
                        ...语句体n       
                }
        执行流程:如果比较表达式1的值是true,执行语句体1,比较表达式2的值是true,,执行语句体2,...否则执行语句体n。


        注意事项:
                a.比较表达式的值只能是 boolean
                b.左大号号前面不要加分号
                c.如何语句体只有1句的话,那么大括号可以省略,但是不建议省略。
                d.比较表达式只能写在if的后面
                e.else可以省略,但是不建议,因为可以对范围外的数据进行提示。
       
        补充:
                int b = 10;
                //int  a = 10;   这个a=10不能申明,因为他的作业域,包含了下面a=20的作用域。
                if(b<20){
                        int a =20;
                        System.out.println(a);
                }
                int  a = 10; //这个a=10可以申明,因为他不包含上面a=20的作用域
                System.out.println(a);

        练习:键盘录入成绩:

                        Scanner sc = new Scanner(System.in);
                        System.out.println("请输入一个0-100的数字");
                        int num = sc.nextInt();
                        if( num<0||num>100){
                                System.out.println("你输入有误");
                        }else if(num>=90){//90-100
                                System.out.println("优");
                        }else if(num>=80){//80-89
                                System.out.println("良");
                        }else if(num>=70){//70-79
                                System.out.println("中");
                        }else if(num>=60){//60-69
                                System.out.println("及");
                        }else{ //0-59
                                System.out.println("差");
                        }

switch 语句
        格式:
                switch (表达式) {
                        case 值1:
                                语句体1;
                        break;

                        case 值2:
                                语句体2;
                        break;
                        ....
                        default:
                                语句体n;
                        break;
                }

        执行流程:
                根据表达式的值,与 case 后面的值进行匹配,如果匹配上了,
                   那么执行对应的语句体,否则执行 default 里面的语句。

        注意事项:
                1.表达式里面的值: byte,short,char,int,枚举(JDK1.5),String(JDK1.7)
                2.case 后面的值,只能是常量,并且不能重复
                3.break 可以省略吗? 可以,但是会出现 case 穿透现象,不建议省略。
                4.default 可以省略吗? 可以,但是也不建议,因为它里面一般放错误提示。
                5.default 一定要放在最后吗? 不一定,但是,一定是所有的 case 都匹配完成之后,
                          并且没有匹配上,这个时候才会执行 default 里面的语句。
                6.switch 的结束条件。a.遇到 break     b.遇到switch的右大括号。

if 和 switch 的区别:
        if 对范围进行判断, switch 固定值进行判断。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马