java面试题(张孝祥)
根据提供的文件信息,以下是从标题、描述、及部分内容中提炼出的关键知识点: ### Java基础知识概述 #### 一、源文件中的类数量与限制 - **知识点:** 在一个`.java`源文件中,可以包含多个类(非内部类),但只能有一个公共(`public`)类,并且该公共类的名称必须与文件名相同。 - **示例代码:** ```java public class MainClass { // 主类 } class AnotherClass { // 非公共类 } ``` #### 二、Java中的`goto`关键字 - **知识点:** `goto`是Java的一个保留字,但在当前版本的Java中并未使用。 - **相关知识:** `goto`在其他编程语言如C/C++中用于实现无条件跳转,但在Java中被设计为更安全的语言,因此不支持`goto`。 #### 三、`&`与`&&`的区别 - **知识点:** - `&`和`&&`都可以作为逻辑与运算符,表示逻辑与(`AND`)。 - `&&`具有短路功能,即当左侧表达式为`false`时,右侧表达式不会被计算。 - `&`也可以用作位运算符。 - **示例代码:** ```java String str = null; if (str != null && !str.equals("")) { // 不会抛出NullPointerException } if (str != null & !str.equals("")) { // 抛出NullPointerException } int x = 0x31; int result = x & 0x0f; // 结果为0x01 ``` #### 四、跳出多重嵌套循环 - **知识点:** 在Java中,可以通过定义标签并结合带标签的`break`语句来跳出多重嵌套循环。 - **示例代码:** ```java outerLoop: for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.println("i=" + i + ", j=" + j); if (j == 5) break outerLoop; } } ``` - **变体:** 另一种方法是通过改变外部循环的条件来控制循环的退出。 ```java int[][] arr = {{1, 2, 3}, {4, 5, 6, 7}, {9}}; boolean found = false; for (int i = 0; i < arr.length && !found; i++) { for (int j = 0; j < arr[i].length; j++) { if (arr[i][j] == 5) { found = true; break; } } } ``` #### 五、`switch`语句的作用对象 - **知识点:** `switch`语句可以作用在`byte`、`short`、`char`及其包装类型上,但不能作用在`long`和`String`类型上。 - **解释:** `switch`表达式必须是一个整数表达式或枚举常量。`byte`、`short`和`char`可以隐式转换为`int`,因此可以用于`switch`语句。而`long`和`String`不符合此规则。 #### 六、类型转换与自动提升 - **知识点:** 当`short`类型的变量与其他类型进行算术运算时,会自动提升为`int`类型。使用加法赋值运算符(`+=`)可以避免显式类型转换。 - **示例代码:** ```java short s1 = 1; s1 += 1; // 正确 s1 = s1 + 1; // 编译错误,需要显式转换 ``` #### 七、`char`类型存储汉字 - **知识点:** `char`类型变量可以存储Unicode编码的字符,包括汉字。 - **解释:** Unicode编码字符集包含大多数常用的汉字。因此,`char`类型的变量可以存储汉字。 - **示例代码:** ```java char c = '汉'; // 正确 ``` #### 八、快速计算乘法 - **知识点:** 使用位运算符`<<`可以高效地计算乘以2的幂次方的运算。 - **示例代码:** ```java int result = 2 << 3; // 结果为16 ``` 以上知识点覆盖了Java基础部分的重要概念,可以帮助准备Java面试的人更好地理解和掌握这些基本知识点。
剩余63页未读,继续阅读
- hyh_ykx2012-08-10不错哦,面试题很全面,题目很经典
- 粉丝: 5
- 资源: 7
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助