Java二级操作题第5套

基本操作

在考生文件夹中存有文件名为Java_1.java的文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。
本题的要求是:
对Java_1.java文件进行完善并调试,使程序输出的结果如下:
b的结果是:5

//*********Found**********
public ____________ Java_1{
   public static void main(String args[]) {
      byte b = 10;   // 二进制表示00001010 
      //*********Found**********
      byte c = ____________;
      b = (byte)(b ^ c);
      //*********Found**********
      System.out.println("b的结果是:" ________________);
   }
}

本题考查的是按位异或运算符。

每个程序开始都有 public class 类名,所以第一空填"class"。

为防止计算机高低字节存储顺序不同,通常用byte类型来表示数据可以避免出错。

通过语句"b=(byte)(bc);“可以知道,变量b的输出结果是变量c与10(二进制表示00001010)按位异或运算的结果,题面要求输出结果为"b的结果是:5”,那么可知:c00001010=00000101,按位异或运算符的作用是,两个操作数中,如果两个相应位相同,则结果为0,否则为1,由此可以推算出c=00001010^00000101=00001111,转换为十进制数为15,第二空填"0X000f"。最后要输出b的结果,所以第三空填"+b"。

具体程序如下:

//*********Found**********
public class Java_1{
   public static void main(String args[]) {
      byte b = 10;   // 二进制表示00001010 
      //*********Found**********
      byte c = 15;
      b = (byte)(b ^ c);
      //*********Found**********
      System.out.println("b的结果是:" +b);
   }
}

简单应用

在考生文件夹中存有文件名为Java_2.java文件,该程序是不完整的,请在注释行"//Found*"下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
在主线程中创建一个线程,该线程休眠50ms,然后再给变量i赋值。主线程要等该子线程结束后获得i的值并输出。程序的输出结果如下:
j=10,a.i=10

public class Java_2 { 
   public static void main (String args[]) { 
      try { 
         Sleep a = new Sleep (); 
         Thread t = new Thread (a); 
         //*********Found**********
         t._____________();
         t.join(); 
         int j= a.i; 
         System.out.println("j="+j+",a.i="+a.i);
      } catch (Exception e) {} 
   } 
} 

//*********Found**********
class Sleep implements _________________{ 
   int i; 
   public void run () { 
      try { 
         //*********Found**********
         Thread._______________(50); 
         i= 10; 
      } 
      //*********Found**********
      ______________(InterruptedException e) {} 
   } 
}

本题考查的是线程的生命周期与线程控制。
线程的生命周期包括5种状态:
1、新生状态:用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态,所以第一空应该填"start"。
2、就绪:处于就绪状态的线程已经具备了运行条件,但需要进入线程队列,等待系统为其分配CPU,创建新线程有两种方式,这里是实现Runnable接口,所以第二空填"Runnable"。
3、运行:在运行状态的线程执行自己的run方法中的代码,直到调用其他方法而终止、或等待某资源而阻塞或完成任务而死亡。
4、阻塞:处于运行状态的线程在某些情况下,如执行了sleep()方法,将让出CPU并暂时终止自己的运行,进入阻塞状态。在本程序中,线程需要休眠50ms然后给变量i赋值,所以调用sleep()方法,第三空应该填"sleep"。
5、死亡:线程死亡的原因有两个,一是正常运行的线程完成了全部工作;另一个是线程被强制性地终止。
本程序用到的线程控制方法sleep():该方法使一个线程暂停运行一段固定的时间。在休眠时间内,线程将不运行,休眠时间的长短由sleep()方法的参数决定。sleep()方法结束后,线程将进入可运行状态,进行接下来的给变量i赋值的操作。

具体程序如下:

public class Java_2 { 
   public static void main (String args[]) { 
      try { 
         Sleep a = new Sleep (); 
         Thread t = new Thread (a); 
         //*********Found**********
         t.start();
         t.join(); 
         int j= a.i; 
         System.out.println("j="+j+",a.i="+a.i);
      } catch (Exception e) {} 
   } 
} 

//*********Found**********
class Sleep implements Runnable{ 
   int i; 
   public void run () { 
      try { 
         //*********Found**********
         Thread.sleep(50); 
         i= 10; 
      } 
      //*********Found**********
      catch(InterruptedException e) {} 
   } 
}

综合应用

在考生文件夹中存有文件名为Java_3.java文件,该程序是不完整的,请在注释行"//Found*“下一行语句的下划线地方填入正确内容,然后删除下划线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。

本题的要求是:
创建一个顶层框架类的对象,设置框架左上角的标题为"股票分析系统”。并将顶层框架放置到屏幕中央,使程序的输出界面如下:

//*********Found**********
import javax._______________;
import java.awt.*;
public class Java_3{
   static final int WIDTH=300;
   static final int HEIGHT=200;
   public static void main(String[] args){
      //*********Found**********
      JFrame jf=_______________();
      jf.setSize(WIDTH,HEIGHT);
      jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      //*********Found**********
      jf._________ ("股票分析系统");
      Toolkit kit=Toolkit.getDefaultToolkit();
      Dimension screenSize=kit.getScreenSize();
      int width=screenSize.width;
      int height=screenSize.height;
      int x=(width-WIDTH)/2;
      int y=(height-HEIGHT)/2;
      jf.setLocation (x,y);
      //*********Found**********
      _________.setVisible(true);
   }
}

本题考查的是用Swing编写图形用户界面。
通过语句"JFrame jf=new JFrame();“可知,本程序用到Swing包中的JFrame类,所以第一空填"swing.JFrame”;程序创建了JFrame类的对象jf,第二空填"new
JFrame",通过调用setTitle()方法为该窗体添加标题,所以第三空填"setTitle";程序的最后,需要使用JFrame类的对象调用show()方法将窗口显示出来,所以第四空填"jf"。
具体程序如下:

//*********Found**********
import javax.swing.JFrame;
import java.awt.*;
public class Java_3{
   static final int WIDTH=300;
   static final int HEIGHT=200;
   public static void main(String[] args){
      //*********Found**********
      JFrame jf=new JFrame();
      jf.setSize(WIDTH,HEIGHT);
      jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      //*********Found**********
      jf.setTitle ("股票分析系统");
      Toolkit kit=Toolkit.getDefaultToolkit();
      Dimension screenSize=kit.getScreenSize();
      int width=screenSize.width;
      int height=screenSize.height;
      int x=(width-WIDTH)/2;
      int y=(height-HEIGHT)/2;
      jf.setLocation (x,y);
      //*********Found**********
      jf.setVisible(true);
   }
}
posted @   槑孒  阅读(377)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示