您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页java基础复习题

java基础复习题

来源:爱问旅游网


一、单项选择题

1、在Java中,关于方法重载描述正确的是___D___

A 如果两个方法名相同、参数项相同,则认为一个方法是另一个方法的重载方法

B 如果两个方法名不同、参数项相同,则认为一个方法是另一个方法的重载方法

C 如果两个方法名不同、参数项不同,则认为一个方法是另一个方法的重载方法

D 如果两个方法名相同、参数项不同,则认为一个方法是另一个方法的重载方法

2、在Java中,关于数组描述正确的是 ____B____

A 数组中的索引下标从1开始

B 存储在数组当中的数据都属于同一数据类型

C 数组创建后其大小是可以改变的

D 数组的最大索引下标与数组的长度相等

3、给定如下Java代码,关于super的用法,以下___C_____哪个描述是正确的

class C extends B{

public C(){

super();

}

}

A 用来调用B类中定义的super()方法

B 用来调用C类中定义的super()方法

C 用来调用B类的无参构造方法 //super:用作父类的

D 用来调用B类的第一个出现的构造方法

4、下列选项中关于this关键字说法正确的是___A_____

A this关键字是在对象内部指代对象自身的引用 //this:用作当前对象

B this关键字可以在类中的任何位置使用

C this关键字和类关联,而不是和特定的对象关联

D 同一个类的不同对象公用同一个this

5、有如下两个类Student和Person,如果Student是Person的子类,下列语句错误的是____C____

A Person p=new Student();

B Person p=new Person();

C Student s=new Person();

D Student s=new Student

6、关于抽象类说法不正确的是 D 。

A 抽象类需要在class前用关键字abstract进行修饰

B 抽象方法可以有方法体

C 有抽象方法的类一定是抽象类

D 抽象类可以没有抽象方法();

7、关于接口说法错误的是___B_____

A 一个类可以使用implements关键字实现多个接口,接口之间使用逗号进行间隔

B 一个类实现接口时,必须实现接口中定义的所有方法

C 不能对接口直接实例化

D 接口中的方法都是未现的方法,且无需使用abstract关键字进行指明

8、以下不属于引用类型的数据类型是___C___

A 类

B 数组型

C 字符型

D 接口

9、JDK是指 A 。

A java开发工具包

B java虚拟机

C java运行环境

D java应用程序

10、java中用来标志一个常量,关键字是 _C____,此常量只能被赋值一次。

A private

B byte

C final

D Annotation

11、Java通过访问修饰符来声明、控制属性、方法以及类本身的访问。下面 访问修饰符修饰的成员允许类本身、同一包中的所有类、不同包中所有子类访问。B

A public

B protected

C private

D 缺省

12、在Java中,关于面向对象说法错误的是:____C_______

A 类只能继承一个父类

B 所有类都直接或者间接的继承了Object类

C 一个类可以有多个子类,也可以继承多个父类

D 继承父类使用extends关键字

13、在Java语言中,类中定义两个或多个方法,方法名相同而参数不同,这称为__C__。

A 多态性

B 构造方法

C 方法重载

D 继承

14、用来手动抛出异常的关键字是____D____。

A catch

B throws //定义抛出

C pop

D throw //抛出

15、下面关于类及其修饰符的一些描述,不正确的是__A__。

A abstract类只能用来派生子类,不能用来创建abstract类的对象

B abstract不能与final同时修饰一个类

C final类不但可以用来派生子类,也可以用来创建final类的对象

D abstract方法必须在abstract类中声明,但abstract类中可以没有abstract方法

16、下列代码的输出是_____B___

int[] a = new int[5];

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

a[i] = i * 2;

for (int i : a)

System.out.print(i);

A 12345

B 02468

C 00000

D 02000

17、下列选项中不属于Java基本数据类型的是 D

A int

B float

C long

D String

18、Java编程所必须的默认导入包为___B___。

A java.util

B java.lang

C java.io

D 以上都不是

19、下面编写正确的main()方法是_____C____。

A public static void main(string args[])

B public void main(string[] args)

C public static void main(String[] a)

D public static main(String args[])

20、Java语言中,下列错误的变量名是 D 。

A $_name

B _4

C $_1

D [name]

二、填空题

1、JVM是指___javax虚拟机___;JRE是指___java运行环境___

2、常用的数组复制方法有循环复制、_ clone()_____和__System.arraycopy方法____。

3、在Java语言中,运算符分为算术运算符、_比较运算符__、逻辑运算符、位运算符、赋值运算符、__条件运算符____等几类。

