Java基础面试题解析

0 下载量 181 浏览量 更新于2024-08-03 收藏 22KB DOCX 举报
"Java基础知识和面试题解析" Java是一种广泛使用的高级编程语言,以其平台无关性、自动内存管理(垃圾收集)以及丰富的类库而著名。以下是对文档中提到的一些Java基础面试题的解答和相关知识点的扩展: 1、不是Java关键字的选项:题目中列出的选项中,`const`在Java中不是关键字,而是`final`用来声明常量。`NULL`、`false`和`this`是Java中的关键字,而`native`也是Java的关键字,用于标记一个方法是用C或C++实现的。 2、关于垃圾收集:Java的垃圾收集机制自动检测不再使用的对象并释放其占用的内存,无需程序员手动进行。选项B正确,A、C和D描述的都不是Java垃圾收集器的标准行为。 3、数组长度:在Java中,数组的长度可以通过`.length`属性获取,不加括号。因此,表达式`m.length()`是错误的,它看起来像是调用了方法,但实际数组没有length()方法。正确答案是D,`m.length-1`表示数组元素的个数,因为数组索引从0开始。 4、访问未初始化的数组元素:在Java中,直接访问未初始化的数组元素会引发编译错误。所以,当尝试打印`a[6]`时,会得到编译错误,答案C正确。 5、do-while循环:do-while循环至少会执行一次,然后根据条件判断是否继续执行。在这个例子中,i的初始值为5,循环体打印i,然后i减1,直到i小于等于5。因此,循环会打印5,然后停止,输出"finished"。答案是AD。 6、switch语句:在Java的switch语句中,没有break语句会导致多个case执行。当m为0、1或2时,会依次执行到"Condition2",所以ABC都是正确答案。 18、合法的变量声明:在Java中,变量声明需要遵循一定的规则: - A)`long1=4990`是合法的,因为4990在long类型的范围内。 - B)`inti=4L`是非法的,`4L`是long型常量,不能赋给int变量。 - C)`floatf=1.1`是非法的,1.1是double型,需要转换为float或者写成`1.1f`。 - D)选项未完,但通常情况下,`double d="..."`应该是非法的,因为字符串不能直接赋值给double变量。 以上知识点涵盖了Java的基础语法,包括关键字、垃圾收集、数组、循环、switch语句以及变量声明。这些是Java程序员必备的基本功,也是面试中常见的问题。