2019年12月13日 java2
考点1 修饰符混用
下列关于修饰符混用的说法,错误的是( )
- A
abstract
不能与final
并列修饰同一个类 - B
abstract
类中不应该有private
的成员 - C
abstract
方法必须在abstract
类或接口中 - D
static
方法中能直接调用类里的非static
的属性
解析
显示答案/隐藏答案
正确答案: Dabstract类中的确不应该有private的成员,但是是可以有的
考点2 求余运算
以下代码段执行后的输出结果为
1 | public class Test { |
- A -1
- B 2
- C 1
- D -2
解析
显示答案/隐藏答案
正确答案: DY(被除数) % X(除数) 当除数与被除数的符号相同时,取余和取模的结果是完全相同的; 当除数与被除数的符号不相同时,结果不同。具体说,取余结果的符号与%前面的数的符号(被除数)相同;
考点3 java只有值传递
关于Java中参数传递的说法,哪个是错误的?
- A 在方法中,修改一个基础类型的参数不会影响原始参数值
- B 在方法中,改变一个对象参数的引用不会影响到原始引用
- C 在方法中,修改一个对象的属性会影响原始对象参数
- D 在方法中,修改集合和
Maps
的元素不会影响原始集合参数
解析
显示答案/隐藏答案
正确答案: D考点4 多态 编译看左边 运行看右边
下列代码输出结果为( )
1 | class Animal{ |
- A
1
2
3动物可以移动
狗可以跑和走
狗可以吠叫 - B
1
2
3动物可以移动
动物可以移动
狗可以吠叫 - C 运行错误
- D 编译错误
解析
显示答案/隐藏答案
正确答案: D考点5
假设num已经被创建为一个ArrayList对象,并且最初包含以下整数值:[0,0,4,2,5,0,3,0]。 执行下面的方法numQuest(),最终的输出结果是什么?
1 | private List<Integer> nums; |
- A [3, 5, 2, 4, 0, 0, 0, 0]
- B [0, 0, 0, 0, 4, 2, 5, 3]
- C [0, 0, 4, 2, 5, 0, 3, 0]
- D [0, 4, 2, 5, 3]
解析
显示答案/隐藏答案
正确答案: DList中的 get ( i )指的是获取下标(索引)为 i 的元素,也就是第 i+1 个元素
本题:
zero==0,如果get(k)==0,执行remove(k); ;
size==8 ; k==0 , 因此第一次remove(0) ,删除索引为0的元素也就是第一个元素0,然后k++, size()–;
此时集合元素为 :[0,4,2,5,0,3,0]
size==7; k==1,因此get(1)==4 !=0 , 不执行remove(); k++,因没有删除元素,size()不变,
此时集合元素为:[0,4,2,5,0,3,0]
size==7;k==2,k++;
size==7;k==3,k++;
size==7;k==4,get(4)==0,remove(4) ; k++, size()–;
此时集合元素为: [0,4,2,5,3,0]
size==6;k==5,get(5)==0,remove(5);k++, size()–;
此时集合元素为: [0,4,2,5,3]
size==5; k==6 ;退出循环;最终输出此时集合元素为 [0,4,2,5,3] ;
一般更改删除集合元素,使用iterator()迭代器,不推荐使用这种;
此方法的目地就是排除重复元素
考点6 Math.round四舍五入 舍变小入变大
Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).
- A 11 ,-11
- B 11 ,-12
- C 12 ,-11
- D 12 ,-12
解析
显示答案/隐藏答案
正确答案: Cfloor : 意为地板,指向下取整,返回不大于它的最大整数
ceil : 意为天花板,指向上取整,返回不小于它的最小整数
round: 意为大约,表示”四舍五入”,而四舍五入,入是往数值大数的方向入。
Math.round(11.5)的结果为12,12>11.5
Math.round(-11.5)的结果为-11。-11>-11.5
考点7 Log4j
下列语句哪一个是不正确的()
- A
Log4j
支持按分钟为间隔生成新的日志文件 - B
Log4j
是一个打印日志用的组件 - C
Log4j
支持按年为间隔生成新的日志文件 - D
Log4j
的日志打印级别可以在运行时重新设置
解析
显示答案/隐藏答案
正确答案: DLog4j在运行期间不可重置
考点8 默认构造器
It is an important feature of the Java language that it always provides a default constructor to a class.
- A
FALSE
- B
TRUE
解析
显示答案/隐藏答案
正确答案: A只有在不显示声明构造方法时,系统才提供默认无参构造方法
考点9 线程安全集合
下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:()
- A
java.util.ConcurrentHashMap
- B
java.util.Map
- C
java.util.TreeMap
- D
java.util.SortMap
- E
java.util.Hashtable
- F
java.util.HashMap
解析
显示答案/隐藏答案
正确答案: AE线程安全的map
HashTable,
SynchronizedMap,
ConcurrentHashMap
考点10 java内存区域
关于Java内存区域下列说法不正确的有哪些
- A 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号指示器,每个线程都需要一个独立的程序计数器.
- B
Java
虚拟机栈描述的是java
方法执行的内存模型,每个方法被执行的时候都会创建一个栈帧,用于存储局部变量表、类信息
、动态链接等信息 - C
Java
堆是java
虚拟机所管理的内存中最大的一块,每个线程都拥有一块内存区域,所有的对象实例以及数组都在这里分配内存。 - D 方法区是各个线程共享的内存区域,它用于存储已经被虚拟机加载的常量、即时编译器编译后的代码、静态变量等数据。
解析
显示答案/隐藏答案
正确答案: BCB错误. java虚拟机栈没有类信息,类信息是在方法区中
C错误. java堆线程共享
,主要是存放对象实例和数组
考点11 编译原理 循环优化
下列哪些方法是针对循环优化进行的
- A 强度削弱
- B 删除归纳变量
- C 删除多余运算
- D 代码外提
解析
显示答案/隐藏答案
正确答案: ABD常见的代码优化技术有:复写传播,删除死代码, 强度削弱,归纳变量删除
有空了解一下