4、假设x=3,那么(x++)* (++x)/3+x的结果是_10_____ 3*5/3+5

5、利用关键词_abstract___来定义抽象类。

6、面向对象编程语言都提供面向对象模型的机制,这些机制就是:继承、

___封装___和_多态_____。

7、将ArrayList中的整数倒序输出。

请补齐代码。

int[] a = new int[10];

for (int i = 0; i < __a.length____; i++)

a[i] = i * 2;

ArrayList______ al = new ArrayList();

for (_int i:a_____)

al.add(i);

for (int i = al.size() - 1; i >= 0; i--)

System.out.println(_al.get(i)__);

8、_Object_____是所有类的最终父类,是Java类结构的基础。

9、在Java语言中,子类通过___extends___关键字继承父类。

10、在继承过程中,子类拥有父类定义的所有____方法和属性__,但父类可以通过__封装____思想保留自己的隐藏数据

三、简答、

1、在Java中如何引发异常,对异常的两种处理途径是什么?

引发异常:引用一个空对象的属性或方法、数组访问越界、错误的类型转换、、空指针异常、类型转换异常、算数异常

途径:捕获异常、声明抛出异常

2、简述方法重写与方法重载之间的区别与联系。

区别:方法重载是在一个类中多个方法具有相同的名字,但参数个数、类型和顺序不同。

方法重写是在子类继承父类时,可以直接使用父类中的属性和方法,如何父类无法

满足子类的需求,可以在子类中对父类的方法进行改造。

联系:方法重写与方法重载都是Java多态性的体现。

3、Java是否支持多继承及Java采用何种方式来代替多重继承。

不支持多继承

使用接口代替多重继承

4、类成员和实例成员在概念上有何区别。

类成员属于一个类,实例成员属于某个实例。

5、简述Java中访问修饰符的可访问性。

public:可以使类的特性公用于任何类;

protected:允许类本身、同一包中的所有类、所有子类访问;

缺省:可以被同一包中的所有类访问;

private:只能被此类中的其他成员访问,不能在类外看到。

6、Java的跨平台性是怎样实现的。

Java针对每一主流的操作系统都开发了一款相对应的Java虚拟机,而每个虚拟机所编译出来的class文件都是统一的,class文件可以在任意一个安转了Java虚拟机的系统平台上运行,所以Java能够实现跨平台性。

7、简述抽象类(abstract class)与接口(interface)的区别。

抽象类是其中没有包含足够的信息来描绘一类具体的对象的类。它不能直接创建对象,只能通过抽象类创建对象,只能通过抽象类派生出新的类,再由新的类来创建对象。

接口是用来模拟多继承,是对抽象类的进一步抽象,是方法声明和常量的定义集合,是一种行为规范,是一种“契约”。

四、编程题

1、计算1-100的和,并且打印1-100之间的偶数。

2、输入一个年份,判断该年是否为闰年。

3、定义数组存放如下数据{114,40,52,13,26,20},编程输出一维数组中的最大值和最小值。

4、(1)创建一个Person抽象类,该类包含姓名name(Sting类型)、年龄age(int类型)及性别gender(String类型)等属性及包含三个参数的构造方法。

(2)创建一个Student类继承Person类,同时增加一个学号studentNo(String类型)属性及一个将姓名、年龄、性别及学号等信息输出的display()方法。

(3)创建一个测试类Test,在该类的main方法里面创建一个关于你自己信息的Student类,同时调用display方法输出。

5、打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于其本身。例如:153是个“水仙花数”,因为153=13+53+33

问题四:

Class1:

public abstract class Person {

private String name;

private int age;

private String gender;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getGender() {

return gender;

}

public void setGender(String gender) {

this.gender = gender;

}

public Person(String name, int age, String gender) {

super();

this.name = name;

this.age = age;

this.gender = gender;

}

public Person() {

super();

}

}

Class2:

public class Student extends Person {

private String studentNo;

public String getStudentNo() {

return studentNo;

}

public void setStudentNo(String studentNo) {

this.studentNo = studentNo;

}

public Student(String name, int age, String gender, String studentNo) {

super(name, age, gender);

this.studentNo = studentNo;

}

public Student(String name, int age, String gender) {

super(name, age, gender);

}

public Student() {

// TODO Auto-generated constructor stub

}

public void dispaly(String name,int age,String gender,String)

studentNo){

System.out.println(name+\" \"+age+\" \"+gender+\" \"+studentNo);

}

}

Class3:

public class Text {

public static void main(String[] args) {

Student stu=new Student();

stu.dispaly(\"王瑞坤\", 19, \"男\", \"20155153\");

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务