【Java 笔试题详解】 1、`&`和`&&`的区别: `&`和`&&`都是逻辑与运算符,但`&&`具有短路功能。如果在`if`语句中使用`str != null && !str.equals("")`,当`str`为`null`时,`!str.equals("")`不会执行,避免了空指针异常。而`&`无论前面的条件如何,都会执行后续表达式。此外,`&`还可作为位运算符,用于进行按位与操作,如`0x31 & 0x0f`将得到最低4位。 2、跳出多重嵌套循环: 在Java中,可以用`break`配合标号跳出多重循环,或者通过改变外层循环的条件。一般不推荐使用标号,而是通过逻辑控制外层循环的终止。 3、`switch`语句适用范围: `switch`适用于`byte`, `short`, `char`及它们的包装类型,以及`int`和枚举类型。`long`和`String`不能直接用于`switch`,因为它们不能被隐式转换为`int`。 4、`short`变量加法问题: 对于`short s1 = 1; s1 = s1 + 1;`,加法操作会提升表达式到`int`类型,导致需要强制转换。而`short s1 = 1; s1 += 1;`中的`+=`运算符会被Java特殊处理,所以可以正确编译。 5、静态变量与实例变量: 静态变量属于类,无需创建对象即可访问,而实例变量属于对象,必须先创建对象才能使用。静态变量在类加载时分配空间,实例变量在对象创建时分配空间。 6、从`static`方法调用非`static`方法: 不允许从`static`方法内部直接调用非`static`方法,因为`static`方法不依赖对象实例,而非`static`方法需要对象实例。 7、`Integer`与`int`差异: `int`是原始类型,`Integer`是其封装类。`int`默认值为0,`Integer`默认值为`null`,可以区分未赋值和值为0的状态。 8、访问修饰符权限: - `public`:所有类都可以访问。 - `protected`:同包和子类可以访问。 - `friendly`(默认):仅同包内可以访问。 - `private`:仅在定义类内部可访问。 9、面向对象特性: 面向对象编程包括封装、继承、抽象和多态四个主要特征。 10、Java实现多态机制: 通过父类或接口的引用指向子类或实现类的对象,方法调用在运行时动态绑定到实际对象的方法。 11、内部类: 内部类是在另一个类内部定义的类,分为静态嵌套类(Static Nested Class)和非静态嵌套类(Inner Class)。静态嵌套类与外部类之间没有实例关联,可以独立存在,而内嵌类(Inner Class)需要外部类实例才能创建。 总结: 这些Java笔试题涵盖了逻辑运算符、循环控制、`switch`语句、数据类型、访问权限、面向对象特性、多态实现和内部类等多个核心知识点,全面展示了Java编程的基础和进阶概念。理解和掌握这些内容对于Java开发者来说至关重要,能够帮助他们在面试中表现出扎实的理论基础和实践经验。
剩余28页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助