JAVA练习题 (2)
(A)1个(B)2个(C)3个(D)无数个
3.Java源文件和编译后的文件扩展名分别是___C____。源文件和字节码文件
(A).class和.java(B).class和.class
(C).java和.class(D).java和.java
4.要开发Java程序,需要安装的开发包是___A____。
J,共36分)
1.以下说法正确的是__C____。
(A)Java中所有的方法都必须在类内定义
(B)Java中主方法可以不在类内定义,其他方法都必须定义在类内
(C)Java中主方法必须定义在类内,其他方法可以不必定义在类内
(D)Java中所有方法都不必在类内定义
2.在Java中,一个源文件可以存放几个公有类(即被public修饰的类)? __A_____。
al.add(“1”);al.add("2");
al.add("3");al.add("1");集合al中的元素有_____D___。
(A)"1"(B)"2","3"(C)"1","2","3"(D)"1","2","3","1"
二、阅读程序,写出输出结果(每小题3分,共9分)
1.下面程序的运行结果是【1】54321。
1)线程:是进程中的一个单一的连续控制流程,拥有独立的执行控制,由操作系统负责调度。
多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
2)使用线程的好处有以下几点:
(1)使用线程可以把占据长时间的程序中的任务放到后台去处理
(2)用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
}
2.下面程序的运行结果是【2】helloWorld。
public class Test2
{
public String add(String a)
{
a = a + “World”;
return a;
}
public static void main(String[] args)
{
Test2 t = new Test2();
(C)package scu;(D)package java.scu;
7.判断两个字符串s1,s2的内容是否相同,需要使用__D_____。
(A)if(s1=s2)(B)if(s1==s2)
(C)if( equals(s1,s2))(D)if(s1.equals(s2))
8.关于Object类中定义的toString方法,以下说法正确的是__A____。
(2).让服务器套接字监听连接请求,若客户端请求连接,则接受连接,返回通信套接字
(3).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(4).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流
(A)start启动线程(B)main(C)helloWorld(D)run
15.要定义实现Runnable接口的类,必须定义的方法是___B____。
(A)start(B)stop(C)run(D)yield
16.要定义Thread的子类,必须实现的方法是____C___。
(A)start(B)stop(C)run(D)yield
13.关于布尔类型说法正确的是__A______。
(A)boolean表示布尔类型,它的取值只有true和false
(B)bool表示布尔类型,它的取值只有true和false
(C)boolean表示布尔类型,它的取值只有1和0
(D)bool表示布尔类型,它的取值只有1和0
14.Java程序隐含的主线程是___B____。
第9个人在Thread-1窗口买票
第8个人在Thread-2窗口买票
第7个人在Thread-0窗口买票
第6个人在Thread-1窗口买票
第5个人在Thread-2窗口买票
第4个人在Thread-2窗口买票
第3个人在Thread-1窗口买票
第2个人在Thread-0窗口买票
第1个人在Thread-0窗口买票
{
Example s1 = new Example();
Example s2 = new Example();
s1.len++;
s2.len++;
Example.len++;
System.out.println("len="+len);
}
}
三、论述题(每小题各3分,共18分)
1.什么是多线程?举例说明多线程的优点有哪些?(见教材217页,及见12章课件)
2)有处理异常的程序:发生异常,捕获后,可继续执行后面的程序。
无处理异常的程序:发生异常,程序终止
3)处理了异常的程序更健壮。
3.什么是事件监听器,主要功能是什么?
(1)程序可以使用事件监听器,选择接收事件。(2)将事件监听器添加到事件源中,一旦有事件发生,程序就会调用跟事件源连接的事件监听器的方法
//创建集合al的迭代器
Iterator it = al.iterator();
while(it.hasNext())
{
//打印输出al的每一个元素
System.out.println(it.next());
}
}
2.利用多线程的方法,写一个程序,模拟10个人在3个窗口买票的过程,程序输出结果
类似:
第10个人在Thread-0窗口买票
1.已知有一个ArrayList类型的集合al,它里面存放了一些字符串元素,
有迭代器接口的声明如下:
public interface Iterator
{
Boolean hasNext();
Object next();
void remove();
}
请定义一个迭代器,并利用此迭代器遍历集合al,打印输出al中的每个元素。
4.分析比较ArrayList集合和数组的区别
1)ArrayList集合可动态调整大小,数组定义的时候必须确定大小
2)ArrayList集合中可以存放任意类型的元素,各元素之间类型可以不同
3)数组所有元素的类型必须一致
5.同步机制有什么作用,有哪些方式可以实现线程同步?
同步机制,利用同步保护临界区,即:用来保护某段代码在执行的时候以独占的方式执行,这时如果有第二个线程想访问这个对象时就会被暂停。一直等到独占的
(A)jdk(B)eclipse(C)notepad(D)记事本
5.Java中所有类的默认超类为___A____。
(A)ng(B)Class(C)Main(D)Super
6.下列语句中,能正确创建一个名为scu的包是___C____。
(A)import java.scu;(B)import scu;
17.HashSet hs = newHashSet();
hs.add("1");hs.add("2");
hs.add("3");hs.add("1");集合hs中的元素有__C______。
(A)"1"(B)"2","3"(C)"1","2","3"(D)"1","2","3","1"
18.ArrayList al = newArrayList();
public class Test
{
public static void main(String[] args)
{
int []a = new int[5];
for(int i=0; i<a.length; i++)
a[i] =5-i;
for(int b:a)
System.out.print(b);
}
currentThread().getName()+
"买票");
number--;
}}}
public class TicketsSystem {
public static void main(String[] args)
{ //有三个售票窗口
SellThread st = new SellThread();
客户端:
(1).创建一个客户端套接字,并连接到服务器的指定端口
(2).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(3).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流。
四、编程题(第1小题8分,第2小题13分,第3小题16分,共计37分)
草莓价格为10.7元/斤,存货有41斤,苹果的价格为6元/斤,存货有56斤。
(2)使用查询语句,查询价格低于5元/斤的水果,输出其存货量。
import java.sql.*;
(3)程序的运行速度可能加快
(4)多线程可以让同一个程序的不同部分并发执行例如:网页同时加载多个图片
2.什么是异常?举例说明程序什么时候需要处理异常?处理异常的程序有什么优点?(见11章课件)