Java基础复习:经典编程题目集合

需积分: 10 7 下载量 129 浏览量 更新于2024-11-12 收藏 1KB TXT 举报
"这是关于Java基础知识的一些题目,涵盖了变量、运算符、类与对象、访问修饰符、异常处理等多个方面,适合初学者或长时间未编程的开发者进行复习和巩固。" 以下是对给定文件中各知识点的详细解释: 1. 长整型计算:题目中的 `1L<<35` 和 `1<<35` 涉及到位运算。在Java中,`L` 表示长整型(long),当进行位移操作时,如果左操作数不是整型或长整型,Java会自动提升类型。因此,`1L<<35` 是正确的,而 `1<<35` 会导致编译错误,因为 `1` 是一个整型(int),位移操作超过32位会出错。 2. 对象属性比较:`nameDuplicate` 方法用于判断两个 `Student` 对象的 `name` 是否相同。这里使用 `==` 进行引用比较,只有当两个对象引用指向同一个内存地址时,结果才为 `true`。若要进行字符串内容比较,应使用 `equals()` 方法。 3. short 类型转换:Java中,将数值转换为short类型可能需要显式类型转换,因为可能会丢失精度。 4. 基本数据类型与包装类的区别:Java中有原始类型(如int, char)和它们对应的包装类(如Integer, Character)。原始类型直接存储值,而包装类是对象,可以支持更多的操作,如自动装箱、拆箱。 5. 枚举(enum)的使用:Java中的枚举是一种特殊的类,用于定义一组常量,通常用于表示有限的、预定义的值。 6. 异常处理:Java通过 `try-catch-finally` 语句块进行异常处理,确保资源的正确释放。 7. `goto` 关键字:Java中不支持 `goto` 语句,它是一个保留关键字但未被使用。 8. 访问修饰符:Java有 public, private, protected 和默认四种访问修饰符,控制类、方法和变量的访问权限。 9. 重载与重写:重载(Overloading)发生在同一类中,方法名相同但参数列表不同;重写(Overriding)发生在子类对父类已有的方法进行重新实现。 10. 无参构造函数与默认构造函数:每个类都有一个默认构造函数,如果没有定义其他构造函数,Java会提供一个无参构造函数。 11. static 关键字:用于声明静态成员,它们属于类而不是类的实例。 12. Java字符串常量池:Java中字符串常量池存储了所有字符串字面量,相同字符串在池中只会有一个实例。题目中提到了字符串常量池的应用和效率问题。 13. main 方法:Java程序的入口点是 `public static void main(String[] args)` 方法。 14. final 关键字:final 用于声明不可变的变量、类或方法,确保变量的值不会改变,类不能被继承,方法不能被重写。 15. this 关键字:this 在Java中代表当前对象的引用,可以用来区分成员变量和局部变量,以及在构造函数中调用其他构造函数。 16. protected 访问修饰符:protected 提供了包内可见性和受保护的继承,即在同一包内的类可以访问,子类也可以访问。 17. 匿名内部类:Java允许创建没有名字的类,通常用在需要一次性使用的类或者作为接口的实现。 18. 数组的初始化:Java中可以使用 {} 进行数组初始化,可以同时指定元素的值。 19. Date 和 Calendar:Date 是日期时间类,Calendar 是日历抽象类,两者之间可以通过 `SimpleDateFormat` 或 `DateTimeFormatter` 进行格式化和解析。 20. String 和 StringBuffer:String 是不可变的,而 StringBuffer 可变,适用于多线程环境下的字符串操作,因为它是线程安全的。 这些题目涉及到的Java基础知识是学习Java编程的重要部分,理解并掌握这些概念对于编写高质量的Java代码至关重要。