JAVA习题3参考答案
java 试题练习题(第3套)

大学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1 、Java 程序的执行过程中用到一套JDK 工具,其中javac.exe 是指( ) A)Java 文档生成器 B)Java 解释器 C)Java 编译器 D)Java 类分解器 (难度系数 C ) 答案C 知识点:JDK 工具 2、HelloWorld.java 编译成功后会在当前目录中生成一个什么文件___。
A)Hello.java B)HelloWorld.class C)Helloworld.class D)helloWorld.class (难度系数C )答案:B 知识点:JA V A 执行过程 3、main 方法是Java Application 程序执行的入口点,关于main 方法的方法头以下哪项是合法的( )? A)public static void main ( ) B)public static void main ( String[] args ) C)public static int main (String [] arg ) D)public void main (String[] arg ) 难度系数:C 答案:B 知识点:JAVA 程序结构4、以下语句正确的是___。
A) x+1=6; B) i++=1; C) a++b=9; D) x+=1;(难度系数B )答案:D 知识点:表达式5、以下结果为真(true)的是___。
A )10>’a’B )’a’>20C ) !trueD )(3<5) && (4>10)班级:姓名: 学号:试题共页加白纸张密封线(难度系数B)答案:B知识点:表达式6、如果一个线程调用了方法wait( ),则类ng.Thread的下列_______方法可以唤醒该线程。
JAVA基础面试题-3(答案版)

JAVA语言基础笔试题-3Question 1Given:1. public class Team extends java.util.LinkedList {2. public void addPlayer(Player p) {3. add(p);4. }5. public void compete(Team opponent) { /* more code here */ }6. }7. class Player { /* more code here */ }Which two are true? (Choose two.)A. This code will compile.B. This code demonstrates proper design of an is-a relationship.C. This code demonstrates proper design of a has-a relationship.D. A Java programmer using the Team class could remove Playerobjects from a Team object.答案:AD考点:List接口实现,对象间泛化和关联关系说明:is a 关系一般用继承来表示,但此题这个继承从逻辑上不是太恰当.Has a 关系一般来说表示某对象体内有其它对象的存在,该对象体现为属性形态,在UML中叫做关联关系。
本题Team中虽然可以保存Player,但并非显式以属性形式存在。
由于LinkedList自带remove方法,可以通过Team.remove(p) 来删除player对象。
Question 2Which four are true? (Choose four.)A. Has-a relationships should never be encapsulated.B. Has-a relationships should be implemented using inheritance.C. Has-a relationships can be implemented using instance variables.D. Is-a relationships can be implemented using the extends keyword.E. Is-a relationships can be implemented using the implementskeyword.F. The relationship between Movie and Actress is an example of an is-a relationship.G. An array or a collection can be used to implement a one-to-manyhas-a relationship.答案:CDEG考点:集合类型,对象间泛化和关联关系的理解Has a 关系一般表示为一个类拥有一个属性,属性被封装是常见的事情。
Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。
AnjoyoJava03课后习题带答案

AnjoyoJava03课后习题1、选择题:1.下列()不属于Java语言流程控制结构?A、分支语句B、跳转语句C、循环语句D、赋值语句2.假设a是int类型的变量,并初始化为1,则下列()是合法的条件语句?A、if(a){}B、if(a<<=3){}C、if(a=2){}D、if(true){}3.下列说法中,不正确的一个是()。
A、switch语句的功能可以由if…else if语句来实现B、若用于比较的数据类型为double型,则不可以用switch语句来实现C、if …else if语句的执行效率总是比switch语句高D、case子句中可以有多个语句,并且不需要大括号{}括起来4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是()。
A、switch(x+y) {}B、switch(ch+1) {}C、switch ch {}D、switch(a+b); {}5.下列循环体执行的次数是()。
int y=2, x=4;while(--x != x/y){ }A、1B、2C、3D、46.下列循环体执行的次数是()。
int x=10, y=30;do{y -= x; x++;}while(x++<y--);A、1B、2C、3D、47.已知如下代码:switch(m){case 0: System.out.println("Condition 0");case 1: System.out.println("Condition 1");case 2: System.out.println("Condition 2");case 3: System.out.println("Condition 3");break;default:System.out.println("Other Condition");}当m的值为()时,输出“Condition 3”A、2B、0、1C、0、1、2D、0、1、2、32、填空题:1.跳转语句包括________、________、________。
Java习题三

