zoukankan      html  css  js  c++  java
  • 【Java】过程考核试题

    2-1
    在使用 interface声明一个接口时,只可以使用(   )修饰符修饰该接口。

    private 
    protected 
    private  protected 
    public

    2-2
    Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(   )个比特位。

    8         
    16          
    32          
    64

    2-3
    关于构造函数的描述错误的是:

    构造函数返回的类型只能是void类型
    构造函数是类的一种特殊函数,它的方法名必须与类名相同
    构造函数的主要作用是完成对类的对象的初始化工作
    一般在创建新对象时,系统会自动调用构造函数

    2-4
    有语句String s=”hello world”; ,以下操作哪个是不合法的?

    int i=s.length()
    s>>>=3
    String ts=s.trim()  
    String t=s+”!”

    2-5
    下列哪些语句关于Java内存回收的说明是正确的?

    程序员必须创建一个线程来释放内存 
    内存回收程序负责释放无用内存 
    内存回收程序允许程序员直接释放内存 
    内存回收程序可以在指定的时间释放内存对象

    2-6
    以下哪个不是Java的关键字?

    TRUE 
    const 
    super 
    void

    2-7
    Java语言的类间的继承关系是。

    多重的 
     单重的 
     线程的 
     不能继承

    2-8
    下列选项中,用于在定义子类时声明父类名的关键字是。

    interface
    package 
    extends 
    class

    2-9
    在java中,( )对象可以使用键/值的形式保存数据.

    ArrayList
    HashSet
    HashMap
    LinkedList

    2-10
    给定如下的java代码,编译时会在( )出现错误。 class Parent{ }

    class Child extends Parent{

    public static void main(String args[]){

    Parent p1=new Parent();//第一行
    Parent p2=new Child();//第二行
    Child c1=new Child();//第三行
    Child c2=new Parent();//第四行
    } }

    第一行
    第二行
    第三行
    第四行

    2-11
    ( )类应该是你在java里创建的任何异常类的超类。

    Exception类
    Throwable类
    Error类
    RuntimeException类

    2-12
    ( )合法构造并初始化了数组。

    int array[]={1,2,3};
    int array[][]={1,2,3,4};
    int []array=(1,2,3);
    int []array=[1,2,3];

    2-13
    下列InputStream类中哪个方法用于关闭流?

    skip()
    close()
    reset()
    mark()

    2-14
    在类的定义中可以有两个同名函数,这种现象称为函数的( )。

    封装
    覆盖
    继承
    重载

    2-15
    在下面关键字中,哪一个不是用于异常处理语句( )。

    try
    catch
    break
    finally
    4-1
    abstract
    方法是一种仅有方法的定义,没有具体方法体和操作实现的方法;
    final
    方法是不能被当前类的子类重新定义的方法。

    4-2
    创建一个名为YourPackage的包的语句是
    package YourPackage;
    该语句应放在程序位置的
    第一行

    4-3
    在java程序中,通过类的定义只能实现

    重继承,通过
    接口
    的定义可以实现多重继承。

    4-4
    子类必须通过
    extends
    关键字调用父类有参数的构造函数

    4-5
    在java语言中,所有的类都是
    Object
    的子类

    4-6
    一个类如果实现一个接口,那么它就需要实现接口中定义的全部
    方法
    ,否则该类就必须定义成
    抽象类

    //这是对堆栈进行操作的泛型类。有入栈push和出栈pop两个方法,请完成填空。
    
    public class Stack<T> {
    
    private class Node<T>{
    public T Item;
    public Node<T> next;
    public Node(T item,Node<T> nt) {
    Item = item;
    next = nt;
    }
    public boolean end() {
    return Item==null && next==null;
    }
    }
    private Node top;//
    public Stack() {
    top=new Node<T>(null,null);
    }
    public void push(T item) {
    top = new Node<T>(item,top);
    }
    public T pop() {//
    if(top.end())
    return null;
    T item=top.Item;
    top = top.next;
    return item;//
    }
    }
    public class First {
    
    public static void main(String[] args) {
    Stack<T> s=new Stack<T>();//
    int i;
    for(i=0;i<10;i++) {
    s.push(i);
    }
    for(i=0;i<10;i++) {
    System.out.println(s.pop());
    }
    }
    }
    

    8-1 多线程同步编程 (20分)
    有A,B两个线程,A线程产生小于20的随机数,B线程计算随机数的平方值。要求A,B线程必须同步(即A线程产生一个数之后,B线程计算该数的平方值;如果A线程还没产生,B线程只能等待,如果B线程还没取值,A线程只能等待)。

    /**
     * 
     */
    /**
     * @author SiriusZHT 2018110262
     *
     */
    package test1;
    import java.util.Random;
    
    public class ThreadTurn {
        Object o = new Object();
        Boolean f = true ; // True 时线程1执行
        
        int max=20;
        int min=0;
        int s=0;
        int doubles=0;
        
        class Thread1 extends Thread{
            public void run() {
                synchronized (o) {
                    for (int i = 0; i < 100; i++) {
                    	Random random = new Random();
    
                        s = random.nextInt(max)%(max-min+1) + min;
                        System.out.println("A" + i + ":" + s);
                        o.notify();
                        if(f){
                            f = false;
                            try{
                                o.wait();
                            }catch(Exception e){
                                System.out.print(e);
                            }
                        }
                    }
                }
            }
        }
    
        class Thread2 extends Thread{
            public void run(){
                synchronized (o){
                    for(int i=0;i<100;i++){
                    	doubles = s*s;
                        System.out.println("B" + i + ":" + doubles);
                        o.notify();
                        if(!f){
                            f = true;
                            try {
                                o.wait();
                            }catch(Exception e){
                                System.out.print(e);
                            }
                        }
                    }
                }
            }
        }
    
        public void start(){
            new Thread1().start();
            new Thread2().start();
        }
    
        public static void main(String args[]){
            ThreadTurn t = new ThreadTurn();
            t.start();
        }
    
    }
    

    在这里插入图片描述
    8-2 请按要求完成程序 (20分)
    计算机的文件假如分为文本文件、图像文件、压缩文件三种类型,编写一个程序模拟打开这三种类型的文件(在打开Open()方法中只显示打开某种类型的文件即可)。要求使用接口或抽象类, 接口或抽象类的名称为FileOpen, 文本文件类名为TextFile, 图像文件类名为ImageFile, 压缩文件类名为ZipFile。主程序代码如下,请完成其他类的编程。

    /**
     * 
     */
    /**
     * @author SiriusZHT 2018110262
     *
     */
    package test2;
    abstract class FileOpen {
    	public String filename;
    	public void Open() {
    		
    	}
    	
    }
    class TextFile extends FileOpen{
    	public TextFile(String name) {
    		// TODO Auto-generated constructor stub
    		this.filename = name;
    	}
    	public void Open() {
    		System.out.println(this.filename);
    	}
    }
    class ImageFile extends FileOpen{
    	public ImageFile(String name) {
    		// TODO Auto-generated constructor stub
    		this.filename = name;
    	}
    	public void Open() {
    		System.out.println(this.filename);
    	}
    }
    class ZipFile extends FileOpen{
    	public ZipFile(String name) {
    		// TODO Auto-generated constructor stub
    		this.filename = name;
    	}
    	public void Open() {
    		System.out.println(this.filename);
    	}
    
    }
    public class File{
    	
    	public static void main(String[] args) {
    		FileOpen []fp=new FileOpen[10];
    		int n;
    		for(int i=0;i< fp.length;i++){
    			n=(int)(Math.random()*3);
    			switch(n){
    			case 0:
    				fp[i]=new TextFile ("文本文件.txt");
    				break;
    			case 1:
    				fp[i]=new ImageFile ("图像文件.jpg");
    				break;
    			case 2:
    				fp[i]=new ZipFile ("压缩文件.Zip");
    				break;
    			}
    		}
    		for(FileOpen ones:fp)
    			ones.Open();
    	}
    }
    
    

    在这里插入图片描述

  • 相关阅读:
    将webcam设置为网站favicon
    IIS简单的反向代理设置
    在Heroku上免费部署ASP.NET Core(使用Docker和CircleCI)
    ModelBiner不验证某个属性
    大项目小细节---切换选项卡后的操作
    测试理论
    测试理论
    测试理论
    Chrome
    Docker
  • 原文地址:https://www.cnblogs.com/SiriusZHT/p/14310778.html
Copyright © 2011-2022 走看看