Java期末复习题

第1、2章 在线单元测验

查看帮助

返回

倒计时: 59:49

1

单选(2分)

‌以下叙述中,错误的是_______________。

  • A.

    (D)char占用2个字节,数据表示范围是\u0000~\uffff。

  • B.

    (C)char占用1个字节,数据表示范围是0~255。

  • C.

    (B)short占用2个字节,数据表示范围是-32768~32767。

  • D.

    (A)byte占用1个字节,数据表示范围是-128~127。

2

单选(2分)

‏已知x=2.5,a=7,y=4.22,则表达式x+a%3*(int)x%(int)y的值为__________。

  • A.

    4.5

  • B.

    3.5

  • C.

    2.5

  • D.

    5.5

3

单选(2分)

‍__________________表达式的运算结果是’b’。

  • A.

    (char)(‘c’-1)

  • B.

    ‘a’+1

  • C.

    “a”+1

  • D.

    (char)‘a’+1

4

单选(2分)

‌以下数组声明错误的是__________________。

  • A.

    int[] a;

  • B.

    int a[3];

  • C.

    int a[]=new int[3];

  • D.

    int a[]={1,2,3};

5

单选(2分)

以下二维数组声明正确的是__________________。

  • A.

    int x[4][]={{1,2,3,4}};

  • B.

    int x[][]={{1,2},{0},{3,4,5}};

  • C.

    int x[2][3]={1,2,3,4,5,6};

  • D.

    int[][] x={1,2,3,4,5,6};

6

单选(2分)

‎下列声明语句,正确的是______________。

  • A.

    String s; s[0]=‘a’;

  • B.

    String s=‘a’;

  • C.

    String s=‘a’+“”;

  • D.

    String s=‘’;

7

单选(2分)

‏Java应用程序从__________方法开始执行。

  • A.

    void main()

  • B.

    int main()

  • C.

    void main(String[] args)

  • D.

    int main(String[] args)

8

填空(2分)

‍Java采用__________技术实现跨平台特性。

请输入答案

9

填空(2分)

‏设一个Java源程序文件中声明多个类如下,则该文件名是__________,编译后生成的文件有_________________________________。

class Hello

public class Welcome

‏//多个答案之间用中文逗号“,”分隔。

请输入答案

10

填空(2分)

‏Java默认导入的包是__________________。

请输入答案

11

填空(2分)

‏声明将当前java文件中的类存放在mypackage包中的语句是___________。

请输入答案

12

填空(2分)

‍导入mypackage包中Point类的语句是_________________。

请输入答案

13

填空(2分)

‌设int month=12;,表示“month月的下月”的表达式是_____________________。

请输入答案

14

填空(2分)

‎设byte b=127;,表达式b+“+1=”+(++b)的运算结果是__________。

请输入答案

15

填空(2分)

‌表达式125&10的值是___________,表达式125 | 10的值是____________。

‌//多个答案之间用中文逗号“,”分隔。

请输入答案

16

填空(2分)

Java用__________表示“真”,用_________表示“假”,它们属于___________类型。

//多个答案之间用中文逗号“,”分隔,下同。

请输入答案

17

填空(2分)

‍Java语言使用的字符集是______________。

请输入答案

18

填空(2分)

‏设char ch;,判断ch是一个英文字母(小写或大写)的表达式是_________________。

‏//答案表达式中,逻辑运算符两边各有一个空格。

请输入答案

19

填空(2分)

‌已知radix进制范围是2~16,数字集合是{‘0’~’9’, ‘a’~’f’};设int i表示radix进制的一个数字值,将i转换成radix进制数字字符的条件表达式是_______________。

‌//答案表达式中,逻辑运算符和条件运算符两边各有一个空格。

请输入答案

20

填空(2分)

求n的数字和。程序填空。

public static int digitSum(int n) //返回n的数字和

{

int digsum=0;

while(n>0)

{ digsum += ______________ //获得个位

​ _______________________

}

return digsum;

}

//多个答案之间用中文逗号“,”分隔。

请输入答案

21

