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();
    	}
    }
    
    

    在这里插入图片描述

  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/SiriusZHT/p/14310778.html
Copyright © 2011-2022 走看看