JAVA练习题 (2)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
class SellThread implements Runnable
{ //一共有10张火车票
private int number;
SellThread(){number = 10}
public void run()
{ while(number> 0)
{ //打印出售火车票的窗口和第几张火车票
System.out.println(“第”+number+”个人在”Thread.
(A)jdk(B)eclipse(C)notepad(D)记事本
5.Java中所有类的默认超类为___A____。
(A)Objectjava.lang(B)Class(C)Main(D)Super
6.下列语句中,能正确创建一个名为scu的包是___C____。
(A)import java.scu;(B)import scu;
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);
}
(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____。
代码执行为止,防止出现临界错误。任何一个对象都有一个监视器,或者叫锁。
同步方案1:同步块,给对象加锁
同步方案2:同步方法,给this对象加锁
目的:阻止一个线程执行到临界区,另一个线程进入。
6.在socket编程,完成服务器端和客户端的程序开发,分别需要哪些步骤?
服务器端:
(1).创建一个服务器端套接字,并绑定到指定端口
13.关于布尔类型说法正确的是__A______。
(A)boolean表示布尔类型,它的取值只有true和false
(B)bool表示布尔类型,它的取值只有true和false
(C)boolean表示布尔类型,它的取值只有1和0
(D)bool表示布尔类型,它的取值只有1和0
14.Java程序隐含的主线程是___B____。
(A)java.lang(B)java.net网络(C)javax.swing图形开发(D)java.util
12.以下语句中,没有创建出字符串对象的是____A____。
(A)String str;(B)String str =“hello”;
(C)String str =new String();(D)new String(“hello”);
currentThread().getName()+
"买票");
number--;
}}}
public class TicketsSystem {
public static void main(String[] args)
{ //有三个售票窗口
SellThread st = new SellThread();
id
name
price
store
1
香蕉
3.5
30
2
西瓜
8.2
88
3
橙子
3.9
135
MySQL:数据库的驱动类名为:com.mysql.jdbc.Driver
MySQLJDBC的URL值格式:jdbc:mysql://主机IP:3306/数据库名
(1)请使用java程序,连接此数据库,使用插入语句为水果信息表添加关于草和苹果的记录。
(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____。
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();
(3)程序的运行速度可能加快
(4)多线程可以让同一个程序的不同部分并发执行例如:网页同时加载多个图片
2.什么是异常?举例说明程序什么时候需要处理异常?处理异常的程序有什么优点?(见11章课件)
1)Java中的异常定义了程序中遇到的轻微的错误条件,比如:打开一个不存在的文件、网络
连接中断、数组下标越界等。
(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
String s =“hello”;
System.out.print(t.add(s));
}
}
3.下面程序的运行结果是【3】len=3。
public class Example
{
private static int len = 0;
public static void main(String[] args)
Thread th1 = new Thread(st);
th1.start();
Thread th2 = new Thread(st);
th2.start();
Thread th3 = new Thread(st);
th3.start();
}Leabharlann Baidu
}
3.假设IP为“192.168.1.1”的主机上有一个数据库MySQL类型的数据库Sell,登录名和密码分别为“root”和“123”,Sell中已经存在一个水果信息表Fruit。
2)有处理异常的程序:发生异常,捕获后,可继续执行后面的程序。
无处理异常的程序:发生异常,程序终止
3)处理了异常的程序更健壮。
3.什么是事件监听器,主要功能是什么?
(1)程序可以使用事件监听器,选择接收事件。(2)将事件监听器添加到事件源中,一旦有事件发生,程序就会调用跟事件源连接的事件监听器的方法
(A)toString方法可以将java预定义的类型转换为字符串类型
(B)toString方法可以将字符串类转换为java预定义的类型
(C)toString方法可以将所有其他类型转换为字符串类型
(D)toString方法可以将字符串类型转换为所有其他类型
9.有定义String str;以下说法不正确的是____A____。
1.已知有一个ArrayList类型的集合al,它里面存放了一些字符串元素,
有迭代器接口的声明如下:
public interface Iterator
{
Boolean hasNext();
Object next();
void remove();
}
请定义一个迭代器,并利用此迭代器遍历集合al,打印输出al中的每个元素。
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。
(2).让服务器套接字监听连接请求,若客户端请求连接,则接受连接,返回通信套接字
(3).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(4).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流
第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窗口买票
Java练习题
一、单项选择题(每小题2分,共36分)
1.以下说法正确的是__C____。
(A)Java中所有的方法都必须在类内定义
(B)Java中主方法可以不在类内定义,其他方法都必须定义在类内
(C)Java中主方法必须定义在类内,其他方法可以不必定义在类内
(D)Java中所有方法都不必在类内定义
2.在Java中,一个源文件可以存放几个公有类(即被public修饰的类)? __A_____。
4.分析比较ArrayList集合和数组的区别
1)ArrayList集合可动态调整大小,数组定义的时候必须确定大小
2)ArrayList集合中可以存放任意类型的元素,各元素之间类型可以不同
3)数组所有元素的类型必须一致
5.同步机制有什么作用,有哪些方式可以实现线程同步?
同步机制,利用同步保护临界区,即:用来保护某段代码在执行的时候以独占的方式执行,这时如果有第二个线程想访问这个对象时就会被暂停。一直等到独占的
(A)str是一个字符串对象
(B)str是一个引用
(C)str没有关联对象,不能使用
(D)str可以指向一个字符串对象
10.在子类的构造函数中要调用父类的构造函数,需要用哪个关键字____D__。
(A)final(B)extends(C)implements(D)super
11.在Java语言中,下列哪个包是编译器自动导入的?___A___。
//创建集合al的迭代器
Iterator it = al.iterator();
while(it.hasNext())
{
//打印输出al的每一个元素
System.out.println(it.next());
}
}
2.利用多线程的方法,写一个程序,模拟10个人在3个窗口买票的过程,程序输出结果
类似:
第10个人在Thread-0窗口买票
}
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();
客户端:
(1).创建一个客户端套接字,并连接到服务器的指定端口
(2).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(3).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流。
四、编程题(第1小题8分,第2小题13分,第3小题16分,共计37分)
1)线程:是进程中的一个单一的连续控制流程,拥有独立的执行控制,由操作系统负责调度。
多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
2)使用线程的好处有以下几点:
(1)使用线程可以把占据长时间的程序中的任务放到后台去处理
(2)用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
{
Example s1 = new Example();
Example s2 = new Example();
s1.len++;
s2.len++;
Example.len++;
System.out.println("len="+len);
}
}
三、论述题(每小题各3分,共18分)
1.什么是多线程?举例说明多线程的优点有哪些?(见教材217页,及见12章课件)
草莓价格为10.7元/斤,存货有41斤,苹果的价格为6元/斤,存货有56斤。
(2)使用查询语句,查询价格低于5元/斤的水果,输出其存货量。
import java.sql.*;
{ //一共有10张火车票
private int number;
SellThread(){number = 10}
public void run()
{ while(number> 0)
{ //打印出售火车票的窗口和第几张火车票
System.out.println(“第”+number+”个人在”Thread.
(A)jdk(B)eclipse(C)notepad(D)记事本
5.Java中所有类的默认超类为___A____。
(A)Objectjava.lang(B)Class(C)Main(D)Super
6.下列语句中,能正确创建一个名为scu的包是___C____。
(A)import java.scu;(B)import scu;
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);
}
(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____。
代码执行为止,防止出现临界错误。任何一个对象都有一个监视器,或者叫锁。
同步方案1:同步块,给对象加锁
同步方案2:同步方法,给this对象加锁
目的:阻止一个线程执行到临界区,另一个线程进入。
6.在socket编程,完成服务器端和客户端的程序开发,分别需要哪些步骤?
服务器端:
(1).创建一个服务器端套接字,并绑定到指定端口
13.关于布尔类型说法正确的是__A______。
(A)boolean表示布尔类型,它的取值只有true和false
(B)bool表示布尔类型,它的取值只有true和false
(C)boolean表示布尔类型,它的取值只有1和0
(D)bool表示布尔类型,它的取值只有1和0
14.Java程序隐含的主线程是___B____。
(A)java.lang(B)java.net网络(C)javax.swing图形开发(D)java.util
12.以下语句中,没有创建出字符串对象的是____A____。
(A)String str;(B)String str =“hello”;
(C)String str =new String();(D)new String(“hello”);
currentThread().getName()+
"买票");
number--;
}}}
public class TicketsSystem {
public static void main(String[] args)
{ //有三个售票窗口
SellThread st = new SellThread();
id
name
price
store
1
香蕉
3.5
30
2
西瓜
8.2
88
3
橙子
3.9
135
MySQL:数据库的驱动类名为:com.mysql.jdbc.Driver
MySQLJDBC的URL值格式:jdbc:mysql://主机IP:3306/数据库名
(1)请使用java程序,连接此数据库,使用插入语句为水果信息表添加关于草和苹果的记录。
(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____。
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();
(3)程序的运行速度可能加快
(4)多线程可以让同一个程序的不同部分并发执行例如:网页同时加载多个图片
2.什么是异常?举例说明程序什么时候需要处理异常?处理异常的程序有什么优点?(见11章课件)
1)Java中的异常定义了程序中遇到的轻微的错误条件,比如:打开一个不存在的文件、网络
连接中断、数组下标越界等。
(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
String s =“hello”;
System.out.print(t.add(s));
}
}
3.下面程序的运行结果是【3】len=3。
public class Example
{
private static int len = 0;
public static void main(String[] args)
Thread th1 = new Thread(st);
th1.start();
Thread th2 = new Thread(st);
th2.start();
Thread th3 = new Thread(st);
th3.start();
}Leabharlann Baidu
}
3.假设IP为“192.168.1.1”的主机上有一个数据库MySQL类型的数据库Sell,登录名和密码分别为“root”和“123”,Sell中已经存在一个水果信息表Fruit。
2)有处理异常的程序:发生异常,捕获后,可继续执行后面的程序。
无处理异常的程序:发生异常,程序终止
3)处理了异常的程序更健壮。
3.什么是事件监听器,主要功能是什么?
(1)程序可以使用事件监听器,选择接收事件。(2)将事件监听器添加到事件源中,一旦有事件发生,程序就会调用跟事件源连接的事件监听器的方法
(A)toString方法可以将java预定义的类型转换为字符串类型
(B)toString方法可以将字符串类转换为java预定义的类型
(C)toString方法可以将所有其他类型转换为字符串类型
(D)toString方法可以将字符串类型转换为所有其他类型
9.有定义String str;以下说法不正确的是____A____。
1.已知有一个ArrayList类型的集合al,它里面存放了一些字符串元素,
有迭代器接口的声明如下:
public interface Iterator
{
Boolean hasNext();
Object next();
void remove();
}
请定义一个迭代器,并利用此迭代器遍历集合al,打印输出al中的每个元素。
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。
(2).让服务器套接字监听连接请求,若客户端请求连接,则接受连接,返回通信套接字
(3).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(4).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流
第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窗口买票
Java练习题
一、单项选择题(每小题2分,共36分)
1.以下说法正确的是__C____。
(A)Java中所有的方法都必须在类内定义
(B)Java中主方法可以不在类内定义,其他方法都必须定义在类内
(C)Java中主方法必须定义在类内,其他方法可以不必定义在类内
(D)Java中所有方法都不必在类内定义
2.在Java中,一个源文件可以存放几个公有类(即被public修饰的类)? __A_____。
4.分析比较ArrayList集合和数组的区别
1)ArrayList集合可动态调整大小,数组定义的时候必须确定大小
2)ArrayList集合中可以存放任意类型的元素,各元素之间类型可以不同
3)数组所有元素的类型必须一致
5.同步机制有什么作用,有哪些方式可以实现线程同步?
同步机制,利用同步保护临界区,即:用来保护某段代码在执行的时候以独占的方式执行,这时如果有第二个线程想访问这个对象时就会被暂停。一直等到独占的
(A)str是一个字符串对象
(B)str是一个引用
(C)str没有关联对象,不能使用
(D)str可以指向一个字符串对象
10.在子类的构造函数中要调用父类的构造函数,需要用哪个关键字____D__。
(A)final(B)extends(C)implements(D)super
11.在Java语言中,下列哪个包是编译器自动导入的?___A___。
//创建集合al的迭代器
Iterator it = al.iterator();
while(it.hasNext())
{
//打印输出al的每一个元素
System.out.println(it.next());
}
}
2.利用多线程的方法,写一个程序,模拟10个人在3个窗口买票的过程,程序输出结果
类似:
第10个人在Thread-0窗口买票
}
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();
客户端:
(1).创建一个客户端套接字,并连接到服务器的指定端口
(2).调用Socket的getOutputStream( )方法和getInputStream( )获取输入输出流,发送接收
数据
(3).调用Socket的close( )方法关闭通信套接字若不再输入输出还可用close关闭输入输出流。
四、编程题(第1小题8分,第2小题13分,第3小题16分,共计37分)
1)线程:是进程中的一个单一的连续控制流程,拥有独立的执行控制,由操作系统负责调度。
多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。
2)使用线程的好处有以下几点:
(1)使用线程可以把占据长时间的程序中的任务放到后台去处理
(2)用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度
{
Example s1 = new Example();
Example s2 = new Example();
s1.len++;
s2.len++;
Example.len++;
System.out.println("len="+len);
}
}
三、论述题(每小题各3分,共18分)
1.什么是多线程?举例说明多线程的优点有哪些?(见教材217页,及见12章课件)
草莓价格为10.7元/斤,存货有41斤,苹果的价格为6元/斤,存货有56斤。
(2)使用查询语句,查询价格低于5元/斤的水果,输出其存货量。
import java.sql.*;