第一周Java学习自测题目

张开发
2026/4/4 6:59:32 15 分钟阅读
第一周Java学习自测题目
一、选择题每题2分共16分1. 关于Java环境配置以下描述正确的是A) JAVA_HOME指向JDK安装目录下的bin文件夹B) Path环境变量中添加的是%JAVA_HOME%\libC) java命令用于编译Java源文件D) javac命令用于执行编译后的字节码文件2. 以下哪个不是Java的基本数据类型A) intB) floatC) StringD) char3. 关于Scanner类的使用以下说法错误的是A) next()方法读取一个单词遇到空格停止B) nextLine()方法读取整行内容包括空格C) nextInt()后接nextLine()需要额外处理缓冲区D) nextDouble()可以直接读取整数并转换为double4. 下列代码的输出结果是int a 5; int b 2; double result a / b; System.out.println(result);A) 2.5B) 2.0C) 2D) 编译错误5. 关于类的封装原则以下描述正确的是A) 所有成员变量都应该声明为public方便访问B) 使用private修饰成员变量通过公开方法访问C) 封装会降低代码的可维护性D) 封装允许外部直接修改对象的内部状态6. 关于继承以下说法正确的是A) Java支持多重继承一个子类可以有多个直接父类B) 子类不能访问父类的private成员C) 构造方法不会被子类继承D) super关键字用于调用子类的方法7. 以下关于多态的描述错误的是A) 多态需要满足继承和方法重写两个条件B) 静态方法也支持多态特性C) 父类引用指向子类对象是多态的体现D) 运行时根据实际对象类型调用相应方法8. 抽象类和接口的主要区别是A) 抽象类可以有构造方法接口不能B) 一个类可以实现多个接口只能继承一个抽象类C) 抽象类可以包含具体方法接口在JDK8前只能有抽象方法D) 以上都正确二、判断题每题1分共8分1. Java程序的文件名必须与public类名完全一致包括大小写。2. char类型使用双引号表示单个字符如A。3. Scanner类的nextInt()方法如果接收到非数字输入会抛出InputMismatchException。4. 方法重写要求子类方法的访问权限不能比父类方法更严格。5. instanceof运算符用于判断对象是否是某个类或其子类的实例。6. 接口中的default方法可以有方法体并且实现类可以直接使用。7. 枚举类型本质上是类可以有自己的属性和方法。8. 向下转型父类转成子类不需要进行类型检查可以直接转换。三、综合性编码任务60分任务学生成绩管理系统控制台版需求描述设计一个学生成绩管理系统要求使用面向对象思想体现封装、继承和多态特性。系统包含以下功能1. 核心类设计20分Person基类属性idString、nameString、ageint构造方法全参构造方法displayInfo() 显示基本信息Student类继承Person属性studentIdString、majorString、gradesHashMapString, Double存储课程名和成绩构造方法全参构造包含父类属性方法addGrade(String courseName, double score)添加/修改成绩removeGrade(String courseName)删除成绩calculateGPA()计算平均分保留2位小数displayStudentInfo()显示学生完整信息包括成绩Course类属性courseIdString、courseNameString、creditint构造方法全参构造方法displayCourseInfo() 显示课程信息2. 功能实现25分创建至少2个Student对象3个Course对象为每个学生添加至少2门课程的成绩实现菜单系统控制台交互1. 显示所有学生信息 2. 添加学生成绩 3. 删除学生成绩 4. 计算学生GPA 5. 退出系统用户选择菜单选项后执行相应功能3. 面向对象特性体现15分封装所有属性私有通过公开方法访问继承Student继承Person使用super调用父类构造方法多态使用Person数组或集合存储Student对象循环调用displayInfo()方法验收标准程序能正确编译运行10分所有类定义完整符合面向对象原则15分菜单功能齐全能正常交互15分封装、继承、多态特性在代码中有明确体现15分代码规范命名合理注释清晰5分四、参考答案选择题答案AJAVA_HOME指向JDK安装目录CString是引用类型不是基本数据类型DnextDouble()读取小数整数需要带小数点或使用整数输入B2.0整数相除得整数2然后转换为double 2.0B封装要求使用private修饰成员变量通过公开方法访问B子类不能访问父类的private成员B静态方法不支持多态编译和运行都看左边D以上都正确判断题答案√×char使用单引号√√√√√×向下转型需要类型检查否则可能抛出ClassCastException编码任务评分要点类结构Person、Student、Course类定义完整属性私有5分继承关系Student正确继承Person使用super5分集合使用HashMap存储成绩遍历计算5分菜单交互Scanner接收输入switch处理选项5分多态体现Person引用操作Student对象5分功能完整所有需求功能实现10分异常处理输入验证空值检查5分代码质量格式规范注释清晰5分总分计算选择题16分判断题8分编码任务60分总分84分掌握程度评估90分以上优秀掌握75-89分良好掌握60-74分基本掌握60分以下需要加强复习

更多文章