hi,我是Casy小白云,这是我的Java学习日记。
最近在学习Java基础语法,在菜鸟教程学,有测试练习题,我就做了做,发现了两道比较有意思的题,打算写出来分享一下:
1.不提示考点,先看题:
答案选哪个?5min思考时间。
A:true
B:s1 == s2 is:false
C:s1 == s2 is:true
D:false
做了一个测试,很多开发同学,都成功的绕过了正确答案:
其实答案是这样的:
可以看到,这道题考的是运算符的优先级,是不是有点意思?出其不意??
咳咳,平复挫败心情一起来看下一题。
我也做了一个实验,有的同学回答C,有的回答A,恭喜回答A的同学,答对了。
答案解析:
代码详解:
引申一下:基本数据类型传递参数,传递的是参数的副本,因此赋值也不会对原参数的值有影响。
public class ChuanDi {
public static void Doit1(int [] z) {
z=null;
}
public static void Doit2(int z){
z=0;
}
public static void main(String[] args) {
int [] a={1,2,3};
int s=1;
ChuanDi.Doit1(a);
for (int element:a){
System.out.print(element);
}
System.out.println("+++++++++++++++++++++");
ChuanDi.Doit2(s);
System.out.print(s);
System.out.println("+++++++++++++++++++++");
}
}
以上就是两道java基础题,你学会了吗?