《JAVA基础》课程测试试卷及参考答案.pdf

上传人:君**** 文档编号:34865496 上传时间:2022-08-19 格式:PDF 页数:11 大小:3.55MB
返回 下载 相关 举报
《JAVA基础》课程测试试卷及参考答案.pdf_第1页
第1页 / 共11页
《JAVA基础》课程测试试卷及参考答案.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《《JAVA基础》课程测试试卷及参考答案.pdf》由会员分享,可在线阅读,更多相关《《JAVA基础》课程测试试卷及参考答案.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第一部分:笔试(第一部分:笔试(60 分钟)分钟)笔试答卷提交方式:请各位学员将答案写在笔试答卷提交方式:请各位学员将答案写在 A4 纸上,写上姓名,切记在每个答案前带上纸上,写上姓名,切记在每个答案前带上题目的序号。题目的序号。一、一、简答题(简答题(20 题,每题题,每题 5 分,共分,共 100 分)分)1、 short s = 1 ;s = s + 1 ;有错吗?为什么?short s = 1 ;s += 1 ;有错吗?为什么?有错,因为 1 是 int 类型,s+1 会自动转换成 int, 需要强转为 short 才能用 s 接收没有错,因为+=操作符,在解析时自动做了类型转换,等价

2、于(short)(s+1) 。补充:在 java 编译器中:byte short char 都会自动转成 int,例如:short s = 1 ; s = s + s;也会报错!2、Java 中的 Math. round(-1. 5) 等于多少? -1.5 介于-2 和-1 之间,四舍五入,所以结果是-13、请说下访问修饰符?Public 公共的,修饰的类和成员,在当前工程中都可以被访问JAVAJAVA 基础基础课程测试课程测试考试时间(考试时间(180180 分钟)分钟)笔试:笔试:6060 分钟分钟机试:机试:120120 分钟分钟总分(总分(200200 分)分)笔试:笔试:100100

3、 分分机试:机试:100100 分分Protected 受保护的,在子类和同包中可以被访问默认的,在同一个包中可以被访问Private 私有的,仅在当前类中可以被访问4、 final 在 Java 中有什么作用?1.修饰的变量会变为常量,必须在声明时赋初始值,且值不可修改2.修饰的方法,不可以被重写3.修饰的类,不可以被继承5、 final、finally、finalize 有什么区别?1.final 可以修饰类,方法和变量,表示不可改变。2.finally 是异常处理时的一个代码块,出现在 try-catch 后面,不论是否发生异常,finally 代码块都会被执行。3.finalize 是

4、 Object 中的一个方法,当垃圾回收器从内存中清除一个对象时会调用该方法。6、 请列出 5 个常见的异常类?NullPointerException 空指针异常ArrayIndexOutOfBoundsException 数组下标越界异常ArithmeticException 数学运算异常ClassCastException 类型转换异常ClassNotFoundException 找不到指定类,常出现在反射中7、 = 和 equals 的区别是什么?=是比较运算符,比较的是两个对象的地址值是否相等。equals 是 Object 中的方法,在 Object 中对于 equals 的实现也

