面经 - Java 基础篇

1、++ 运算符

解析:代码x=(m++)+n中,这里的括号()代表与后面的加号进行区分,并不是指优先计算m++的值,m++同样是先参与运算后自增。表示先进行取出m的值5,再进行运算加n的值5+6=11,所以x的值为11,最后再进行自增m等于6。

2、Java 中,键盘记录 char 字符如何操作?

Scanner sc = new Scanner(System.in);

sc.nextChar(); // F,并没有这样的方法

sc.next().toCharArray()[0]; // T,先通过 String 吸收,然后转化为字符型数组,然后取第一个,效果等价于直接吸收一个字符型Char

3、下面选项中关于JDK的说法正确的是?

4、下面选项中说法正确的是?(选两项)

扫描二维码关注公众号,回复: 9973903 查看本文章

5、double & float

6、超出类型取值范围的错误

7、运算优先级

8、常见编译错误——若局部变量没有初始化,则无法拿来使用。

int b; // 前提这里是局部变量
System.out.println(b); // 编译错误,b没有初始化,不会输出随机值

9、出其不意,题目或选项看完整。

10、switch括号内支持的数据类型

11、if/else 注意事项

12、switch 的匹配原理

13、break & continue 的使用

14、死循环编译问题,如果是常量IDE可以直接检测到会报编译错误,否则编译成功,哪怕逻辑死循环

while(2>1);
System.out.println(1); // CE

int n = 10;
while(n<11);
System.out.println(2); // CS:compiler success

15、这题就很尴尬了,难道不会中止程序码?不会的,万一被 try...catch...了呢!

16、数组初始化逗号后面没内容问题

int arr[][] = new int[][]{{1,2,3},{4,5,}};

System.out.println(arr[1][2]);

// Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2

17、小心代码写的是否为打印

18、重载方法

19、可变参数列表

20、待更新……

发布了812 篇原创文章 · 获赞 1648 · 访问量 77万+

猜你喜欢

转载自blog.csdn.net/Dream_Weave/article/details/104945220