1、谈谈你对java中的引用传递?或值传递和引用传递的理解。
答:1、java中没有真正意义上的引用传递
2、基本类型参数的传递的是变量值,引用类型传递的是变量内存地址
3、对引用数据类型变量的操作实际就是根据内存地址值对对象的操作
2、谈谈你对final关键字的理解。
答:1、final的意思是最终的
2、final可以修饰类、方法、变量
3、final修饰的类是最终类,不能被继承
final修饰的方法不能被重写
final修饰的变量(称为常量)不能重写赋值
3、下列语句是否编译错误,为什么?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答:编译错误。在语句三中
因为两个byte类型的变量一起运算时,会将值向上提升为int 类型,
所以会提示精度损失,应改为:byte b3 = (byte)(b1 + b2);
当两个常量进行运算时,会先计算结果,假若左边的变量的能接收,则不报错,否则会报错
4、(1)请用最有效率的代码写出2乘以8
答:2<<3(最有效率的运算是位运算)
(2)请交换两个变量。
int a = 10;
int b = 20;
答:
开发:临时变量
int temp = a;
a = b;
b = temp;
面试:位^运算符
a = a ^ b;
b = a ^ b;
a = a ^ b; |