5、是调用= . 但该方法通常被其它类重写,例如 String 类,重写后的规则是比较两个字符串的内容是否相同。8、throw 和 throws 的区别?throw 是主动声明一个异常对象。throws 是异常的处理方式之一,用在方法名后面,表示向上抛出异常类型。9、下面的代码输出什么?String str6 = b; String str7 = a + str6; String str67 = ab; System.out.println(str7 = str67 : + (str7 = str67);输出 false,因为 String s= “a”+”b” 和 String s= “a”+s

6、tr6 不一样.String s= “a”+”b” 在编译阶段就会合并,和 String s= “ab”是等价的。String s= “a”+str6,中 str6 是一个变量,在编译过程中不能合并,那么+运算符会用StringBuilder 的 append 方法实现,即:String s=new StringBuilder().append(“a”).append(str6).toString();且在 toString 方法中,是 new String(),即创建了一个 String 对象。10、 下面的代码输出什么? final String str8 = b; String str9

7、 = a + str8; String str89 = ab; System.out.println(str9 = str89 : + (str9 = str89); 输出 true,因为 str8 是一个常量,在编译过程中就会合并在一起。即:a + str8 等价于 a +b 11、 接口和抽象类有什么区别?1.接口中只能有抽象方法和静态方法,以及 default 方法,不能有普通方法。抽象类中可以有抽象方法,也可以有普通方法。2.接口中只能有 public static final 修饰的常量,不能有变量。而抽象类中可以有变量和常量。3.抽象类只能单继承,即只能有一个直接父类;而接口可以多

8、继承,即:可以继承多个接口。以上 3 个点是最核心的区别,当然还会有其它的细节上的区别。12、下面的代码输出什么?Integer i1 = 1 ;Integer i2 = 1 ;Integer i3 = 128 ;Integer i4 = 128 ;System.out.println(i1 = i2); System.out.println(i3 = i4);输出 true 和 false.在 Integer 中有一个缓存区(Integer cache),范围是-128,127,如果给 Integer 变量赋值在这个范围内,则直接从数组中取对应的元素,所以前者输出为 true.反之,如果不在

9、这个范围内,则会 new Integer(int) 新建一个对象,所以后者输出为 false. 详情查看 Integer.valueOf(int) 方法的源码。13、List Set Map 的区别?List 是有序集合,集合中的元素可以重复,有下标。Set 是无序集合,集合中元素不可以重复,没有下标。Map 集合中的元素是 entry,即 key-value 构成的键值对,其中键不可以重复,没有下标。14、说下 java 中的集合?1.集合是一个容器,可以盛放对象或数据,不约束类型,不约束长度。2.Collection 接口是集合的顶层接口,下辖两个子接口:List 和 Set.3.List

10、 接口常用的实现类有 ArrayList 和 LinkedList.一个是数组结构,一个是链表结构。4.Set 接口常用的实现类有 HashSet 和 TreeSet,一个是无序的,一个是有序的。5.还有一个接口是 Map,常用的实现类有 HashMap 和 TreeMap,一个使用 hash 算法,一个使用红黑树算法。15、说下 HashTable HashMap 的区别?Hashtable 是一个线程安全的集合,单线程集合,速度慢,Hashtable 集合不能存储null 值,null 键。HashMap 是线程不安全集合,是一个多线程集合,不过它的速度很快,可以存储 null值,null

11、 键。补充:1.Hashtable 和 HashMap 都是 Map 接口的实现类,底层都是哈希表。2.Hashtable 集合逐渐被 HashMap 集合取代,但是 Hashtable 的子类 Properties 依然沿用,Properties 集合也是唯一一个和 IO 流相结合的集合。16、HashMap(HashSet)用来装学生信息,人数在 37-43 人左右,请问如何初始化HashMap 数量达到性能最优?答案:64 在创建 HashMap(或 HashSet)时,可以给一个初始容量,官方建议是 2 的 n 次幂,即:16,32,64,128.这些数据,如果元素个数超出了给定的容量

12、,会自动扩容一倍,影响性能。 17、代码中有且仅有如下代码 String s1 = new String(Hello); ,这行代码会创建几个字符串对象?2 个,分别是: String s=”hello”; 和 String s1=new String(s); 其中 s 和 s1 都是字符串对象,他们也分别代表了字符串对象创建的 2 种方式。详情查看 https:/ s1 = abc;String s2 = new String(abc);s2.intern();System.out.println(s1 =s2);输出 false 19、java 中有几种访问修饰符以及它们区别 ?同第 3

13、题,此题应换题20、重写跟重载的区别 ?重写:子类中可以重写父类的方法,要求子类中重写的方法和父类中被重写的方法:方法名相同,参数列表相同,返回值类型相同,且访问修饰符应相同或宽于父类。子类中重写的方法所抛出的异常只能是父类中方法抛出的异常类型或其子类。重载:同一个类中,方法名相同,但形参不同(形参个数不同,类型不同,顺序不同)的两个方法构成方法的重载。 第二部分:机试(第二部分:机试(120 分钟)分钟)要求:编写一个控制台版本的要求:编写一个控制台版本的 ATM 系统,并使用集合跟面向对象等知识实现如下功能,请系统,并使用集合跟面向对象等知识实现如下功能,请保持较好的代码规范跟项目结构,总

14、分保持较好的代码规范跟项目结构,总分 100 分分。一、功能介绍一、功能介绍1、程序运行时,首先显示注册和登录的选择界面,运行效果如下:2、选择 1 进入注册功能,用户输入账户和密码进行注册,需要检查账户是否已存在,账户存在提示用户重新输入账户名,反之则注册成功,并通过账户名称提示创建账户成功,运行效如下:3、选择 2 进入登录功能,用户输入账号和密码进行登录,账号和密码不正确时提示登录失败,提示重试;反之登录成功,登录成功之后进入 ATM 主界面,运行效果如下:3、选择 1 菜单,可根据密码查询当前用户的余额,需要判断输入的密码是否正确,运行效果如下:4、选择 2 菜单,可进行存款操作,输入

15、存款金额即可存入,运行效果如下:5、选择 3 菜单,可以根据提供的账号进行转账操作,转账之前需要判断当前账户的余额是否大于转账金额,余额不足时提示重新输入转账金额,运行效果如下:6、输入#exit#返回注册登录界面,运行效果如下:7、已登录的用户在任何位置输入#menu#可以返回主菜单,每个菜单操作完成之后都需要显示主界面的功能菜单选项。二、二、注意事项:注意事项:1、 注意代码格式规范、命名规范,要求分层。注意代码格式规范、命名规范,要求分层。2、 仔细审题,把题目的功能要求理解准确仔细审题,把题目的功能要求理解准确三、评分标准:评分标准:序号序号功能描述功能描述分值分值1账户注册登录25 分2主界面列表10 分3查询余额15 分4根据账户存款20 分5根据账户号码转账20 分6代码规范10 分总分100 分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