Java基础面试题总结(二)

来源:互联网 发布:淘宝旺铺专业版到期 编辑:程序博客网 时间:2024/05/22 15:24

1. short s1 = 1; s1 = s1 + 1; 有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1;//右边 (s1 + 1) 运算时会自动将表达式的类型提升为 int 型,//左边 s1 定义为 short 型,//将 int 型赋值给 short 型,编译器将报告需要强制类型转换的错误s1 = s1 + 1;    
short s1 = 1;//+= 为Java语言规定的运算符,Java编译器会对它进行特殊处理,因此可以正确编译s1 += 1;

2.char型变量中能不能存贮一个中文汉字?为什么?

已知前提:    1.char型变量用于存储Unicode编码字符集    2.Unicode编码字符集中包含汉字结论:char型变量可以存储中文汉字特例:若某个汉字不能使用Unicode编码表示,则其不能使用char型变量存储补充说明:因为Unicode编码占用两个字节,所以char类型变量也占用两个字节。

3.用最有效率的方法算出2乘以8等于几?

//CPU直接支持位运算,效率最高2 << 3 = 8 ; //奖一个数左移 n 位,就相当于乘以了 2 的 n 次方同理8 >> 3 = 1; //将一个数右移 n 位,就相当于除以了 2 的 n 次方

4.试比较重载、重写的差别与各自的特点

方法重载(Overload):在同一个类中,方法的名字相同,但参数个数、参数的类型或返回值类型不同!
方法重写(Override):它是指子类和父类的关系,子类重写了父类的方法,但方法名、参数类型、参数个数必须相同!

0 0