填空(2分)

设int a[]=new int[5], b[]=a; 执行语句b[0]=99;后,a[0]元素值是____________。

请输入答案

22

填空(2分)

‍设String s=“Hello”,执行求子串的________________________语句使s变为"elloH"。

请输入答案

23

填空(2分)

‌已知’汉’的编码是27721,设int i=27721;,表达式"(char)“+i+”=‘“+ch+”’"的运行结果是____________。

请输入答案

24

填空(2分)

‌**【实验2-3】一维整数数组程序填空。**

‌//在排序x数组中,顺序查找首次出现的与key相等元素,若查找成功返回序号,否则返回-1

‌public static int searchSorted(int[] x, int key)

‌{

‌ int i=0;

‌ while(__________________) //表达式中没有空格

‌ i++;

‌ return i<x.length && x[i]==key? i : -1;

‌}

请输入答案

25

填空(2分)

‌已知

‌ //在x数组中顺序查找首次出现的与key相等元素,若查找成功返回序号,否则返回-1

‌ public static int search(int[] x, int key)

‌以下一维整数数组程序填空。

‌//生成n个互异随机数,范围是1~range-1,不可重复且不包含0,返回一维整数数组

‌public static int[] differentRandom(int n, int range)

‌{

‌ int x[]=new int[n], i=0;

‌ while(i<n)

‌ { int key=(int)(Math.random()*range); //Math.random()返回0~1间的double随机数

‌ if(key!=0 _____________________________) //若顺序查找不成功,表达式中没有空格

‌ x[i++] = key;

‌ }

‌ return x;

‌}

1

单选(2分)

当未用权限修饰符声明类的成员时,Java认为该成员的访问权限为_______。

  • A.

    public

  • B.

    private

  • C.

    protected

  • D.

    缺省

2

单选(2分)

‏以下Student类声明正确的是____________。

  • A.

    abstract class Student extends Person

  • B.

    protected class Student extends Person

  • C.

    private class Student extends Person

  • D.

    final class Student extends Person,Object

3

单选(2分)

‍关于继承原则,以下叙述正确的是____________。

  • A.

    子类继承了父类中可被子类访问的成员变量和成员方法。也就是说,子类没有继承父类的private成员和不同包的默认成员。

  • B.

    子类构造方法中需要调用父类的构造方法,对父类的成员变量进行初始化。

  • C.

    子类继承了父类全部成员变量和成员方法,但只能访问public、protected和同一包的缺省权限成员,不能访问private成员。

  • D.

    在子类构造方法中,无条件地调用父类无参数的构造方法。

4

单选(2分)

‍一个类与其父类私有成员的关系,正确的叙述是_______________。

  • A.

    一个类可以使用super引用父类的私有成员

  • B.

    一个类不能继承父类的私有成员

  • C.

    一个类可以重定义父类的私有成员

  • D.

    一个类可以删除父类的私有成员

5

单选(2分)

‌设Person类有私有成员变量name,Student是Person的子类,在Student类中以下引用错误的是______。

  • A.

    super(name)

  • B.

    super()

  • C.

    super.toString()

  • D.

    super.name

6

单选(2分)

‎以下声明不正确的是________________。

  • A.

    Object obj=new Object();

  • B.

    Object obj=new Person();

  • C.

    Person per=new Object();

  • D.

    Person per=new Person();

7

单选(2分)

下列类声明正确的是_________________。

  • A.

    class ClosedFigure { abstract void print(){} }

  • B.

    abstract class ClosedFigure { abstract void print(){} }

  • C.

    class ClosedFigure { abstract void print(); }

  • D.

    public abstract class ClosedFigure { abstract void print(); }

8

单选(2分)

‎以下有关this引用使用规则说明错误的是_______________。

  • A.

    调用本类重载的构造方法

  • B.

    访问本类的成员变量和成员方法

  • C.

    指对象本身

  • D.

    调用父类重载的构造方法

9

单选(2分)

