黑马程序员技术交流社区

标题: 发个帖记录一下今天做的笔记 [打印本页]

作者: Zzzack    时间: 2015-9-16 23:04
标题: 发个帖记录一下今天做的笔记
一、运算符
    0、表达式
        算术表达式:a + b;
        关系表达式:a > b;

    1、逻辑运算符
        A:有哪些:&, |, ^, !, &&, ||
        B:用来连接boolean表达式的符号
        C:结论
                &:遇false则false
                |:遇true则true
                ^:相同者false,不同则true(情侣关系)
                !:非true则false,非false则true
                &&:结果和&是一样的,只不过有短路效果,左边为false,则右边不执行
                ||:结果和|是一样的,只不过有短路效果,左边为true,则右边不执行
        D:开发中常用哪些
                &&, ||, !


    2、位运算符【了解】
        A:有哪些:&, |, ^, ~, >>, >>>, <<
        B:结论:
                &:有0则0
                |:有1则1
                ^:相同则0,不同则1
                ~:按位取反
                >>:右移, 最高位是0,左边补齐0;最高位是1,左边补齐1
                <<:左移, 左边的最高位丢弃,右边补齐0;
                >>>:无符号右移, 无论最高位是0还是1,左边补齐0。

        C:面试题【掌握】
            (1)实现两个整数的交换(不用第三方变量)
                int a = 4;
                int b = 5;
                A方案:(有弊端,可能a+b的结果会超出int范围)
                  a = a + b;
                  b = a - b;
                  a = a - b;
                B方案:
                  a = a^b;
                  b = a^b;
                  a = a^b;
                C方案(开发中用这个)
                  int temp = a;
                  a = b;
                  b = temp;

            (2)最有效地算出2*8的结果
                2:  0000 0010
                16: 0001 0000
                   2<<3

    3、三元运算符
        A:格式
                关系表达式 ? 表达式1 : 表达式2;
        B:执行流程
                计算关系表达式的结果是true还是false?
                    * 如果是true,返回表达式1
                    * 如果是false,返回表达式2

----------------------------------------------------------------------

二、键盘录入【掌握】
    1、实现格式(目前先记住)
        A:导包
                import java.util.Scanner;
                (位置:在class的上面)
        B:创建对象
                Scanner sc = new Scanner(System.in);
        C:获取数据
                int x = sc.nextInt();

----------------------------------------------------------------------

三、流程控制语句
    1、可以控制程序执行流程的语句
    2、分类
        A:顺序结构
        B:选择结构
                a:if语句
                b:switch语句
        C:循环结构
                a:for语句
                b:while语句
                c:do...while语句

----------------------------------------------------------------------

四、if语句【掌握】
        1、三种格式
                A:格式1
                        if (条件表达式) {
                                语句体;
                        }

                        执行流程:
                                判断条件表达式的值,看是true还是false
                                * 如果是true,就执行语句体;
                                * 如果是false,就不执行语句体

                        注意事项:
                                a:条件表达式的结构必须是boolean类型
                                b:如果if语句控制的语句体是一条语句,大括号{}可以省略,但是建议永远不要省略
                                c:右小括号与左大括号 ") {" 之间不要有分号

                B:格式2
                        if (比较表达式) {
                                语句体1;
                        } else {
                                语句体2;
                        }

                        执行流程:
                                判断比较表达式的结果是true还是false
                                * 如果是true,执行语句体1;
                                * 如果是false,执行语句体2;
                       
                        注意事项:
                                else后面是没有比较表达式的哟!
               
                C:格式3
                        if (比较表达式1) {
                                语句体1;
                        } else if (比较表达式2) {
                                语句体2;
                        } else if (比较表达式3) {
                                语句体3;
                        } ...
                          ...
                        } else {
                                语句体n+1;
                        }
                       
                        执行流程:
                                判断比较表达式1的值,看是true还是false
                                * 如果是true,就执行语句体1;
                                * 如果是false,就判断比较表达式2,看是true还是false
                                    * 如果是true,就执行语句体2
                                    * 如果是false,就判断比较表达式3,看是true还是false
                                        * 如果是true,就执行语句体3
                                        * 如果是false,就判断.......
                                        .......
                                如果以上条件都不满足,就执行语句体n+1
                       
                        注意事项:
                                a:最后一个else可以省略,但不建议省略,这样可以对范围外的值进行处理
                                b:一旦有一个条件表达式满足了,里面的语句体就会执行,那么其它的语句都不会执行。

        2、三元运算符合if语句格式2的关系
                所有三元运算符能实现的,if语句的格式2都能实现,反之不成立。

                比如说当if控制的语句体是一个输出语句的时候,就不行了,为什么哩?
                因为三元运算符是一个运算符,必须要有一个结果(具体的值)返回。

----------------------------------------------------------------------

五、switch语句【掌握】
        1、格式
                switch (表达式) {   
                case 常量值1:
                        语句体1;
                        break;
                case 常量值2:
                        语句体2;
                        break;
                case 常量值3:
                        语句体3;
                        break;
                .....
                default:
                        语句体n+1;
                        break;
                }
       
                格式说明:
                    表达式:可以是byte,short,int,char
                            JDK5.0以后可以是枚举类型
                            JDK7.0以后可以是字符串类型     //String s = "fafdaf"
                     case:后面的值x是要和表达式的值进行相等比较的值
                     break:表示程序到这里中断,跳出switch语句
                     default:如果前面所有的case情况都不匹配,就执行default下面的语句
                                相当于if语句中的最后一个else{};

                执行流程:
                     a:先计算表达式的值
                     b:然后和case后面的值匹配,如果有匹配值,就执行对应的语句,否则执行default控制的语句体。

        2、注意事项
                A:switch表达式只能是byte,short,int,char,枚举(JDK5),字符串(JDK7)
                B:case后面只能是常量,不能是变量;多个case后面的值不能出现相同的。
                C:default可以省略吗?
                D:break可以省略吗?
                E:default一定要放到最后吗?
                F:switch语句的结束条件
                        a:遇到break就结束
                        b:执行到switch右大括号就结束

----------------------------------------------------------------------

六、if语句和switch语句的区别
        A:判断固定值的时候,建议用switch;
        B:判断区间或范围的时候,用if。
作者: choseisstart    时间: 2015-9-16 23:27
学的不错,赞一个!!
作者: 狮子王    时间: 2015-9-17 09:39
一些基础总结~  不错!
作者: Zzzack    时间: 2015-9-17 21:45
狮子王 发表于 2015-9-17 09:39
一些基础总结~  不错!

谢啦!
作者: 狮子王    时间: 2015-9-17 21:45
Zzzack 发表于 2015-9-17 21:45
谢啦!

加油~
作者: Zzzack    时间: 2015-9-17 21:46
choseisstart 发表于 2015-9-16 23:27
学的不错,赞一个!!

谢啦!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2