java题带答案.docx
- 文档编号:25719077
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:40
- 大小:35.62KB
java题带答案.docx
《java题带答案.docx》由会员分享,可在线阅读,更多相关《java题带答案.docx(40页珍藏版)》请在冰豆网上搜索。
java题带答案
Java期末考试题库
选择题
(ABCD)1、以下选项中,哪些属于JDK工具?
(多选)
A、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具
(C)2、Java属于以下哪种语言?
A、机器语言B、汇编语言C、高级语言D、以上都不对
(AD)1、以下选项中,哪些属于合法的标识符?
(多选)AD
A、Hello_WorldB、classC、123usernameD、username123
(AD)2、关于方法重载的描述,以下选项中哪些是正确的?
(多选)(AD)ABD
A、方法名必须一致B、返回值类型必须不同
C、参数个数必须一致D、参数的个数或类型不一致
(C)3、以下关于变量的说法错误的是?
C
A、变量名必须是一个有效的标识符
B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序中的任何位置都可以被访问
D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明
(ABCD)4、以下选项中,switch语句判断条件可以接收的数据类型有哪些?
(多选)ABCD
A、intB、byteC、charD、short
(AC)7、下列语句哪些属于循环语句?
(多选)AC
A、for语句B、if语句C、while语句D、switch语句
(A)8、下面哪种写法可以实现访问数组arr的第1个元素?
A
A、arr[0]B、arr(0)C、arr[1]D、arr
(1)
(B)9、以下哪个选项可以正确创建一个长度为3的二维数组?
(B)C
A、newint[2][3];B、newint[3][];
C、newint[][3];D、以上答案皆不对
(A)10、请先阅读下面的代码。
intx=1;
inty=2;
if(x%2==0){
y++;
}else{
y--;
}
System.out.println("y="+y);
上面一段程序运行结束时,变量y的值为下列哪一项?
A、1B、2C、3D、switch语句
(B)1、在类的继承关系中,需要遵循以下哪个继承原则?
A、多重B、单一C、双重D、不能继承
(C)2、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?
A.tryB.catchC.throwsD.throw
(ABC)3、关于super关键字以下说法哪些是正确的?
(多选)
A、super关键字可以调用父类的构造方法
B、super关键字可以调用父类的普通方法
C、super与this不能同时存在于同一个构造方法中
D、super与this可以同时存在于同一个构造方法中
(ABCD)4、以下说法哪些是正确的?
(多选)
A、Java语言中允许一个类实现多个接口
B、Java语言中不允许一个类继承多个类
C、Java语言中允许一个类同时继承一个类并实现一个接口
D、Java语言中允许一个接口继承一个接口
(C)5、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?
A、publicB、protectedC、privateD、default
(AC)6、关于抽象类的说法哪些是正确的?
(多选)
A、抽象类中可以有非抽象方法。
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、不能用抽象类去创建对象。
D、接口和抽象类是同一个概念。
(C)7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?
A、inheritsB、implementsC、extendsD、modifies
(D)8、System类位于以下哪个包中?
A、java.ioB、java.utilC、java.awtD、java.lang
(B)1、Thread类位于下列哪个包中?
A、java.ioB、java.langC、java.utilD、java.awt
(AC)2、关于线程的创建过程,下面四种说确的有哪些?
(多选)
A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法
B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法
C、定义一个实现Runnable接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法
D、定义一个实现Runnable接口的类并实现run()方法,创建该类对象,然后调用run()方法
(ABC)3、对于通过实现Runnable接口创建线程,下面说确的有哪些?
(多选)
A、适合多个相同程序代码的线程去处理同一个资源的情况
B、把线程同程序代码、数据有效的分离,很好的体现了面向对象的设计思想
C、可以避免由于Java的单继承带来的局限性
D、编写简单,可以不通过Thread类直接创建线程
(BC)4、对于线程的生命周期,下面四种说确的有哪些?
(多选)
A、调用了线程的start()方法,该线程就进入运行状态(就绪,还要获得CPU使用权)
B、线程的run()方法运行结束或被未catch的InterruptedException等异常终结,那么该线程进入死亡状态
C、线程进入死亡状态,但是该线程对象仍然是一个Thread对象,在没有被垃圾回收器回收之前仍可以像引用其它对象一样引用它
D、线程进入死亡状态后,调用它的start()方法仍然可以重新启动
(ABD)5、对于死锁的描述,下面四种说确有哪些?
(多选)
A、当两个线程互相等待对方释放同步锁时会发生死锁
B、Java虚拟机没有检测和处理死锁的措施
C、一旦出现死锁,程序会发生异常
D、处于死锁状态的线程处于阻塞状态,无法继续运行
(ABC)6、下面四个选项中,哪些是线程进入阻塞状态的原因?
(多选)
A、线程试图获取某个对象的同步锁,而该锁被其它线程持有
B、线程调用了另一个线程的join()方法
C、当线程调用了一个阻塞式的IO方法
D、线程调用了setDaemon(booleanb)方法
(C)7、线程调用sleep()方法后,该线程将进入以下哪种状态?
A、就绪状态B、运行状态
C、阻塞状态D、死亡状态
(D)8、在以下哪种情况下,线程进入就绪状态?
A、线程调用了sleep()方法时B、线程调用了join()方法(终止)
C、线程调用了yield()方法时D、线程调用了notify()方法?
?
(AB)9、下面四个选项中,对线程同步的目的描述正确的有哪些?
(多选)
A、锁定资源,使同一时刻只有一个线程去访问它,防止多个线程操作同一个资源引发错误
B、提高线程的执行效率
C、让线程独占一个资源
D、让多个线程同时使用一个资源
(ABCD)10、对于wait()方法,下面说确的是?
(多选)
A、wait()方法的调用者是同步锁对象
B、wait()方法使线程进入等待状态
C、调用同一锁对象的notify()或notifyAll()方法可以唤醒调用wait()方法等待的线程
D、调用wait()方法的线程会释放同步锁对象
(C)1、先阅读下面的程序片段:
Stringstr="abccdefcdh";
String[]arr=str.split("c");
System.out.println(arr.length);
程序执行后,打印的结果是几?
A、2个B、3个C、4个D、5个
(C)2、以下都是Math类的常用方法,其中用于计算绝对值的方法是哪个?
A、ceil()B、floor()C、abs()D、random()
(D)3、Random对象能够生成以下哪种类型的随机数?
A、intB、stringC、doubleD、A和C
(C)4、Strings="abcdedcba";则s.substring(3,4)返回的字符串是以下选项中的哪个?
A、cdB、deC、dD、e
(C)5、假若indexOf()方法未能找到所指定的子字符串,则返回以下选项中的哪个?
A、falseB、0C、-1D、以上答案都不对
(B)6、要产生[20,999]之间的随机整数可以使用以下哪个表达式?
A.(int)(20+Math.random()*97)
B.20+(int)(Math.random()*980)
C.(int)Math.random()*999
D.20+(int)Math.random()*980
(C)7、以下Math类的方法中,-4.4通过哪个方法运算后,结果为-5.0?
A.round()四舍五入B.min()C.floor()小于参数最大整数D.ceil()大于参数最小整数
(A)8、下面的程序段执行后,输出的结果是以下哪个选项?
StringBufferbuf=newStringBuffer("Beijing2008");
buf.insert(7,"");
System.out.println(buf.toString());
A、Beijing2008B、Beijing2008C、Beijing2008D、Beijing#2008
(A)9、阅读下面的程序:
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti;
floatf=2.3f;
doubled=2.7;
i=((int)Math.ceil(f))*((int)Math.round(d));
System.out.println(i);
}
}
程序执行后,运行结果为以下哪个选项?
A、9B、5C、6D、6.1
(B)10、先阅读下面的程序片段:
Stringstr1=newString("java");
Stringstr2=newString("java");
StringBufferstr3=newStringBuffer("java");
对于上述定义的变量,以下表达式的值为true的是哪个?
A、str1==str2;B、str1.equals(str2);C、str1==str3;D、以上都不对
(BC)1、要想保存具有映射关系的数据,可以使用以下哪些集合?
(多选)
A、ArrayListB、TreeMapC、HashMapD、TreeSet
(A)2、Java语言中,集合类都位于哪个包中?
A、java.utilB、java.langC、java.arrayD、java.collections
(D)3、使用Iterator时,判断是否存在下一个元素可以使用以下哪个方法?
A、next()B、hash()C、hasPrevious()D、hasNext()
(ABD)4、关于foreach循环的特点,以下说法哪些是正确的?
(多选)
A、foreach循环在遍历集合时,无需获得容器的长度
B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句
C、foreach循环在遍历集合时非常繁琐
D、foreach循环的语法格式为:
for(容器中元素类型临时变量:
容器变量)。
(C)5、在程序开发中,经常会使用以下哪个类来存储程序中所需的配置?
A、HashMapB、TreeSetC、PropertiesD、TreeMap
(AB)6、使用Enumeration遍历集合时,需要使用以下哪些方法?
(多选)
A、hasMoreElements()B、nextElement()C、next()D、hashNext()
(D)7、要想集合中保存的元素没有重复并且按照一定的顺序排列,可以使用以下哪个集合?
A、LinkedListB、ArrayListC、hashSetD、TreeSet
(AB)8、下列哪些说法是正确的?
(多选)
A、LinkedList集合在增删元素时效率较高
B、ArrayList集合在查询元素时效率较高
C、HashMap不允许出现一对null键null值
D、HashSet集合中元素可重复并且无序
(ABC)9、以下哪些方法是LinkedList集合中定义的?
(多选)
A、getLast()B、getFirst()C、remove(intindex)D、next()
(B)10、获取单列集合中元素的个数可以使用以下哪个方法?
A、length()B、size()C、get(intindex)D、add(Objectobj)
(AB)1、下面选项中,哪些是标准输入输出流?
(多选)
A、System.InB、System.OutC、InputStreamD、OutputStream
(C)2、以下选项中,哪个是FileOutputStream的父类?
A.FileB.FileOutputC.OutputStreamD.InputStream
(C)3、File类中以字符串形式返回文件绝对路径的的方法是?
A、getParent()B、getName()
C、getAbsolutePath()D、getPath()
(ABCD)4、下面哪些是常用的字符码表?
(多选)
A、ASCIIB、UTF-8C、ISO8859-1D、GB2312
(AB)5、以下创建RandomAccessFile类实例对象的代码,哪些是正确的?
(多选)
A、RandomAccessFile(newFile(“D:
\\itcast\\dir1\\test.java”),”rw”)
B、RandomAccessFile(“D:
\\itcast\\dir1\\test.java”,”r”)
C、RandomAccessFile(“D:
\\itcast\\dir1\\test.java”)
D、RandomAccessFile(“D:
\\itcast\\dir1\\test.java”,”wr”)
(ACD)6、以下哪些属于InputStream类的方法?
(多选)
A、intread(byte[])B、voidflush()C、voidclose()D、available()
(A)7、以下选项中,哪个流中使用了缓冲区技术?
A、BuffereOutputStreamB、FileInputStreamC、DataOutputStreamD、FileReader
(A)8、以下选项中,哪个是File类delete()方法返回值的类型?
A、booleanB、intC、StringD、Integer
(D)9、以下选项中,哪个文件操作类可以实现一次读入多个文件?
A、FileReaderB、BufferedReaderC、FileInputStreamD、SequenceInputStream
(A)10、以下对File类的publicbooleaisFile()方法的描述,哪个是正确的?
A、判断该File对象所对应的是否是文件。
B、判断该File对象所对应的是否是目录。
C、返回文件的最后修改时间。
D、在当前目录下生成指定的目录。
(D)1、下面四个组件中哪一个不是Component的子类?
A、ButtonB、DialogC、LabelD、MenuBar
(D)2、每一个GUI程序中必须包含一个什么组件?
A、按钮B、标签C、菜单D、容器
(ABD)3、下面四个选项中,哪些是事件处理机制中的角色?
(多选)
A、事件B、事件源
C、事件接口D、事件监听器
(A)4、当鼠标按键被释放时,会调用以下哪个事件处理器方法?
A、mouseReleased()B、mouseUp()
C、mouseOff()D、mouseLetGo()
(D)5、ActionEvent的对象会被传递给以下哪个事件处理器方法?
A、addChangeListener()B、addActionListener()
C、stateChanged()D、actionPerformed()
(ABCD)6、AWT中,常用的布局管理器包括哪些?
(多选)
A、FlowLayout布局管理器B、BorderLayout布局管理器
C、CardLayout布局管理器D、GridLayout布局管理器
(ABD)7、下面哪些是FlowLayout类中表示对齐方式的常量?
(多选)
A、FlowLayout.LEFTB、FlowLayout.CENTER
C、FlowLayout.VERTICALD、FlowLayout.RIGHT
(ABC)8、下面对与Swing的描述,正确的有哪些?
(多选)
A、Swing是在AWT基础上构建的一套新的图形界面系统
B、Swing提供了AWT所能够提供的所有功能
C、Swing组件是用Java代码来实现的
D、Swing组件都是重量级组件
(D)9、下面四对AWT和Swing对应组件中,错误的是?
A、Button和JButton
B、Dialog和JDialog
C、MenuBar和JMenuBar
D、ComboBox和JComboBox
(C)10、使用下面哪个组件可以接收用户的输入信息?
A、JButtonB、JLabel
C、JTextFieldD、以上都可以
(C)1.使用UDP协议通信时,需要使用哪个类把要发送的数据打包?
(d)的街A,Socket辣Cm053136t0B.DatagramSocket
C.DatagramPacketD.ServerSocket
(A)2.以下哪个是serverSocket类用于接收来自客户端请求的方法?
()
A.accept()B.getOutputStream()"C.receive()D.get()
(ABD)3.以下说法哪些是正确的?
(多选)()
A.TCP连接中必须要明确客户端与服务器端
B.TCP协议是面向连接的通信协议,它提供了两台计算机之间可靠无差错的数
据传输
C.UDP协议是面向无连接的协议,可以保证数据的完整性
D.UDP协议消耗资源小,通信效率高,通常被用于音频、视频和普通数据的传输
(B)4.以下哪个类用于实现TCP通信的客户端程序?
( )
A. ServerSocket B. Socket
C. ClientD. Server
(C)5.进行UDP通信时,在接收端若要获得发送端的IP地址,可以使用DatagramPacket的哪个方法?
(
A. getAddress()B. getPort()
C. getName()D. getData()
(A)6. 以下哪个方法是 DatagramSocket 类用于发送数据的方法?
()
A. receive( )B. accept()
C. set()D. send()
(B)7.在程序运行时,DatagramSocket的那个方法会发生阻塞()
A. send()B. receive()
C. close()D.connect()
(C)8.TCP协议的“三次握手”中,第一-次握手指的是什么?
()
A.客户端再次向服务器端发送确认信息,确认连接
B.服务器端向客户端回送一.个响应,通知客户端收到了连接请求
C.客户端向服务器端发出连接请求,等待服务器确认
D.以上答案全部错误
(B)1、类的定义必须包含在以下哪种符号之间?
A、方括号[]B、花括号{}C、双引号“”D、圆括号()
(D)2、下面哪一个是正确的类的声明?
A、publicvoidHH{…}B、publicclassMove(){…}
C、publicclassvoidnumber{}D、publicclassCar{…}
(B)3、在以下什么情况下,构造方法会被调用?
A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时
(ABC)4、下面对于构造方法的描述,正确有哪些?
(多选)
A、方法名必须和类名相同
B、方法名的前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在
(ABCD)5、使用this调用类的构造方法,下面的说确的是?
(多选)
A、使用this调用构造方法的格式为this([参数1,参数2…])
B、只能在构造方法中使用this调用其它的构造方法
C、使用this调用其它构造方法的语句必须放在第一行
D、不能在一个类的两个构造方法中使用this互相调用
(ACD)6、下面哪些可以使用static关键字修饰?
(多选)
A、成员变量B、局部变量C、成员方法D、成员部类
填空题
(class)1、Java中的程序代码都必须在一个类中定义,类使用______关键字来定义。
(true和false)2、布尔常量即布尔类型的两个值,分别是______和______。
(基本数据类型、引用数据类型)
4、Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。
(34)9、若int[]a={12,45,34,46,23};,则a[2]=______。
(56)10、若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=______。
(继承)1、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为继承______。
(方法,抽象类)2、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_____,否则该类就必须定义成_抽象类_____。
(import)3、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
(子类、父类、基类)4、一个类可以从其它的类派生出来,派生出来的类称为______,用于派生的类称为______或者______。
(Exception)5、JDK中定义了大量的异常类,这些类都是______类的子类或者间接子类。
(final)6、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
(try、catch)9、异常的捕获通常由try、catch两部分组成,_____代码块用来存放可能发生异常,_catch_____代码块用来处理产生的异常。
(填空题线程、通信)1、一个应用程序中有多条并发执行的线索,每条线索都被称作一个线程______,它们会交替执行,彼此间可以进行_通信_____。
(Thread、Runnable)2、在实现多线程的程序时有两种方式,一是通过继_Thread_____承类,二是通过实现Runnable______接口。
(就绪)3、yield()方法只能让相同优先级或者更高优先级、处于_就绪_____状态的线程获得运行的机会。
(synchronized、对象、this)4、在Java语言中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 答案