‌Person类的下列方法中,_______________将覆盖其父类的equals(…)方法。

  • A.

    boolean equals(Object obj)

  • B.

    public Boolean equals(Object obj)

  • C.

    public boolean equals(Object obj)

  • D.

    public boolean equals(Person p)

10

多选(3分)

已知Person类声明older(Person)方法,Student是Person的子类,声明以下对象,则以下调用正确的是(多选)_________。

‍Object obj=new Person(…);

‍Person p=new Person(…);

‍Student s1=new Student(…), s2=new Student(…);

  • A.

    s1.older(s2)

  • B.

    p.older(obj)

  • C.

    p.older(s1)

  • D.

    s1.older§

11

多选(3分)

‎在main()方法中,以下声明错误的是(多选)____________。

  • A.

    final int i;

  • B.

    private int i=0;

  • C.

    static int i=0;

  • D.

    protected int i;

12

填空(2分)

‌Person类的默认构造方法声明是____________。

请输入答案

13

填空(2分)

‏一个类如果没有声明父类,那么它的父类是_________________________类(包括包名)。

请输入答案

14

填空(2分)

‍Java为Person类提供的默认构造方法的方法体是________________。

请输入答案

15

填空(2分)

‍new Object() instanceof Person运算结果是_________________。

请输入答案

16

填空(2分)

设Student是Person的子类,调用语句如下,p==s的运算结果是________________。

‌Student s=new Student(“胡小东”, new MyDate(1982,4,3), “计算机”);

‌Person p=s;

‌System.out.println(“p:”+p.toString()+“,s:”+s.toString()+",ps?"+(ps));

请输入答案

17

填空(2分)

如果Person类声明以下方法,则它们是_______________关系。

‌public boolean equals(Person per)

‌public boolean equals(Object obj)

请输入答案

18

填空(2分)

如果Person类声明equals(Person)方法,调用语句如下:

‏Person per1 = new Person(“李小明”, new MyDate(1994,3,15));

‏Person per2 = new Person(per1);

‏per1.equals(per2) //执行______类的equals()方法,运算结果是____________

‏Object obj = per2;

‏per1.equals(obj) //执行______类的equals()方法,运算结果是____________

‏//多个答案之间用中文逗号“,”分隔。

请输入答案

19

填空(2分)

已知Person类覆盖equals(Object)方法,方法体见教材。调用语句如下。

‌Person per = new Person(“李小明”, new MyDate(2004,9,1));

‌Object obj = new Person(per);

‌obj.equals(per) //运算结果是____________

‌obj = new Object();

‌obj.equals(per) //运算结果是____________

‌per.equals(obj) //运算结果是____________

‌//多个答案之间用中文逗号“,”分隔。

请输入答案

20

填空(2分)

已知Student类继承Person类并覆盖equals(Object)方法,方法体见教材。调用语句如下:

‏Person per = new Person(“李小明”, new MyDate(2004,9,1));

‏Student stu1 = new Student(per, “计算机”), stu2 = new Student(per, “计算机”);

‏per.equals(stu1) //①运算结果是____________

‏stu1.equals(per) //②运算结果是____________

‏stu2.equals(stu1) //③运算结果是____________

‏//多个答案之间用中文逗号“,”分隔。

请输入答案

21

填空(2分)

replaceAll(objs[], key, x)方法,程序填空。

‌//将objs对象数组中所有与key匹配的对象替换为x,当x==null时,即删除匹配元素算法

‌public static void replaceAll(Object objs[], Object key, Object x)

‌{

‌ if(objs!=null && key!=null)

‌ for(int i=0; i<objs.length; i++)

‌ if(_________________)

‌ objs[i]=x;

‌}

请输入答案

22

填空(2分)

replaceAll(objs[], key, x)方法,调用填空。

‌调用语句如下:

‌Object[] objs={new Object(), “abc”, “xyz”};

‌ObjectArray.print(objs);

‌ObjectArray.replaceAll(objs, new Object(), “abc”);

‌ObjectArray.print(objs);

‌程序运行结果如下:

‌java.lang.Object@1db9742,abc,xyz

‌________________________________

请输入答案

23

