Java程序设计模拟测试(专用试题)

打印 上一主题 下一主题

主题 503|帖子 503|积分 1509

单选题


Thread类中能运行线程体的方法是B.run( )。start( )方法会启动一个新的线程,init( )方法是构造器的一部分,resume( )方法是恢复一个暂停的线程。

如果要把容器空间分成东、西、南、北、中五个区域,应采用的布局是D.BorderLayout。BorderLayout类可以将容器分为五个区域:EAST,WEST,SOUTH,NORTH和CENTER。每个区域只能放置一个组件,如果放置多个组件,只有最后一个组件可见。

能让线程从阻塞状态恢复到就绪状态的方法是B.resume()。init()方法是构造器的一部分,start()方法会启动一个新的线程,run()方法是线程体的执行部分。

如果lianxi.txt不存在,则A.程序会自动创建该文件。FileOutputStream类的构造方法可以接受一个字符串参数,表示要写入的文件名。如果该文件不存在,会自动创建一个新的文件。如果该文件已存在,会覆盖原有的内容。

关于继承的说法正确的是D.子类将继承父类非私有属性和方法。继承是一种面向对象的特征,它允许子类获得父类的属性和方法。私有属性和方法是父类的内部实现,不会被子类继承。公有和受保护的属性和方法可以被子类继承,但是受保护的属性和方法只能在子类内部访问,不能在外部访问。

下面正确的创建Socket的语句为A.Socket b=new Socket(” 130.3.4.5”,80):。Socket类的构造方法可以接受一个字符串参数和一个整数参数,分别表示要连接的服务器的IP地址和端口号。ServerSocket类是用于创建服务器端的套接字,它不能用来创建客户端的套接字。ServerSocket类的构造方法只接受一个整数参数,表示服务器端的端口号。

为实现线程之间的通信,需要使用下列哪种流合适? C.管道流 (PipedStream)。管道流是一种特殊的流,它可以在两个线程之间传输数据。一个线程可以通过PipedOutputStream向管道中写入数据,另一个线程可以通过PipedInputStream从管道中读取数据。过滤流,缓存流和文件流都不适合用于线程之间的通信,它们都是用于处理其他类型的数据源或目的地的流。

JPanel默认的布局管理器是A. FlowLayout。FlowLayout类是一种简单的布局管理器,它可以将组件按照从左到右,从上到下的顺序排列在容器中。如果容器的大小不足以显示所有的组件,FlowLayout会自动换行。GroupLayout,GridLayout和BorderLayout都不是JPanel的默认布局管理器,但是可以通过setLayout方法来设置。

下面哪些类用于实现TCP/IP客户和服务器? D.Socket, ServerSocket。Socket类和ServerSocket类是用于实现TCP/IP协议的客户端和服务器端的套接字。Socket类可以创建一个客户端的套接字,用于连接到指定的服务器。ServerSocket类可以创建一个服务器端的套接字,用于监听客户端的连接请求。DatagramPacket类和DatagramSocket类是用于实现UDP协议的数据包和套接字。UDP协议是一种无连接的协议,它不保证数据的可靠性和顺序性。

接口MouseMotionListener用于监听组件上的鼠标移动事件,它包括两个方法:mouseMoved(MouseEvent e)mouseDragged(MouseEvent e)。在以下供选择的方法中,属于接口MouseMotionListener的方法是B. mouseMoved( )。MouseMotionListener接口是用于接收鼠标移动事件的监听器接口,它有两个抽象方法:mouseDragged( MouseEvent e)和mouseMoved( MouseEvent e)。mouseDragged( )方法是当鼠标按下并拖动时触发,mouseMoved( )方法是当鼠标移动但没有按下时触发。 mouseEntered( )方法和mouseExited( )方法是属于MouseListener接口的方法,它们是当鼠标进入或离开组件时触发。mouseReleased( )方法也是属于MouseListener接口的方法,它是当鼠标释放时触发。
mouseEntered和mouseMoved的区别如下:

  • mouseEntered是MouseListener接口中的方法,它在鼠标进入某个组件的区域时触发。
  • mouseMoved是MouseMotionListener接口中的方法,它在鼠标在某个组件上移动时触发。
  • mouseEntered不支持事件冒泡,也就是说,如果鼠标从一个组件的子元素进入到该组件,不会触发mouseEntered事件。
  • mouseMoved支持事件冒泡,也就是说,如果鼠标在一个组件的子元素上移动,会触发该组件的mouseMoved事件。

