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访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。
JAVA程序设计课后习题及答案3

第3章1.类是一种复杂的数据类型,它是将数据和对数据的操作封装在一起而形成的集合体,是普通数据类型的扩展。
类不仅包含数据,还包含对数据进行操作的方法,正是这些方法反映了数据的行为。
对象是类的实例,是某个类的变量。
当一个程序运行时,系统为对象分配内存单元,而不是为类分配内存单元。
类和对象是密切相关的,类脱离不了对象,对象必须依赖类。
两者的关系可以简单地描述为抽象和具体的关系。
2.Java中,类成员的访问权限可以分为公共访问、默认访问、私有访问、保护访问和私有保护访问等几种,其中,除了默认访问没有控制符进行修饰,其他几种访问权限分别使用public、private、protected和private protected这样的访问控制修饰符。
3.如果把类设计成一个黑匣子,则使用者只能看见类中定义的公用方法却看不到方法的实现细节,也不能直接操作类中的数据,这样就可以有效地防止外部对类的干扰。
如果改变了类中数据的定义,只要方法名不改,就不会对使用该类的程序产生任何影响,这就是封装的含义。
也就是说,类的封装可以减少程序对类中数据的依赖性。
通过封装,可以达到以下目的。
(1)隐藏类的实现细节。
(2)要求用户只能通过接口访问数据。
(3)提高代码的可维护性。
4.继承是一种由已有的类创建新类的机制,利用继承,可以创建一个具有特殊属性的新类。
新类继承了已有类的状态和行为,并根据需要来增加自己的状态和行为。
对象的多态性主要分为两种类型,即向上转型和向下转型。
向上转型是指用子类对象实例化父类,对象的向上转型是自动完成的;向下转型是指用父类对象实例化子类,向下转型时,必须明确指明要转型的子类类型。
5.方法的重载是指在一个类中,方法的名称相同,但是方法的参数个数或参数类型不同,这称为方法的重载。
在调用具有重载关系的方法时,通过传递参数的个数以及传递参数的类型来区分调用了哪个方法。
如果子类的方法与父类中的方法同名,则子类不能继承父类中的方法,此时称子类方法覆盖了父类中的方法。
Java基础教程(第3版)习题答案