填空(2分)

‏子类不能覆盖父类中声明为______________的方法。

请输入答案

24

填空(2分)

声明方法如下:

‍public static void swap(Object x, Object y)

‍{ Object temp=x;

‍ x=y;

‍ y=temp;

‍}

‍调用语句如下:

‍String str1 = “abc”;

‍String str2 = “xyz”;

‍swap(str1, str2);

‍【问】执行上述调用语句后,str1=,str2=____。

‍//多个答案之间用中文逗号“,”分隔。

请输入答案

25

填空(2分)

声明方法如下:

‍//交换objs数组第i、j元素值,数组元素类型是引用类型

‍public static void swap(Object[]objs, int i, int j)

‍{

‍ if(objs!=null && i>=0 && i<objs.length && j>=0 && j<objs.length && i!=j)

‍ {

‍ Object temp = objs[j];

‍ objs[j] = objs[i];

‍ objs[i] = temp;

‍ }

‍}

‍调用语句如下:

‍Integer[] values={1,2,3,4,5};

‍swap(values,1,3);

‍【问】执行上述调用语句后,values值是________________________________。

请输入答案

26

填空(2分)

已知Student类继承Person类的equals(Object)方法,调用语句如下:

‎Person per = new Person(“李小明”, new MyDate(2004,9,1));

‎Student stu1 = new Student(per, “计算机”), stu2 = new Student(per, “通信工程”);

‎per.equals(stu1) //运算结果是____________

‎stu1.equals(per) //运算结果是____________

‎stu2.equals(stu1) //运算结果是____________

‎//多个答案之间用中文逗号“,”分隔。

请输入答案

27

填空(2分)

Person类声明以下方法:

‎public int getAge(int year) //返回当前对象在year年份的年龄

‎{

‎ _________________________ //答案没有空格,不省略this

‎}

请输入答案

28

填空(2分)

Person类声明以下方法:

‌public int older(Person per) //按年龄比较Person对象大小,返回this与per对象出生年份的差值

‌{

‌ _________________________ //答案没有空格,不省略this

‌}

请输入答案

29

填空(2分)

已知Person类声明以下成员方法:

‌ public int getAge() //返回this对象今年的年龄

‌实现PersonArray类声明的以下方法。

‌public static double average(Person[] pers) //返回Person对象数组元素的平均年龄,若pers数组空,则返回0

‌{

‌ double sum=0;

‌ for(int i=0; i<pers.length; i++)

‌ _________________________ //答案没有空格

‌ return pers.length>0 ? sum/pers.length: 0;

‌}

1

单选(2分)

‌关于接口概念,下列叙述错误的是_____________________。

  • A.

    接口中都是抽象方法。

  • B.

    可以声明接口对象。

  • C.

    可以声明一个接口的访问权限为private。

  • D.

    一个接口可以继承多个接口,但不能继承类。

2

单选(2分)

‌下列声明中,能够使用new A()的是_______________。

  • A.

    abstract interface A

  • B.

    final class A

  • C.

    abstract class A

  • D.

    interface A

3

单选(2分)

‍以下声明正确的是____________。

  • A.

    class A implements java.lang.Math

  • B.

    class A extends java.lang.Comparable

  • C.

    class A extends java.lang.Math

  • D.

    class A implements java.util.Comparator

4

单选(2分)

‏设Object obj=new Object();,执行String str=(String)obj;,将会抛出__________异常。

  • A.

    StringIndexOutOfBoundsException

  • B.

    ArrayIndexOutOfBoundsException

  • C.

    ClassCastException

  • D.

    NegativeArraySizeException

5

单选(2分)

当不能将字符串转换成数值类型时会抛出________________异常。

  • A.

    ArithmeticException

  • B.

    UnsupportedOperationException

  • C.

    NumberFormatException

  • D.

    NullPointerException

6

单选(2分)

‍设String str=“”,执行char ch=str.charAt(0);语句,将会抛出________________异常。

  • A.

    ArrayIndexOutOfBoundsException

  • B.

    StringIndexOutOfBoundsException

  • C.

    NegativeArraySizeException

  • D.

    ClassCastException