1.有关类Demo,哪句描述是正确的?public class Demo extends Base{private int count;public Demo(){System.out.println("A Demo object has been created");}protected void addOne(){count++;}}①当创建一个Demo类的实例对象时,count的值为0。
②当创建一个Demo类的实例对象时,count的值是不确定的。
③超类对象中可以包含改变count 值的方法。
④Demo的子类对象可以访问count。
2.当编译和运行下列程序段时,会发生什么?class Base {}class Sub extends Base {}class Sub2 extends Base {}public class Cex{public static void main(String argv[]){Base b = new Base();Sub s = (Sub) b;}}①通过编译和并正常运行。
②编译时出现例外。
③编译通过,运行时出现例外。
ClassCaseException3.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?①public②private③protected④transient4.下面的哪个选项是正确的?class ExSuper{String name;String nick_name;public ExSuper(String s,String t){name = s;nick_name = t;}public String toString(){return name;}}public class Example extends ExSuper{public Example(String s,String t){super(s,t);}public String toString(){return name +"a.k.a"+nick_name;}public static void main(String args[]){ExSuper a = new ExSuper("First","1st");ExSuper b = new Example("Second","2nd");System.out.println("a is"+a.toString());System.out.println("b is"+b.toString());}}①编译时会出现例外。
(完整版)Java程序设计习题附答案(三)

第三部分面向对象程序设计1、引用数据类型变量具有基本属性为(ABCD)A、变量名B、数据类型C、存储单元D、变量值。
2、面向对象技术的特性是(ACD)A、继承性B、有效性C、多态性D、封装性。
3、下列哪个命题为真?(C)A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
4、关于子类与父类关系的描述正确的是(ACD)A、子类型的数据可以隐式转换为其父类型的数据;B、父类型的数据可以隐式转换为其子类型的数据;C、父类型的数据必须通过显示类型转换为其子类型的数据;D、子类型实例也是父类型的实例对象。
5、下列哪一项说法最好地描述了Java中的对象?(C)A、对象是通过import命令引入到程序中的所有事情B、对象是方法的集合,这些方法在小程序窗口或应用程序窗口中产生图形元素,或者计算和返回值C、对象是一种数据结构,它具有操作数据的方法D、对象是一组具有共同的结构和行为的类6、下面哪个关键字不是用来控制对类成员的访问的?(C)A、publicB、protectedC、defaultD、private7、Java语言正确的常量修饰符应该是(D)A、finalB、static finalC、staticD、public static final;8、接口的所有成员域都具有public 、static和final 属性。
9、接口的所有成员方法都具有public 和abstract 属性。
10、编译下列源程序会得到哪些文件?(C)class A1{}class A2{}public class B{public static void main(String args[]){}}A) 只有B.classB)只有A1.class和A2.class文件C)有A1.class、A2.class和B.class文件D) 编译不成功11、下列哪种说法是正确的?(A)A、私有方法不能被子类覆盖。
java测试题目3答案

