黑马程序员技术交流社区

标题: 总结重点 [打印本页]

作者: 奔跑的喜牛    时间: 2016-6-7 22:40
标题: 总结重点
1.面试题之变量相加和常量相加的区别)(掌握)
* A:案例演示
        * 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
        * byte b1 = 3;
        * byte b2 = 4;
        * byte b3 = b1 + b2;
                * 从两方面去回答这个题
                * b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
                * byte类型的变量在进行运算的时候,会自动类型提升为int类型
        * byte b4 = 3 + 4;
                * 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了


2.面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
        * short s=1;s = s+1;
        * short s=1;s+=1;
案例:
class Test1_Operator {
        public static void main(String[] args) {
                // 面试题:看下面的程序是否有问题,如果有问题,请指出并说明理由。
                //short s=1;s = s+1;                        //当short与int进行运算的时候,会提升为int类型,两个int类型相加的结果也是int类型
                short s=1;s+=1;                                        //s = (short)(s + 1);

                System.out.println(s);
        }
}
3. * C:面试题(基本数据类型,只要能提升为int的都可以,引用数据类型中的枚举(JDK1.5)和String(JDK1.7))
        * byte可以作为switch的表达式吗?
        * long可以作为switch的表达式吗?
        * String可以作为switch的表达式吗?
###08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用)
* A:代码块概述
        * 在Java中,使用{}括起来的代码被称为代码块。
* B:代码块分类
        * 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。
        局部代码块:只要是和局部有关系的,都是和方法有关系的
        局部变量:在方法声明上或者在方法内部
        * b:构造代码块 (初始化块)
                * 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行
        * c:静态代码块
                * 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
                * 一般用于加载驱动






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