7

单选(2分)

‍下列有关内部类的叙述中,错误的是_______________。

  • A.

    内部类可以声明实现接口

  • B.

    可以声明内部接口

  • C.

    内部类的访问权限不能声明为private

  • D.

    内部类可以声明为抽象类

8

多选(3分)

‌以下获得当前日期时间,正确的是(多选)____________。

  • A.

    new java.util.Calendar()

  • B.

    System.currentTimeMillis()

  • C.

    new java.util.Date()

  • D.

    java.util.Calendar.getInstance()

9

填空(2分)

已知Area接口声明area()方法,程序填空。

‌public static double average(Area[] areas) //返回Area接口对象数组按面积计算的平均值

‌{

‌ double sum=0;

‌ for(int i=0; i<areas.length; i++)

‌ _________________________________

‌ return areas.length>0 ? sum/areas.length: 0;

‌}

请输入答案

10

填空(2分)

已知java.lang.Math类声明以下成员变量,该成员变量的引用形式是___________。

public static final double PI = 3.14159265358979323846; //静态成员常量PI表示π

请输入答案

11

填空(2分)

已知java.lang.Math类声明以下方法;返回0~99之间int随机数的方法调用是__________________。

‌public static double random() //返回一个0.0~1.0之间的随机数

请输入答案

12

填空(2分)

Integer.parseInt(String s)方法的返回值类型是___________。

请输入答案

13

填空(2分)

‎java.lang.System类currentTimeMillis()方法的返回值类型是_______________。

请输入答案

14

填空(2分)

‌new java.util.Date().getClass().getSuperClass().getName()的执行结果是(包含包名)__________。

请输入答案

15

填空(2分)

‍new java.util.Date().getClass().getSuperClass().getPackage().getName()的执行结果是(包含包名)____________。

请输入答案

16

填空(2分)

以下声明,源程序文件名是__________________,编译后生成的文件名是___________________。

‍ public interface Solid extends Area,Volume

‍//多个答案之间用中文逗号“,”分隔。

请输入答案

17

填空(2分)

已知Area接口声明area()方法,程序填空。目的:接口委托模型。

‎public static Area max(Area[] areas) //返回Area接口对象数组的面积最大值对象

‎{

‎ int max=0; //记载最大值对象的下标

‎ for(int i=1; i<areas.length; i++)

‎ _________________________________ //发现更大者

‎ max = i;

‎ return areas[max]; //返回对象引用

‎}

请输入答案

18

填空(2分)

已知Person类声明实现可比较接口,按出生日期比较对象大小。程序填空。

public static Person youngest(Person[] pers) //返回pers对象数组元素年龄最小者(出生日期最大)

{

int min=0; //记载最小值对象的下标

for(int i=1; i<pers.length; i++)

​ ___________________________ //发现年龄更小者,即出生日期更大者,委托模型

​ min = i;

return pers[min]; //返回对象引用

}

请输入答案

19

填空(2分)

声明比较器类如下,按出生日期比较Person对象大小,程序填空。

‍import java.util.Comparator;

‍public class BirthdateComparator implements Comparator

‍{

‍ public int compare(Person p1, Person p2)

‍ {

‍ if(per1==per2) //若引用同一个实例,则相等

‍ return 0;

‍ ___________________________ //按出生日期比较Person对象大小

‍ }

‍}

请输入答案

20

填空(2分)

声明比较器类如下,按出生日期比较Person对象大小,程序填空。

‎import java.util.Comparator;

‎public class BirthdateComparator implements Comparator

‎{

‎ public int compare(Person p1, Person p2)

‎ {

‎ if(per1==per2) //若引用同一个实例,则相等

‎ return 0;

‎ ___________________________ //按出生日期比较Person对象大小

‎ }

‎}

请输入答案

21

填空(2分)

声明学号比较器类如下,按学号比较Student对象大小,程序填空。

‌public class NumberComparator implements Comparator //学号比较器类

