工程师笔试题答案_第1页
工程师笔试题答案_第2页
工程师笔试题答案_第3页
工程师笔试题答案_第4页
工程师笔试题答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工程师笔试题答案工程师工程师笔试题答案全文共5页,当前为第1页。一、单项选择题1.二进制数11101转化为十进制数是()。A.23

B.17

C.26

D.292.以下可以对对象加互斥锁的关键字是()。A.synchronized

B.serializeC.volatile

D.static二、不定项选择题3.下列关于类的构造方法的描述中,正确的是()。A.类中的构造方法不可省略B.构造方法必须与类同名,但方法不能与class同名C.构造方法在一个对象被new时执行D.一个类只能定义一个构造方法4.下列关于Java语言中main方法的描述中,正确的是()。A.Java程序的main方法必须写在类里面B.Java程序中可以有多个main方法C.Java程序的main方法中,如果只有一条语句,可以不用大括号{}括起来D.Java程序中类名必须与文件名一样5.在类声明中,声明一个类不能再被继承的关键字是()。A.private

B.abstractC.finalD.static答案解析一、单项选择题1.二进制数11101转化为十进制数是()。A.23

B.17

C.26

D.29工程师笔试题答案全文共工程师笔试题答案全文共5页,当前为第2页。分析:本题考察的是进制转换的知识。本题中,二进制数11101对应的十进制数表示为1*2^0+0*2^1+1*2^2+1*2^3+1*2^4=29,所以,选项D正确。除了人工转换外,在Java语言中,也可以用如下方法将一个二进制数转换为十进制数:Integer.valueOf"11101",2。所以,本题的答案为D。2.以下可以对对象加互斥锁的关键字是()。A.synchronized

B.serializeC.volatile

D.static答案:A。分析:本题考察的是Java关键字的知识。对于选项A,synchronized(同步的)是Java语言的关键字,主要用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块时,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象中的这个加锁同步代码块时,同一时间只能有一个线程执行。所以,选项A正确。对于选项B,serialize是序列化的意思,所谓对象的序列化指的是把对象转换为字节序列的过程,所谓对象的反序列化指的是把字节序列恢复为对象的过程。通常,对象的序列化主要有以下两种用途:①将对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;②在网络上传送对象的字节序列。在Java语言中,序列化通过Serializable接口来实现。所以,选项B不正确。对于选项C,在由Java语言编写的程序中,有时候为了提高程序的运行效率,编译器会做一些优化操作,把经常被访问的变量缓存起来,程序在读取这个变量的时候有可能会直接从寄存器中读取这个值,而不会去内存中读取。这样做的一个好处是提高了程序的运行效率,但当遇到多线程编程时,变量的值可能被其他线程改变了,而该缓存的值不会做相应的改变,从而造成应用程序读取的值和实际的变量值不一致。关键字

volatile正好能够解决这一问题,被关键字volatile修饰的变量编译器不会做优化,每次都会从内存中读取。所以,选项C不正确。对于选项D,关键字static主要有以下两种作用:第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。第二,希望某个方法或属性与类而不是对象关联在一起,也就是说,在不创建对象的情况下就可以通过类来直接调用方法或使用类的属性。总之,被static修饰的属性(方法)是类的属性(方法),不属于任何对象。所以,选项D不正确。所以,本题的答案为A。二、不定项选择题工程师笔试题答案全文共工程师笔试题答案全文共5页,当前为第3页。A.类中的构造方法不可省略B.构造方法必须与类同名,但方法不能与class同名C.构造方法在一个对象被new时执行D.一个类只能定义一个构造方法答案:C。分析:本题考察的是Java语言构造方法的知识。对于选项A,类中的构造方法是可以省略的,当省略的时候,编译器会提供一个默认的构造方法以供使用。因此,选项A错误。对于选项B,构造方法必须与类名相同,但是方法名也可以与类名相同。如下例所示:publicclassTest{publicTest{System.out.println"construct";}publicvoidTest{System.out.println"callTest";}publicstaticvoidmainString[]args{Testa=newTest;//调用构造方法a.Test;//调用Test方法}}程序的运行结果为constructcallTest工程师笔试题答案全文共5页,当前为第4页。因此,选项B错误。对于选项C,当一个对象被工程师笔试题答案全文共5页,当前为第4页。4.下列关于Java语言中main方法的描述中,正确的是()。A.Java程序的main方法必须写在类里面B.Java程序中可以有多个main方法C.Java程序的main方法中,如果只有一条语句,可以不用大括号{}括起来D.Java程序中类名必须与文件名一样答案:A、B。分析:本题考察的是Java基本语法的知识。在Java语言中,main方法是程序的方法,一个程序要想运行必须要有main方法,但是只有满足特定条件的main方法才能作为程序的方法。对于本题而言:对于选项A,由于Java语言是纯面向对象语言,所以,所有的属性与方法都必须定义在类里面,而且,main方法也不例外。因此,选项A正确。对于选项B,Java程序可以定义多个main

方法,但是只有publicstaticvoidmainString[]args方法才是Java程序的方法,其他main方法都不是,并且这个方法必须被定义在类名与文件名相同的被public修饰的类中,如下例所示(Test.java):classT{publicstaticvoidmainString[]args{System.out.println"Tmain";}}publicclassTest{//程序方法publicstaticvoidmainString[]args{System.out.println"Testmain";}}工程师笔试题答案全文共5页,当前为第5页。程序的运行结果为Testmain从上例可以看出,这个程序中定义了多个main方法,但是只有满足特定条件的main方法才能作为程序的方法。因此,选项B正确。对于选项C,在Java语言中,不管方法体里有几条语句,所有的方法体都必须用大括号{}括起来。因此,选项工程师笔试题答案全文共5页,当前为第5页。误。所以,本题的答案为A、B。5.在类声明中,声明一个类不能再被继承的关键字是()。A.private

B.abstractC.finalD.static答案:C。分析:本题考察的是Java关键字的知识。对于选项A,关键字private是一个作用域修饰符,被关键字private修饰过的变量或方法只有当前类或对象具有访问权限。所以,选项A不正确。对于选项B,在Java语言中,可以通过把类或者类中的某些方法声明为abstract来表示一个类是抽象类。所以,选项B不正确。对于选项C,被final修饰的变量为常量,当一个方法被声明为final时,该方法不允许任何子类重写,当一个类被声明为final时,此类不能被继承,所有方法都不能被重写。所以,选项C正确。对于选项D,关键字static

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论