4、(8)new Random().nextInt(100)
5、(9)继承(10)多态
四、简答题(5*4=20)
1、final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。(2')
Set 无法拥有重复元素,内部排序,不能通过下标访问元素。(1')
Map 具有键值对的存储方式,一个键对应一个值,键必须是唯一的。(1')
3、
try : 用于监控可能发生异常的代码块(0.5')
catch : 当try中的代码块发生异常,就交给catch处理,try和catch是配对使用(0.5')
4、AC
5、BC
6、AB
7、DE
8、AC
9、ABCE
10、AC
三、填空题(10*2=20)
1、(1)My func
2、(2)new Thread(ticket); (3)new Thread(ticket); (3)extends Thread 或者 implements Runnable (4)synchronized void run
}
5、
String url="jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=数据库";
String deiver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
throw : 手动引发异常 (1')
传智播客java考试习题3

第三次作业•1、jar命令的()参数可以创建归档文件(1分)o A、co B、vo C、fo D、x参考答案:A答案说明:c参数,创建归档文件•2、下列选项中,用于在定义子类时声明父类名的关键字是( )。
(1分)o A、interfaceo B、packageo C、extendso D、class参考答案:C答案说明:•3、用于定义类成员的访问控制权的一组关键字是( )。
(1分)o A、class, float, double, publico B、float, boolean, int, longo C、char, extends, float, doubleo D、public, private, protected参考答案:D答案说明:•4、下面关于throws作用的描述中,正确的是()(1分)o A、一个方法只能抛出一个异常信息o B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常o C、throws可以声明在方法体中用来指定抛出的具体异常o D、throws出现在方法函数头参考答案:D答案说明:throws关键字需要写在方法声明的后面,throws后面需要声明方法中发生异常的类型,通常将这种做法称为方法声明抛出一个异常•5、下列关于匿名内部类的描述,错误的是()(1分)o A、匿名内部类是内部类的简化形式o B、匿名内部类的前提是必须要继承父类或实现接口o C、匿名内部类的格式是"new 父类(参数列表) 或父接口(){}"o D、匿名内部类可以有构造方法参考答案:D答案说明:匿名内部类不能有构造方法,它连类名都没有•6、以下关于编译异常说法正确的是()(1分)o A、编译异常就是指Exception以与其子类o B、编译异常如果产生,可以不用处理o C、编译异常如果产生,必须处理,要么捕获,要么抛出o D、编译异常指的就是Error参考答案:C答案说明:编译异常如果产生,必须处理,要么捕获,要么抛出•7、父类中的方法被以下哪个关键字修饰后不能被重写?()(1分)o A、publico B、satico C、finalo D、void参考答案:C答案说明:如果方法被final修饰了,该方法不能被重写•8、在JDK8之前,一个具体类实现接口时,需要重写接口中的?()(1分)o A、成员变量o B、局部变量o C、成员方法o D、构造方法参考答案:C答案说明:在JDK8之前,接口中只有常量和抽象方法,所以类实现接口,要重写接口中的抽象方法也就是成员方法•9、下面哪个修饰符不可以修饰接口中的成员变量?()(1分)o A、publico B、statico C、final参考答案:D答案说明:接口中的成员变量其实是一个常量,用public static final修饰,所以,用private修饰是错误的•10、在Java语言中,以下哪个关键字用于在方法上声明抛出异常?(1分)o A、tryo B、catcho C、throwso D、throw参考答案:C答案说明:•11、在JDK8以前,下列关于接口的说法中,错误的是?()(1分)o A、接口中定义的方法默认使用"public abstract"来修饰o B、接口中的变量默认使用"public static final"来修饰o C、接口中的所有方法都是抽象方法o D、接口中定义的变量可以被修改参考答案:D答案说明:接口中定义的变量是常量,不能被修改•12、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?(1分)o A、inheritso B、implementso C、extends参考答案:C答案说明:•13、下列关于throws关键字的描述中,正确的是()(1分)o A、thorws可以声明在方法上也可以声明在方法体中o B、方法上使用throws抛出一个异常则这个方法中一定有try catch代码块o C、使用throws抛出多个异常时各个异常之间必须使用逗号隔开o D、throws必须和throw配合使用参考答案:C答案说明:throws关键字声明抛出异常的语法格式如下:修饰符返回值类型方法名([参数1,参数2.....])throwsExceptionType1[,ExceptionType2.....]{}•14、如果类的成员被()访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问(1分)o A、privateo B、defaulto C、protectedo D、public参考答案:A答案说明:如果类的成员被private访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题三参考答案
一、判断题
1.错2.对3.对4.对5.对6.错7.错8.错
【解释】
第6和8题:这两题考查枚举类型的定义。
在Java中,创建枚举类型的主要目的是为了定义一些枚举常量。
枚举类型不能定义方法,也不能通过new创建实例对象。
二、选择题
1.A 2.D 3.C 6.C 7.D
8.C 9.B 10.C 11.B 12.C
13.B 14.A 15.A 16.D 17.BD
18.B 19.A 20.B 21.D 22.B
23.C 24.B 25.A 26.B 27.B
【解析】
✧第6题;本题考查字符串String方法的应用。
字符串String是一种内容不可
变对象的类,一旦创建后,不能改变它的值。
本题第4行表达式语句执行的结果是DE,但字符串变量str本身的值没变,还是ABCDE;同理,第5行表达式语句执行的结果是ABCDEXYZ,但字符串变量str本身的值还是ABCDE。
本题选C。
✧第7题:本题考查二维数组的创建。
二维数组可以看成是一维数组的数组,
可以直接为每一维分配空间,也可以从最高维开始,分别为每一维分配空间,创建以数组为元素的数组,即二维数组的每一行可以具有不同的列数。
因此,选项B是合法的,而选项D由于最高维没定义,不合法。
✧第9题:本题考查数组和字符串作为参数传递给方法调用。
数组也是引用类
型,作为参数传递给方法调用时,在方法中可修改数组中的元素值。
而字符串String是特殊的引用类型,不能改变它本身的值。
因此,本题选B。
✧第14题:本题考查字符串String对象的内存存储机制和“==”运算。
第3~
6行的s1.s2和s3的引用地址都是字符串池中”123456”的内存地址;第7行,由于“+”运算中有一个操作数是变量a0,无法在编译中直接完成“+”运算,所以s4的引用地址不在字符串池中;第8行,用new新创建了一个字符串对象,s5的引用地址也不在字符串池中;第9行,s5调用了调用intern方法,该方法的作用是如果池已经包含一个等于此String对象的字符串,则返回池中的字符串,否则,将此String对象添加到池中,并返回此String对象的引用,所以s6的引用地址也是字符串池中”123456”的内存地址。
对引用对象做“= =”运算时,若引用对象的地址相同,则返回true,否则返回false。
因此,本题选A。
✧第15题:本题考查StringBuffer类的方法length和capacity。
StringBuffer类
的方法length是返回StringBuffer对象中字符串的长度,而方法capacity是返
回StringBuffer对象可存放字符串的容量大小。
声明语句"StringBuffer bufl=new StringBuffer(20);”的内容为空字符串,容量大小为20。
因此,本题选A。
✧第18题:本题考查对象数组的创建。
语句"String[]s=new String[10];”执行
后,创建了一个字符串数组对象s,数组长度为10,但数组中的所有内容都是null。
选项A的s[10]超出数组的范围了,选项D数组的长度应该是s.1ength。
所以本题选B。
✧第20题:本题考查“==”运算和字符串equals方法。
选项A中“==”运算
的左右两边的操作数都是字符串常量,返回true;选项B,equals方法比较的是不同的对象,返回false;选项C和D,equals方法比较的都是字符串对象,字符串对象中的内容相同,都返回true。
因此,本题选B。
三、程序阅读题
1.(1)arraySum方法的功能是返回整型数组中所有元素的和。
(2)运行结果是100。
2.春季,夏季,秋季,冬季,
3.java
iavaC
Yava
四、编程题
1.现在有两个双精度浮点型的数组如下:
double xs [] = {1, 9, 3, 5, 6};
double ys[]={10,11,4,7,13};
又有一个长方形的数组Rectangle rects[ ]=new Rectangle[25];
要求:用Rectangle的构造方法给rects数组的每个元素赋值,长和宽分别为xs和ys的元素;然后按照面积由小到大给rects排序。
请编写它的程序。
【解】
public class Rectangle {
double x, y;
public Rectangle(double x, double y) {
this.x = x;
this.y = y;
}
public double getArea() {
return x * y;
}
public String toString() {
return "(" + x + "," + y + ")";
}
public static Rectangle[] areaSort(Rectangle[] args){ //排序算法for (int i=0;i<args.length-1 ;i++ ){
int min=i;
for (int j=i+1;j<args.length ;j++ ){
if ( args[min].getArea()>args[j].getArea()) min=j; }
if (min!=i){
Rectangle temp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
return args;
}
public static void main(String args[]) {
double xs[] = { 1, 9, 3, 5, 6 };
double ys[] = { 10, 11, 4, 7, 13 };
Rectangle rects[] = new Rectangle[25];
for (int i = 0; i < 5; i++) //构造对象数组
for (int j = 0; j < 5; j++)
rects[5 * i + j] = new Rectangle(xs[i], ys[j]);
for ( Rectangle obj: rects) //输出面积
{
System.out.print( obj.getArea()+"," );
}
Rectangle.areaSort(rects);
System.out.print("\n");
for ( Rectangle obj: rects) //输出面积
{
System.out.print( obj.getArea()+"," );
}
}
}。