声明并创建一个按钮对象b,应该使用的语句是C.JButton b=new JButton()。JButton类是用于创建按钮的类,它是javax.swing包中的一个类。要声明并创建一个按钮对象,需要使用JButton类的无参构造方法。button类是java.awt包中的一个类,它是一个旧的按钮类,不推荐使用。b.setLabel(“确定”)是一个方法调用,不是一个声明语句。JButton b=new b()是一个错误的语句,因为b不是一个类名。

容器被重新设置大小后,C.FlowLayout布局管理器的容器中的组件大小不随容器大小的变化而改变。FlowLayout类是一种简单的布局管理器,它可以将组件按照从左到右,从上到下的顺序排列在容器中。如果容器的大小不足以显示所有的组件,FlowLayout会自动换行。但是,FlowLayout不会改变组件的大小,只会改变组件的位置。BorderLayout类,CardLayout类和GridLayout类都会根据容器的大小来调整组件的大小和位置。

下面通常用来对对象加锁,并使得对对象的访问是排他的关键字是B. synchronized。synchronized关键字可以用来修饰方法或者代码块,表示该方法或者代码块是同步的,也就是说,同一时刻只能有一个线程执行该方法或者代码块。这样可以保证对对象的访问是互斥的,避免数据的不一致性。transient关键字可以用来修饰属性,表示该属性不会被序列化。static关键字可以用来修饰属性或者方法,表示该属性或者方法是属于类的,而不是属于对象的。serialize不是一个关键字,而是一个接口,表示一个类的对象可以被序列化。

public Color(int r,int g,int b,int alpha): 用指定的红色分量r、绿色分量g、蓝色分量b的值构造一个Color对象,其中r、g、b均为D.0-255之间的一个整数。Color类是用于封装颜色的类,它有多个构造方法,其中一个是接受四个整数参数的构造方法,分别表示红色分量,绿色分量,蓝色分量和透明度分量。这四个参数的取值范围都是0-255,其中0表示最小值,255表示最大值。

假设正在为应用系统设计一个Java图形用户界面 (GUI),要求能输入多行文本信息,下列组件中最能满足这个要求的是D.TextArea。TextArea类是用于创建多行文本输入框的类,它可以让用户输入和编辑多行的文本信息。Label类是用于创建标签的类,它只能显示一行的文本信息,不能让用户输入。Checkbox类是用于创建复选框的类,它可以让用户选择或取消选择一个选项,但不能输入文本。TextField类是用于创建单行文本输入框的类,它只能让用户输入和编辑一行的文本信息。

如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是A. p.add(b,“South”)。BorderLayout类是一种布局管理器,它可以将容器分为五个区域:EAST,WEST,SOUTH,NORTH和CENTER。每个区域只能放置一个组件,如果放置多个组件,只有最后一个组件可见。要在容器的某个区域添加一个组件,需要使用容器的add方法,并指定区域的名称。例如,p.add(b,“South”)表示在p的南边区域添加一个按钮b。B. b.add(p,“North”)是错误的语句,因为不能将容器添加到按钮中。C. p.add(b)是不完整的语句,因为没有指定区域的名称。D.p.add(b,“North”)是正确的语句,但是它表示在p的上边中添加一个按钮b,而不是下边。