‌{

‌ public int compare(Student str1, Student str2)

‌ {

‌ ___________________________ //按学号比较Student对象大小

‌ }

‌}

请输入答案

22

填空(2分)

已知Area接口声明area()方法,程序填空。

‍//返回Area接口对象数组的面积最小值对象,委托comp比较器比较Area对象大小

‍public static Area min(Area[] areas, Comparator comp)

‍{

‍ int min=0; //记载最小值对象的下标

‍ for(int i=1; i<areas.length; i++)

‍ _________________________________ //发现更小者

‍ min = i;

‍ return areas[min]; //返回对象引用

‍}

‍‍JTextArea能够响应的事件是_________________________。

  • A.

    ChangeEvent

  • B.

    CaretEvent

  • C.

    ActionEvent

  • D.

    WindowEvent

2

单选(2分)

‌不能添加到JMenu的菜单组件是____________。

  • A.

    JMenu

  • B.

    JCheckboxMenuItem

  • C.

    JPopupMenu

  • D.

    JMenuItem

3

单选(2分)

‏以下______________类的对象可以作为new Thread(…)的参数。

  • A.

    public class NumberThread implements Thread

  • B.

    public class NumberRunnable extends Runnable

  • C.

    public class NumberThread extends Thread

  • D.

    public class NumberRunnable implements Runnable

4

单选(2分)

‍执行Thread.sleep()方法,线程进入_____________态。

  • A.

    NEW

  • B.

    RUNNABLE

  • C.

    TERMINATED

  • D.

    TIMED_WAITING

5

多选(3分)

‎JTextField能够响应的事件是(多选)_________________________。

  • A.

    WindowEvent

  • B.

    ActionEvent

  • C.

    CaretEvent

  • D.

    MouseEvent

6

填空(2分)

‌Java实现图形用户界面功能的包有_______________和___________________。

‌//多个答案之间用中文逗号“,”分隔。

请输入答案

7

填空(2分)

JFrame的默认布局管理器是____________________________。

请输入答案

8

填空(2分)

设event是一个事件类对象,在事件处理方法中,调用______________方法可获得产生该事件的事件源组件。

请输入答案

9

填空(2分)

‍设event是一个ActionEvent类对象,在事件处理方法中,调用______________方法可获得事件源组件的标题。

请输入答案

10

填空(2分)

‎在文本行编辑框右边带有一对向上/下的箭头按钮的组件类名是______________________。

请输入答案

11

填空(2分)

‎多个JRadioButton实例必须加入__________________,才能实现单项选择功能。

请输入答案

12

填空(2分)

‍将JTextArea放置在_____________________(写出类名)组件中,能够显示滚动条。

请输入答案

13

填空(2分)

‌包含两个组件、组件之间有分隔条、拖动分割条可以改变组件大小的容器类名是____________。

请输入答案

14

填空(2分)

‍设Canvas canvas=new ……;,重画图形的语句是__________________________。

请输入答案

15

填空(2分)

调用语句(包含类名)__________________可使线程暂停运行1秒,该方法抛出______异常。

‎**
**

‎//多个答案之间用中文逗号“,”分隔。

请输入答案

16

填空(2分)

‌声明线程互斥方法的关键字是___________。

请输入答案

17

填空(2分)

线程同步通信时,调用___________类的____________方法可使线程等待。

‎//多个答案之间用中文逗号“,”分隔。

请输入答案

18

填空(2分)

调用_______________类的________________方法,可向字节流写入一个int整数。

//多个答案之间用中文逗号“,”分隔。

请输入答案

19

填空(2分)

调用___________________类的__________________方法,可从字符流中读取一行字符串。

**
**

//多个答案之间用中文逗号“,”分隔。

请输入答案

20

填空(2分)

File类判断当前文件对象是否为目录的方法是________________________________。

请输入答案

21

填空(2分)

‍文件选择对话框组件名是(包含包名)_________________________。

请输入答案

22

填空(2分)

‍表示红色的颜色对象是(写出包名)________________________________。

请输入答案

提交答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全栈阿星

您的支持是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值