部分习题答案第一章答案】答案见教材 <略>。
第二章4. 如果 int x=1 , y=-2 , n=10;那么,表达式 x+y+(--n)*(x >y&&x >0? (x+1):y)的值是什么类 型?结果是多少?【答案】 int 型,值为 17。
5. 如果 int k=1 ,那么 'H'+k 的类型是什么?下面语句是否存在差错?如果有,请改正。
(1) int k=1;(2) char ch1,ch2;(3)ch1='H'+k ; (4) ch2=98;【答案】'H'+k 的类型为int 型。
(3)有错。
’H'+k 为int 型,ch1为char 型,将高精度赋给低精度类型时必须实行强制转换。
6. 请指出下面程序在编译时是否会出现错误。
如果有,请改正。
public class doubleTointExample { public static void main(String args[ ]) { int a;double b=1,c=2; a=(int)(b+c); System.out.println ("a="+a);}}【答案】无错误。
输出结果: a=37. 请指出执行完下面程序后 x 、y 和 z 的输出值是多少?请上机验证。
public class doubleTointExample {public static void main(String args[ ]) { int x,y,z;x=1;y=2;z=(x+y>3?x++:++y); System.out.println ("x="+x); System.out.println ("y="+y); System.out.println 1. 请说明注释的作用。
【答案】答案见教材 <略 2. 判断下列那些是标识符?(1) 3class(2) b yte(3) ? room(4) B eijing(5) b eijing 【答案】(1)(2)(3)不是标识符,不能以?开始。
java习题及答案第3章 习题参考答案

第3章习题解答1. Java语言的注释有哪几种?分别给出一个例子。
答:Java语言的注释有3种,分别是单行注释、多行注释和文档注释。
单行注释的例子如下:public static Point origin = new Point(0, 0); //类初始化时,创建一个原点实例多行注释的例子如下:/* 类初始化时,创建一个原点实例 */public static Point origin = new Point(0, 0);文档注释的例子如下:/**** @类名:Point* @类简介:坐标点类,可以初始化其坐标x和y。
* @编程人:林福平* @编程日期:2012-8-9* @修改日期:2012-8-10**/2. Java语言中分隔符有哪几种?空白符有哪些?答:Java语言中的分隔符有空白符、注释和普通分隔符三种。
Java语言中的空白符(White Space)包括空格(SP,space)、制表符(‘\t’,Tab键)、走纸换页(‘\f’)、回车(‘\r’)和换行(‘\n’)。
3. 简述标识符的用途。
下列字符串中,哪些是标识符?PIx2 -length a+b _bytes $long MIN_VALUE答:Java语言中的标识符用于对类、方法、变量、类型、数组和文件等进行命名。
上述字符串中,以下这些是Java语言的标识符:PIx2 _bytes $long MIN_VALUE4. 下列字符串中,哪些是关键字?true for int null $float _double答:上述字符串中,以下这些是Java语言的关键字:true for int null5. Java语言的基本数据类型分为那几大类?答:Java语言的基本数据类型分为数值类型(包括整数类型和浮点类型)、字符类型(char)和布尔类型(Boolean)。
整数类型有byte、 short、 int和long。
浮点类型有float和double。
java程序设计第三版答案

java程序设计第三版答案Java程序设计第三版是一本广泛用于教学和自学的Java语言教材,由Y. Daniel Liang所著。
这本书涵盖了Java编程的基础知识和高级概念,包括数据类型、控制结构、类和对象、继承、接口、异常处理、集合框架、多线程、输入输出流、网络编程等。
以下是一些可能的练习题答案和解析,但请注意,具体答案可能因版本和题目的不同而有所差异。
第一章:Java入门练习题1:编写一个Java程序,打印出“Hello, World!”。
答案:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```解析:这个程序定义了一个名为`HelloWorld`的公共类,其中包含一个`main`方法,这是Java程序的入口点。
`System.out.println`用于在控制台打印文本。
第二章:数据类型、运算符和表达式练习题2:计算并打印出以下表达式的值:`(5 + 3.14) * 2 - 7 / 2`答案:```javapublic class ExpressionEvaluation {public static void main(String[] args) {double result = (5 + 3.14) * 2 - 7 / 2;System.out.println(result);}}```解析:在Java中,算术运算符的优先级是加法和减法低于乘法和除法。
因此,表达式首先计算括号内的加法和乘法,然后执行除法,最后进行减法。
第三章:控制语句练习题3:编写一个程序,使用for循环打印出1到10的整数。
答案:```javapublic class ForLoopExample {public static void main(String[] args) {for (int i = 1; i <= 10; i++) {System.out.println(i);}}}```解析:`for`循环由三个部分组成:初始化表达式、条件表达式和迭代表达式。
JAVA习题03

C. 可以删除。使用两层防火墙可以增加整个系统的吞吐量,尽管如此,但是
一层防火墙就足够了。
D. 可以删除。使用两层防火墙可以实现高可用性,尽管如此,但是一层防火
墙就足够了。
14. 下面的技术中,哪一个是客户端脚本语言?
A. ASP B. PHP C. Perl D. VBScript
15. 下面那种技术可以与基于浏览器的WEB应用共同协作,使得某些错误能够直
public void amethod(int i) { } } public class Scope extends Base{
public static void main(String argv[]){} //Method Here(选择项插入位置) } A void amethod(int i) throws Exception {} B void amethod(long i)throws Exception {} C void amethod(long i){} D public void amethod(int i) throws Exception {} 说明:方法覆盖指方法签名和是否抛出异常要一致(方法签名包括方法的名称和参
public static void main(String argv[]){ int i; int j; outer:for (i=1;i <3;i++) inner: for(j=1; j<3; j++) { if (j==2) continue outer; System.out.println("Value for i=" + i + " Value for j=" +j); }
传智播客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、finalo D、private参考答案: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、extendso D、modifies参考答案: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访问控制符来修饰,则这个成员只能被该类的其它成员访问,其它类无法直接访问。
《Java语言程序设计》考试练习题(带答案)三

《Java语言程序设计基础教程》练习思考题参考答案第1章 Java程序设计概述1.1单项选择题1.编译Java Application源文件将产生相应的字节码文件,扩展名是什么A. .javaB. .classC. .htmlD. .exe解答:B2.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中“一次编译,随处运行”的特点。
A. 简单性B. 平台无关性C. 面向对象性D. 安全性解答:B3.Java语言具有许多优点和特点,下列选项中,哪个反映了Java中并行机制的特点。
A. 多线程B. 平台无关性C. 面向对象性D. 安全性解答:A4.在Java语言中,下列哪些语句关于内存回收的说明是正确的?A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存;C.内存回收程序允许程序员直接释放内存;D.内存回收程序可以在指定的时间释放内存对象解答:B5.一个Java源文件中最多只能有多少个public类。
A. 1个B. 2个C. 3个D. 任意多个解答:A6.下面哪一个不是Java语言所具有的特点。
A. 没有全局变量,在类的定义外部没有任何的变量定义;B. 不直接支持指针操作,而使用更安全的引用类型;C. 支持子类对父类的多继承;D. 具有自动垃圾收集功能;解答:C7.下面哪一个不是Java开发工具包JDK的组成部分。
A. Java的编译器;B. Java的解释器;C. Java的API继承类库;D. Eclipse开发工具;解答:C8.JDK提供的编译器是()。
A. java.exeB. javac.exeC. javap.exeD. javaw.exe解答:B9.作为Java应用程序入口的main方法,其声明格式可以是()A. public void main(String [] args)B. public static void main(String [] args)C. public static void Main(String * args)D. public int main(String [] args)解答:B10.下列说法正确的是(A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来11.下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象1.2填空题1、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。
java习题3及答案

java习题3及答案Java习题3及答案Java作为一种高级编程语言,广泛应用于软件开发和互联网领域。
为了提高编程能力和解决实际问题,我们经常需要进行一些习题练习。
本文将介绍一些Java习题,并提供相应的答案。
一、基础题1. 编写一个Java程序,输出1到100之间所有的偶数。
```javapublic class EvenNumbers {public static void main(String[] args) {for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {System.out.println(i);}}}}```2. 编写一个Java程序,计算1到100之间所有奇数的和。
```javapublic class OddNumberSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}System.out.println("奇数的和为:" + sum);}}```二、进阶题1. 编写一个Java程序,判断一个字符串是否为回文字符串。
回文字符串是指正读和反读都相同的字符串。
```javapublic class Palindrome {public static void main(String[] args) {String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {isPalindrome = false;break;}if (isPalindrome) {System.out.println(str + "是回文字符串");} else {System.out.println(str + "不是回文字符串");}}}```2. 编写一个Java程序,实现冒泡排序算法对一个整型数组进行排序。
- 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()+"," );
}
}
}。