Java笔试题1

5 篇文章 0 订阅

不定项选择题(基础理论)

  1. TCP/IP协议模型(Transmission Control Protocol/Internet Protocol)分几层(D) ?
    A、7
    B、5
    C、3
    D、4

  2. 时间片轮转法进行进程调度的目的是(A)
    A、多个进程都能得到系统的及时响应
    B、先来先服务
    C、优先级较高的进程及时得到服务
    D、需要处理器最少的进程先做

  3. 哪个命令是可以将普通用户转化为超级用户( D)
    A、super
    B、man
    C、passwd
    D、su

  4. E-R图中用(C)表示联系。
    A、矩形
    B、正方形
    C、菱形
    D、椭圆形

  5. 以下关于Java中修饰符作用范围的描述正确的是( ABCD)。
    A、private 被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问。只能在所在类内部访问。
    B、default 变量或者方法前没有访问修饰符时,可以被所在类访问,可以被同一包内的其他类访问 或者继承。但是不能被其他包访问。
    C、protected 被protected修饰的方法和属性,在同一包内可被访问和继承。不同包内,子类可继承,非子类不能访问。
    D、public 方法和属性前有public修饰,可以被任意包内的类访问。

  6. 以下关于继承的叙述正确的是(A)。
    A、在Java中类只允许单一继承
    B、在Java中一个类只能实现一个接口
    C、在Java中一个类不能同时继承一个类和实现一个接口
    D、在Java中接口只允许单一继承

  7. 以下构造函数的说法中,错误的是(B)。
    A、当新对象被创建的时候,构造函数会被调用
    B、不可以为一个类创建多个构造函数
    C、在程序员没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数
    D、每一个类都有构造函数

  8. 线程通过(D)方法可以休眠一段时间,但不释放锁,然后恢复运行。
    A、run
    B、wait
    C、yield
    D、sleep

  9. 运行结果是(C)?
    A、程序运行100次,分别输出0到99
    B、程序运行101次,分别输出0到100
    C、程序编译错误
    D、程序可能出现死循环

class Test{
    private static final int flag = 0;

    public static void main(String[] args) {
        for (int i = 0; i < 100; i++) {
            System.out.println(flag++);
        }
    }
}
  1. 属于java.sql包中接口的有(ABC )。
    A、ResultSet
    B、Connection
    C、PreparedStatement
    D、DBSession

不定项选择题(语言知识)

  1. 以下哪个Java集合类是线程安全的(C) ?
    A、HashMap
    B、ArrayList
    C、ConcurrentHashMap
    D、LinkedList

  2. 阅读下面的代码,请选择合适答案(B ).
    A、Hello from B.
    B、编译错误.
    C、运行时抛错.
    D、Hello from A.
          Hello from B.

class A{
    A(String message){
        System.out.println("Hello from A");
    }
}
class B extends A{
    B(){
        System.out.println("Hello from B");
    }
}
class RunSybClass{
    public static void main(String[] args) {
        B b = new B();
    }
}
  1. 执行如下程序代码
    int a = 0,c = 0; do { --c; a=a-1; }while (a > 0);
    后c的值为(C)
    A、0
    B、1
    C、-1
    D、死循环

  2. 关于实例方法和类方法,以下描述正确的是:(D) 。
    A、实例方法只能访问实例变量
    B、实例方法只能访问实例变量
    C、类方法织能通过类名来调用
    D、实例方法只能通过对象来调用

  3. 下面的代码段中,执行之后i和j的值是什么? (C)
    int i = 1; int j; j = i++;
    A、1,1
    B、1,2
    C、2,1
    D、2,2

编程题

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每- -列都按照从 上到下递增的顺序排序。请完成一个
函数,输入这样的一个二维数组和一个整数, 判断数组中是否含有该整数。

    public boolean findNumberIn2DArray(int[][] matrix, int target) {
        if (matrix == null || matrix.length == 0 || matrix[0].length == 0) {
            return false;
        }
        int rows = matrix.length, columns = matrix[0].length;
        int row = 0, column = columns - 1;
        while (row < rows && column >= 0) {
            int num = matrix[row][column];
            if (num == target) {
                return true;
            } else if (num > target) {
                column--;
            } else {
                row++;
            }
        }
        return false;
    }

算法题

请实现一 个函数,将-个字符串中的每个空格替换成"%20"。例如,当字符串为We Are Happy.则经过替换之后
的字符串为We%20Are%20Happy.

    public String replace1(String s) {
        return s.replace(" ", "%20");
    }

    public String replace(String s) {
        StringBuilder sb = new StringBuilder();
        char[] chars = s.toCharArray();
        for (char ch : chars) {
            if (ch == ' ') {
                sb.append("%20");
            } else {
                sb.append(ch);
            }
        }
        return sb.toString();
    }

以上内容属于个人笔记整理,如有错误,欢迎批评指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值