线程的哪一个状态已经具备了运行条件:A.就绪状态。
A.就绪状态。就绪状态是指线程已经创建并且获取了除CPU资源之外的所有资源,只要获得CPU资源,就可以立即执行。就绪状态的线程是由调度器根据一定的算法来选择执行的。B.死亡状态是指线程已经结束或者被终止,不再具备运行条件。C.新建状态是指线程刚刚被创建,还没有启动,也没有获取任何资源,不具备运行条件。D.死锁状态是指线程在等待某个资源,而该资源又被其他线程占用,导致线程无法继续执行,也不具备运行条件。

在异常处理中,如释放资源、关闭文件、关闭数据库等由A.finally子句来完成。finally子句是异常处理中的一个可选部分,它用于执行一些必须的清理操作,无论是否发生异常,finally子句都会被执行。try子句是异常处理中的一个必须部分,它用于包含可能发生异常的代码。catch子句是异常处理中的一个可选部分,它用于捕获和处理特定类型的异常。throw子句是用于抛出异常的语句,它不属于异常处理的结构。

在Java中,如果要让正在运行的线程进入睡眠状态,可以调用线程的C.sleep()方法。这个方法是Thread类的一个静态方法,它可以让当前线程暂时放弃CPU的调度权,但不会释放锁资源。sleep()方法有两个重载版本,一个是接受一个long类型的参数,表示睡眠的毫秒数;另一个是接受一个long类型和一个int类型的参数,表示睡眠的毫秒数和纳秒数。

构造函数是一种特殊的成员函数,它的作用是在创建对象时对对象的数据成员进行初始化。构造函数的特点有以下几点:

  • 构造函数的名字与类名相同,可以有参数,但不能有返回值(连void也不行)。
  • 构造函数是在实例化对象时自动执行的,不需要用户手动调用。
  • 构造函数可以有多个,形成重载关系,根据传入的参数类型和个数来调用不同的构造函数。
  • 构造函数可以有默认参数,这样可以在实例化对象时不传入参数或只传入部分参数。
  • 如果没有定义构造函数,系统会生成一个默认的无参构造函数,不做任何初始化工作。如果定义了构造函数,系统就不再生成默认的无参构造函数。
举个例子,假设有一个类Box,它有三个数据成员:height, width, length。我们可以定义以下几种构造函数:
  1. //无参构造函数
  2. Box() {
  3.     height = 0;
  4.     width = 0;
  5.     length = 0;
  6. }
  7. //带三个参数的构造函数
  8. Box(int h, int w, int l) {
  9.     height = h;
  10.     width = w;
  11.     length = l;
  12. }
  13. //带一个参数的构造函数
  14. Box(int x) {
  15.     height = x;
  16.     width = x;
  17.     length = x;
  18. }
  19. //带默认参数的构造函数
  20. Box(int h = 10, int w = 10, int l = 10) {
  21.     height = h;
  22.     width = w;
  23.     length = l;
  24. }
复制代码
那么我们可以用以下几种方式来实例化对象:
  1. Box b1; //调用无参构造函数或带默认参数的构造函数
  2. Box b2(5); //调用带一个参数的构造函数或带默认参数的构造函数
  3. Box b3(5, 10, 15); //调用带三个参数的构造函数或带默认参数的构造函数
  4. Box b4(5, 10); //调用带默认参数的构造函数
复制代码
这样就可以根据不同的需求来初始化对象的数据成员了。
 
选题

Java分支结构

Java分支结构之多重if (10.0分)
Java分支结构之Switch (10.0分)
第1关:Java分支结构之多重if

任务描述

本小节需要你实现一个星级成绩评定系统,效果如下:
相关知识

若要完成本小节的任务,需要你先了解多重If语句相关知识。
多重If语句

在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码,例如:如果一个人年龄介于 35岁至 60 岁之间,就是“中年”;如果年龄介于 18 岁至 35 岁之间,则是“青年”; 18 岁以下则是“少年”
如下:

  • if(){

  • }elseif(){

  • }elseif(){

  • }else{

  • }
执行过程:
<ol>int age =37;
 
if(age =18&& age =35&& age =90)&&(score=80)&&(score=70)&&(score=60)&&(score=0)&&(score

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表