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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 记忆海 中级黑马   /  2016-4-9 23:34  /  500 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

* 面试题 1:看下面的程序是否有问题,如果有问题,请指出并说明理由。
        * 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
                    String s1 = "a";
                String s2 = "b";
                String s3 = "ab";
                System.out.println(s3 == s1 + s2);      // false
                System.out.println(s3 == "a" + "b");     // true



面试题 3
        * byte b = 10;
        * b++;
        * b = b + 1;
        * 问哪句会报错,为什么

                s = s + 2;     // 报错,short类型参与运算会转换成int类型,相加后结果是int,赋值给short可能损失精度.
                s += 2;      // 不报错,相当于 s = (short)(s + 2);



面试题 4    请自己实现两个整数变量的交换
         int a = 10;
         int b = 20;
        第一种:不使用第三方变量
        a = a ^ b;
        b = a ^ b;
        a=  a ^ b;
       第二种:使用第三方变量
       int temp = a;
        a = b;
        b = temp;


面试题 5    用最高效的方式计算2*8的结果.
                        2 << 3




面试题 6
        * byte可以作为switch的表达式吗?      可以
        * long可以作为switch的表达式吗?      不可以
        * String可以作为switch的表达式吗?      JDK1.7之后可以

        switch表达式允许的数据类型是:byte 、 short、 int 、 char;jdk5之后增加:枚举;JDK7之后增加:String


评分

参与人数 1黑马币 +10 收起 理由
星空仰望heaven + 10 赞一个!

查看全部评分

0 个回复

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