java基础实训.docx
- 文档编号:12187278
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:16
- 大小:19.66KB
java基础实训.docx
《java基础实训.docx》由会员分享,可在线阅读,更多相关《java基础实训.docx(16页珍藏版)》请在冰豆网上搜索。
java基础实训
一、单选
1.Java中基本数据类型一共有()种
A.5
B.6
C.7
D.8
答案:
D(s0简单)
2.Java可以在while后表达式中使用的类型为()
A.boolean
B.char
C.byte
D.double
答案:
A(s0简单)
3.下面的程序编译运行后输出的结果是()
publicstaticvoidmain(String[]args){
intsum=0;
for(inti=0;i<10;i++)
if(i%2!
=0)
sum+=i;
System.out.println(sum);
}
A.45
B.55
C.25
D.35
答案:
C(s0简单)
4.访问数组中元素下标的最大值通常是()
A..length-1
B..size-1
C..last
D.以上答案都不对
答案:
A(s0简单)
5.表示实现的关键字是()
A.extends
B.implements
C.class
D.interface
答案:
B(s0简单)
6.下列说法中正确的一个是()
A.this()表示调用当前类实例的无参构造
B.super()是表示当前类实例的父类实例
C.java中所有标识符不区分大小写
D.以上答案都不对
答案:
A(s0简单)
7.表示所有异常的父类是()
A.Throwable
B.RuntimeException
C.Exception
D.IOException
答案:
C(s6简单)
8.集合中能够按照顺序存放元素的集合是()
A.List
B.Queue
C.Set
D.Map
答案:
A(s6简单)
9.类JFrame默认的布局管理器是()
A.BorderLayout
B.GridLayout
C.FlowLayout
D.GardLayout
答案:
A(s7简单)
10.类JPanel默认的布局管理器是()
A.BorderLayout
B.GridLayout
C.FlowLayout
D.GardLayout
答案:
C(s7简单)
11.JFrame中的哪个方法用来将它显示在屏幕上()
A.setResizable
B.setVisible
C.isVisible
D.setForeground
答案:
B(s7中等)
12.下面程序中填入什么代码能使得程序运行时在主窗口中显示一个按钮()
JFramef=newJFrame("title");
JButtonb=newJButton("button");
________________________________
f.pack();
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
A.f.getContentPane().add(b);
B.f.setContentPane(b);
C.f.addButton(b);
D.f.show();
答案:
A(s7中等)
13.Java中用来处理文件的流存放在哪个包中()
A.java.stream
B.java.file.io
C.java.file
D.java.io
答案:
D(s8中等)
14.以下程序运行完毕的结果是()
FileOutputStreamfos=newFileOutputStream("d:
/a.txt");
byte[]bs="nuayoag".getBytes();
fos.write(bs);
fos.close();
A.将nuayoag字符串写入文件中
B.将nuayoag字符串转换成字节数组
C.程序编译错误
D.以上答案都不对
答案:
A(s8中等)
15.BufferedReader是一个()
A.字符流
B.字节流
C.输出流
D.节点流
答案:
A(s8中等)
16.在Java中,ServerSocketss=newServerSocke(1212);中1212表示的是()
A.服务器端端口号
B.服务器延迟时间
C.最大容许客户端连接数量
D.以上答案都不对
答案:
A(s9中等)
17.Java网络编程中,用来表示IP地址的类是()
A.INetAddress
B.InetAddress
C.IPAddress
D.IP
答案:
B(s9简单)
18.下列程序段执行后,结果是()
classAextendsThread{
publicvoidrun(){
for(inti=2;;)System.out.println((i=i+2));
}
}
classBextendsThread{
publicvoidrun(){
for(inti=1;;)System.out.println((i=i+2));
}
}
classT{
publicstaticvoidmain(String[]args){
Aa=newA();
Bb=newB();
a.start();
b.start();
}
}
A.程序有编译错误
B.只能输出奇数
C.只能输出偶数
D.奇数和偶数都能输出
答案:
D(s10中等)
19.一个线程最多可以启动多少次()
A.255
B.1
C.0
D.没有限制
答案:
B(s10中等)
20.用来启动线程的方法是()
A.run
B.Runnable
C.start
D.begin
答案:
C(s10简单)
二、多选
1.在异常处理中,需要用到的关键字有()
A.try
B.catch
C.final
D.finalize
答案:
AB(s6简单)
2.下面选项中属于顶层容器的是()
A.JFrame
B.JPanel
C.JWindow
D.JSplitPane
答案:
AC(s7简单)
3.以下流中,属于输入流的是()
A.FileInputStream
B.BufferedReader
C.DataInputStream
D.InputStreamReader
答案:
ABCD(s8中等)
4.下面关于类的说法正确的是()
A.通常用URL类来表示统一资源定位。
B.创建ServerSocket时,需要提供两个参数,一个是服务器ip地址,一个是端口号。
C.创建Socket时,必须指定用来连接服务器的端口号。
D.InetAddress这个类在包中。
答案:
ACD(s9中等)
5.能够实现线程的方式有()
A.继承Thread类,重写run方法
B.实现Runnable接口,实现run方法
C.继承Thread类,重写start方法
D.继承Runnable接口,重写run方法
答案:
AB(s10简单)
三、填空
1.Java中的类型分为基本类型和___________。
答案:
引用类型/复合类型(s0简单)
2.Java语言中,基本的流程控制结构有_______,________,_________。
答案:
顺序,选择或分支,循环;(s0简单)
3.下面程序的运行结果是。
Set
set.add("song");
set.add("shao");
set.add("chen");
set.add("gao");
for(Strings:
set)
System.out.print(s+"");
___________
答案:
chengaoshaosong(s6中等)
4.用户使用自定义异常的时候,该自定义异常类需要从__________继承。
答案:
Exception(s6简单)
5.Awt中常用的布局管理器有___________,__________。
答案:
FlowLayout,BorderLayout,GridLayout,CardLayout任意两个均可(s7简单)
6.ActionListener接口中唯一的一个方法的方法签名为___________
答案:
actionPerformed(ActionEventae)(s7较难)
7.Java中用来处理输入输出的是流,流主要分为两类,是___________和___________。
答案:
输入流,输出流/字节流,字符流/节点流,处理流均可(s8中等)
8.在Java语言中,所有的类都是类___________的子类。
答案:
Object(s0简单)
9.修饰线程同步方法需要使用______________关键字。
答案:
synchronized(s10中等)
10._______________________________方法是用来启动线程的。
答案:
start(s10简单)
四、改错
1.网络编程有如下代码,请找出错误并更正(s9中等)
importjava.io.*;
import.*;
publicclassServer{
ServerSocketss;
publicServer(){
try{
ss=newServerSocket(8087);
while
(1){
Sockets=ss.accept();
ObjectInputStreamois=newObjectInputStream(s.getInputStream());
ObjectOutputStreamoos=newObjectOutputStream(s.getOutputStream());
while(true){
Objecto=ois.readObject();
oos.write("replyfromserver.");
}
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
newServer();
}
}
importjava.io.*;
import.*;
publicclassClient{
Socketsocket;
ObjectInputStreamois;
ObjectOutputStreamoos;
publicvoidconnect()throwsException{
socket=newSocket("localhost");
}
publicvoidclose()throwsException{
socket.close();
}
publicvoidsend(Objectobj)throwsException{
if(oos==null)
oos=newObjectOutputStream(socket.getOutputStream());
oos.writeObject(obj);
}
publicObjectreceive()throwsException{
if(ois==null)
ois=newObjectInputStream(socket.getInputStream());
returnois.readObject();
}
publicstaticvoidmain(String[]args)throwsException{
Clientc=newClient();
c.connect();
for(inti=0;i<5;i++){
send("string"+i);
System.out.println(receive());
}
c.close();
}
}
答案:
While
(1)while(true)
oos.writeObject("replyfromserver.");
socket=newSocket("localhost",8087);
c.send("string"+i);
System.out.println(c.receive());
2.以下程序用来将字符串数组中全部的字符串转换成大写,保存并输出,找出两处错误并修正(s6简单)。
String[]ss={"chen","shao","gao","song"};
inti=0;
for(Strings:
ss)
s.toUpperCase();
for(Strings:
ss)
System.out.println(ss);
答案:
ss[i++]=s.toUpperCase();
System.out.println(s);
3.修正下列程序中的三处错误。
(s6中等)
List
ls.add("hello");
ls.add
(1);
ls.add("world");
Collection.sort(ls);
for(Strings:
ls)
System.out.println(s);
答案:
List
ls.add(“1”);
Collections.sort(ls);
五、编程
1.补全代码,实现登录功能,当用户名和密码都为java时,显示登录成功,否则显示登录失败。
提示JOptionPane.showMessageDialog方法可以用来显示消息。
答案(s7中等,带有下划线的是留空白给学生的,如果全部填写难度较大):
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classGUI{
JFrameframe=newJFrame("LoginNow!
");
JTextFieldname=newJTextField(12);
JPasswordFieldpassword=newJPasswordField(12);
JButtonok=newJButton("OK");
Handlerh=newHandler(this);
GUI(){
JPanelp=newJPanel();
p.add(newJLabel("Username:
"));
p.add(name);
p.add(newJLabel("Password:
"));
p.add(password);
p.add(ok);
ok.addActionListener(h);
frame.getContentPane().add(p);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicstaticvoidmain(String[]args){
newGUI();
}
}
classHandlerimplementsActionListener{
GUIgui;
publicHandler(GUIgui){this.gui=gui;}
publicvoidactionPerformed(ActionEventae){
Stringn=gui.name.getText();
Stringp=gui.password.getText();
if("java".equals(n)&&"java".equals(p))
JOptionPane.showMessageDialog(null,"Success!
");
else
JOptionPane.showMessageDialog(null,"Error!
");
}
}
2.书写程序实现:
将以下游戏记录存放到d盘下record.data文件中。
Zhang10000,wang8000,li6000,zhao4000(s8难度中等)
答案:
importjava.io.*;
publicclassTest2{
publicstaticvoidmain(String[]ars)throwsException{
FileOutputStreamfos=newFileOutputStream("d:
/record.data");
DataOutputStreamdos=newDataOutputStream(fos);
dos.writeUTF("zhang");dos.writeInt(10000);
dos.writeUTF("wang");dos.writeInt(8000);
dos.writeUTF("li");dos.writeInt(6000);
dos.writeUTF("zhao");dos.writeInt(4000);
dos.close();fos.close();
}
}
3.使用线程实现,每隔一秒在控制台上输出一个数字(s10简单)
答案:
publicclassTest2implementsRunnable{
publicvoidrun(){
for(inti=0;;){
try{Thread.sleep(1000);}catch(Exceptione){}
System.out.println(++i);
}
}
publicstaticvoidmain(String[]args)throwsException{
newThread(newTest2()).start();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 基础
![提示](https://static.bdocx.com/images/bang_tan.gif)