Java基础期中考试练习
《java程序设计》期中测试题

《Java程序设计》期中测试题一、选择题(每题2分,共20分)1. Java 源程序编译后产生的字节码文件的扩展名为( A )。
A. javaB. classC. htmlD. exe2. 以下标识符中哪项是不合法的( D )。
A. BigOlLong$223B. utfintC. $12sD. 3d3. Java中main()函数的返回值是什么( A )。
A. StringB. intC. charD. void4. 设数组定义:int[] a=new int[10];则数组的第一个元素的正确引用方法为( B )。
A.a[1] B.a[0] C.a [] D.a5. Java中导入类包的关键字是( B )标记符。
A. class B. import C.extends D.implements6. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为( C )。
A.隐藏 B.覆盖 C.重载 D.Java不支持此特性7. 创建了java源文件后,就要使用java编译器( A )对其进行编译。
A. javacB. javaC. javawD. javam8. 设x为float型变量,y为double型变量,a为int型变量,则表达式x+y*a/x 的值为( C )类型。
A. intB.longC. doubleD.char9. 如果result是布尔变量,下面哪个选项是正确的:( D )A.result = true;B.if(result=0){//do something… }C.if(result!=0){//do something… }D.result = 1;10. 关于变量和它们范围的说法,不正确的是:( C )A.实例变量是类的成员变量B.实例变量要用关键字static来声明C.在一个方法执行前,定义在该方法的局部变量就被创建D.局部变量必须在它们使用前初始化二、程序填空题(每空2分,共20分)1. 下面是一个类的定义,请完成程序。
Java语言期中考试试题及答案-1

Java语言期中考试试题及答案-1一、选择题1. 下列哪个关键字不是 Java 中的保留字?- a) byte- b) int- c) goto- d) long答案:c) goto2. 在 Java 中,整数类型的默认值是多少?- a) 0- b) 1- c) -1- d) 无默认值答案:a) 03. 下面哪个选项用来创建对象?- a) new- b) create- c) make- d) object答案:a) new4. Java 中的关键字 `final` 的作用是什么?- a) 用于声明常量- b) 用于声明最终类- c) 用于声明最终方法- d) 以上都是答案:d) 以上都是5. 在 Java 中,以下哪个选项可以用来提高执行效率?- a) 尽量使用基本数据类型- b) 尽量使用引用数据类型- c) 以上都是- d) 无法通过数据类型选择提高执行效率答案:a) 尽量使用基本数据类型二、填空题1. Java 程序的入口是 `____` 方法。
答案:main2. 下面的代码会输出什么结果?int a = 5;int b = 2;System.out.println(a % b);答案:13. 下面的代码存在一个编译错误,请找出错误并修改。
int a = 10;int b = 20;int sum = a + bSystem.out.println(sum);答案:在 `int sum = a + b` 行末缺少分号,应修改为 `int sum = a + b;`三、简答题1. 简要解释 Java 中的封装(Encapsulation)是什么?答案:封装是一种面向对象编程的原则,它将数据和操作数据的方法组合在一起,通过使用访问修饰符对数据进行保护,使得数据只能通过预定的方法进行操作,并且只暴露必要的接口,从而隐藏具体的实现细节。
2. 简要解释 Java 中的继承(Inheritance)是什么?答案:继承是一种面向对象编程的机制,它允许一个类(子类)继承另一个类(父类)的属性和方法。
java期中测试题

Java语言程序设计基础综合测试题一、选择题。
1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。
A、javaB、classC、htmlD、exe答:B2.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[] )答:B3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( )答:A4.下列哪个是合法的Java标识符?()A、Tree&GlassesB、FirstJavaAppletC、_$theLastOneD、273.5答:B 、 C5.Java Application源程序的主类是指包含有()方法的类。
A、main方法B、toString方法C、init方法D、actionPerfromed方法答:A6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。
A、8B、16C、32D、64答:B7.设 a = 8,则表达式 a >>> 2 的值是( )。
A、1B、2C、3D、4答:B7.若a的值为3时,下列程序段被执行后,c的值是多少?()c = 1;if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4;A、1B、2C、3D、4答:C8.对于构造函数,下列叙述正确的是()。
Java期中测试试题卷及答案

考试类型:一纸闭卷( );完全闭卷( √ );开卷( )第2学期期中测试试卷学 院 班 级 姓 名 学 号一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 关于对象成员占用内存说法正确的是( ) A .同一个类的对象共用一段内存B .同一个类的对象使用不同一段内存,但静态成员共享相同的内存空间C .对象的方法不占用内存D .以上都不对 2.关于方法的说法正确的是( )A .方法中的形参可以和方法所属类的属性相同B .方法必须有形参C .同类不同的方法中不能有同名的自变量,否则会产生不可预测的结果D .没有返回值的方法可以用void 来表示,也可以不加 3. 类Test1定义如下:1. public class Test1{2. public float aMethod (float a, float b ){ }3.4. }将以下方法插入行3不合法的是( )A .public float aMethod (float a ,float b ,float c ){ }B. public float aMethod(float c,float d){ }C. public int aMethod(int a,int b){ }D. private float aMethod(int a,int b,int c){ }4.构造函数被调用于()A.创建对象时B.类定义时C.使用对象的方法时D.使用对象的属性时5.下面说法正确是()A.每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
B. 如果类里定义了一个或多个构造方法,Java也提供默认的构造方法。
C. 每个Java类中用户必须定义至少一个构造方法D. 以上都不对6.关于继承的说法正确是的()A.子类将继承父类所有的属性和方法B.子类继承父类的非私有属性和方法C.子类只能继承父类public方法和属性D.子类只能继承父类的方法,而不能继承属性7.下列说法正确的是()A. 子类只能覆盖父类的方法,而不能重载B. 子类只能重载父类的方法,而不能覆盖C. 子类不能定义和父类同名同形参的方法,否则系统将不知道使用哪个方法D. 重载就是一个类中有多个同名但有不同形参或方法体的方法8.this和super()A. 都可以用在main( )方法中B.指向一个内存地址C.不能用在main()方法中 D.意义相同9.下列关于修饰符混用说法中,错误的是()。
java期中测试

public String toString(){return 省+";"+城市+";"+"人名"+";"+"身份证号"+";";}
}
第十一题:
public class _Person {
private String 人名;
System.out.println("李四的居住地: 省:"+p2.get省()+";城市: "+p2.get城市()+";");
}
}public class Address
{private String 省;
private String 城市;
private String 人名;
private String 身份证号;
public static void main(String[] args) {
int a = 51;
switch(a/10){
case 9:System.out.println("优秀");break;
case 8:System.out.println("良好");break;
}
第九题:
public class FibonacciNumber {
public static void printFibonacciNumber(long f1,long f2,int n){
java(期中复习)练习题

《面向对象与UML》习题一、选择1.一个设计得好的OO系统具有 (B )A、低内聚,低耦合的特征B、高内聚,低耦合的特征C、高内聚,高耦合的特征D、低内聚,高耦合的特征2.面向对象技术中,对象是类的实例。
对象有三种成分:(A)、属性和方法(或操作)。
A.标识B.规则C.封装D.消息3. 参考下图,下面哪些叙述是正确的?( BC )A、A和B是Employee的子类。
B、如果一个方法的参数类型是Employee,则A的实例或B的实例可以作为参数传递给该方法。
C、A和B必须实现getSalary()方法。
D、系统中不能创建类型为Employee的实例。
图24.如下图所示,下面哪些叙述是正确的?CA、 ArbitraryIcon是抽象类, ArbitraryIcon不从类Icon继承display方法。
B、类OkButton从RectangularIcon中继承了height和width属性。
C、类OkButton中的display方法是对类Button中的display方法的重载。
D、类OkButton中的display方法是对类Button中的display方法的覆盖。
5.UML中所谓的“泛化”可以用以下哪个术语来代替( B)A.聚合B.继承C.抽象D.封装6.在UML交互图中,()表示操作之间的信息交换。
( B)A.控制流B.信息流C.初始活动D.活动7.以下哪个不是面向对象的概念( D )A.封装B.多态C.抽象D.聚类8.UML的英文全称是( A )A.Unified Modeling Language B.User Manage Language C.Unit Modeling Language D.以上都不对9.常用的UML工具有很多,下列哪个不是( D )A.rose B.powerdesign C.visio D.vss10.下列对操作描述错误的是( D)A.接口可以定义操作B.类可以定义操作C.操作可以作为顺序图中的消息D.对象可以定义操作11.在UML模型中,类用( B )表示A.直角矩形B.圆角矩形C.椭圆D.牛眼睛12.设计视图的静态方面采用(B)表现A.交互图B.类图和对象图C.状态图D.活动图13.用例视图的静态方面由(A )来表现A.用例图B.交互图C.状态图D.活动图二、根据下图完成填空。
Java期中考试参考答案

Java期中考试参考答案一、编程题1.P118 ——4.191.public class DigitalPyramid {2.3.public static void main(String[] args) {4.// TODO Auto-generated method stub5.for(int i = 0; i < 8; i++)6.{7.8.//输出空格9.for(int j = 0; j < 7 - i; j++)10.System.out.print(" ");//5个空格11.12.//输出左边递增数字13.for(int k = 0; k < i + 1; k++)14.System.out.printf("%5d", (int)Math.pow(2,k));15.16.//输出右边递减部分17.for(int m = i; m > 0; m--)18.System.out.printf("%5d", (int)Math.pow(2,m-1));19.20.//换行21.System.out.println();22.}23.}24.}2.P326 ——11.1//GeometricObject.javapublic class GeometricObject {private String color;private boolean filled;private java.util.Date dateCreated;public GeometricObject(){this.dateCreated = new java.util.Date();}public GeometricObject(String color, boolean filled){this.color = color;this.filled = filled;this.dateCreated = new java.util.Date();}public String getColor(){return color;}public void setColor(String color){this.color = color;}public boolean isFilled(){return filled;}public void setFilled(boolean filled){this.filled = filled;}public java.util.Date getDateCreated(){return dateCreated;}public String toString(){return"Created on "+dateCreated+"\ncolor is "+color+"\nfilled:"+filled;}}//Triangle.javapublic class Triangle extends GeometricObject {private double side1 = 1.0;private double side2 = 1.0;private double side3 = 1.0;public Triangle(){}public Triangle(double side1, double side2, double side3){ this.side1 = side1;this.side2 = side2;this.side3 = side3;}public Triangle(double side1, double side2, double side3, String color, boolean filled){this(side1, side2, side3);setColor(color);setFilled(filled);}public double getArea(){double s = (side1 + side2 + side3) / 2.0;double area= Math.pow(s* (s- side1) * (s- side2) * (s- side3), 0.5);return area;}public double getPerimeter(){return side1 + side2 + side3;}public String toString(){return super.toString()+"\nArea = "+getArea()+"\nPerimeter = "+getPerimeter();}}//TestTriangle.javapublic class TestTriangle {public static void main(String[] args) {// TODO Auto-generated method stubTriangle t = new Triangle(1.0, 1.5, 1.0, "yellow", true);System.out.println(t.toString());Triangle t1 = new Triangle(3,4,5);System.out.println(t1.toString());}}3.P399 ——14.21.//Circle.java2.public class Circle {3.private double radius = 1.0;4.public Circle(){5.6.}7.public Circle(double radius){8.this.radius = radius;9.}10. public double getArea(){11. return Math.PI * radius * radius;12. }13.}1.//ComparableCircle.java2.public class ComparableCircle extends Circle implements Comparable{3. public ComparableCircle(double radius){4. super(radius);5. }6. public int compareTo(Object o){7. return (int)(getArea() - ((ComparableCircle)o).getArea());8. }9.}1.public class TestComparableCircle {2. public static void main(String[] args) {3. // TODO Auto-generated method stub4. ComparableCircle c1 = new ComparableCircle(5.0);5. ComparableCircle c2 = new ComparableCircle(6.0);6. int result = pareTo(c2);7. if(result < 0)8. System.out.println("c1 < c2");9. else if(0 == result)10. System.out.println("c1 = c2");11. else12. System.out.println("c1 > c2");13. }14. }二、改错题1.P324 ——11.141.//P324 11.142.public class Test {3.4.public static void main(String[] args) {5.// TODO Auto-generated method stub6.Object fruit = new Fruit();7.Object apple = (Apple)fruit;8.}9.10.}11.12.class Apple extends Fruit{13./*public Apple(){14.System.out.println("Apple's constructor is invoked!");15.}*/16.}17.18.class Fruit{19./*public Fruit(){20.System.out.println("Fruit's constructor is invoked!");21.}*/22.}运行结果:Exception in thread "main" ng.ClassCastException: Fruit cannot be cast to Appleat Test.main(Test.java:7)改正:可将第6行改为Object fruit = new Apple();2.P235 ——8.15书上程序正确,类内可直接访问私有数据。
JAVA程序设计期中基础知识测试A卷

JAVA程序设计期中基础知识测试A卷⼀、单项选择题(请将答案统⼀填写到题后表格中)1、Java编译器将源代码⽂件转换成:A 机器码B EspressoC c语⾔D字节码2、类的另⼀种说法是:A 对象B 模板C 实例D 程序3、类的实例⽅法所表⽰的是:A那个类的属性 B 那个类的⾏为C从那个类创建的对象的⾏为 D实例对象的状态4、使⽤什么来调⽤对象的构造⽅法和创建对象A +B newC instanceofD import5、当在计算条件表达式之前⾄少执⾏循环中的语句⼀次,应该使⽤:A do — while 循环B for循环C while循环D continue 语句6、哪⼀个运算符能返回除法运算的余数:A /B %C ?D +7、所有类的超类是:A SystemB ObjectC MathA 没有B 存储在JDK⽂件夹下所有的类C CLASSPATH⽂件夹中的类D /doc/d4f21125f18583d0496459ff.html ng 包中的类9、运⾏Java编译器的命令是:A javaB appletviewerC jdbD javac10、下⾯哪条命令可以运⾏java⼩应⽤程序:A javaB appletviewerC jdbD javac11、可以⽤来创建Java程序的SUN公司发布的免费⼯具集被称为:A JREB JDKC JVMD JNI12、对象的基本定义是下⾯中的哪⼀种:A 数据和能对数据进⾏的操作的集合B 能在浏览器或appletviewer中运⾏的任何Java程序C 联合起来形成完整应⽤程序的⽂件集合D 类⽂件13、域(属性)的作⽤是下⾯中的哪⼀种:A 存储表⽰对象状态的数据B 对对象的数据进⾏操作C 声明在当前类定义中使⽤的外部类D 打印⽂本信息到屏幕或appletviewer控制台14、下⾯表达式的值是多少: (int) 9.9A 9B 10C 9.9D 错误A while检验永远为真B 没有结束条件C 死循环D 以上全部都是16、switch语句中⽤什么词表⽰找不到匹配时使⽤的选择:A defaultB anyC last C none17、下列哪⼀种⽅法可以从该类的外部访问:A public void getValue( )B private void getValue( )C void pulic private getValue( )D void private getValue( )18、哪⼀⾏定义了⼀个静态变量:A pulic static int i ;B static int pulic i ;C int public static i ;D public int static i ;19、⼦类化⼀个类的关键字是:A subclassB augmentC modifyD extends20、若有命令 java Test Red Green Blue 则以下哪句话是不正确的?A 主⽅法的参数会获得值B 主⽅法的参数是个数组C 数组的长度应该是5D 若参数名叫args,则args[2]为“Blue”21、关于this(x,y);这个语句,以下理解正确的是:A 这是个叫this的⽅法的调⽤,参数为2个。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java基础期中考试一、填空题1.Java的三大体系分别是__ JavaEE _、_ JavaSE、JavaME _____。
2.Java程序的运行环境简称之为__ JRE ____。
3.Java中的程序代码都必须在一个类中定义,类使用___class___关键字来定义。
4.布尔常量即布尔类型的两个值,分别是_true_____和___false___。
5.Java中的注释可分为三种类型,分别是__单行注释____、_多行注释__、___文档注释___。
6.Java中的变量可分为两种数据类型,分别是___基本数据类型___和__引用数据类型____。
7.在Java中,byte类型数据占___1___个字节,short类型数据占___2___个字节,int类型数据占___4___个字节,long类型数据占__8____个字节。
8.在逻辑运算符中,运算符__ &____和___&&___用于表示逻辑与,___|__和___||___表示逻辑或。
9.若x = 2,则表达式( x + + )/3 的值是___0___。
10.若int a =2; a+=3;执行后,变量a的值为___5___。
11.若int []a={12,45,34,46,23}; ,则a[2]= ___34___。
12.若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ___56___。
二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种? BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac 和java命令,需要将环境变量path设置为以下哪个选项?BA.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;6、以下选项中,哪些属于合法的标识符?(多选)ADA、Hello_WorldB、classC、123usernameD、username1237、以下关于变量的说法错误的是?CA、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明8、以下选项中,switch语句判断条件可以接收的数据类型有哪些?(多选)ABCDA、intB、byteC、charD、short9、假设int x = 2,三元表达式x>0?x+1:5 的运行结果是以下哪一个?CA、0B、2C、3D、510、下面的运算符中,用于执行除法运算是哪个?AA、/B、\C、%D、*11、下列语句哪些属于循环语句?(多选)ACA、for语句B、if语句C、while语句D、switch语句12、下面哪种写法可以实现访问数组arr的第1个元素? AA、arr[0]B、arr(0)C、arr[1]D、arr(1)13、以下哪个选项可以正确创建一个长度为3的二维数组?BA、new int [2][3];B、new int[3][];C、new int[][3];D、以上答案皆不对14、请先阅读下面的代码。
int x = 1;int y = 2;if (x % 2 == 0) {y++;} else {y--;}System.out.println("y=" + y);上面一段程序运行结束时,变量y的值为下列哪一项?AA、1B、2C、3D、switch语句三、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。
否则请说明编译失败的原因。
代码一:b=7(编译不通过。
int 值 4 和b 相加时,由于变量 b 的类型为byte,取值范围没有int 类型大,存不下int 类型的值,因此编译不通过)public class Test01 {public static void main(String[] args) {byte b = 3;b = b + 4;System.out.println("b=" + b);}}代码二:不能,y 只在{}有效(编译不通过。
这是因为y 是在最里层的代码块中定义的一个变量,只有在那个代码)public class Test02 {public static void main(String[] args){int x = 12;{int y = 96;System.out.println("x is " + x);System.out.println("y is " + y);}y = x;System.out.println("x is " + x);}}代码三:代码三:3 因为没有break,,所以 4 以后都执行public class Test03 {public static void main(String args[]) {int x = 4, j = 0;switch (x) {case 1:j++;case 2:j++;case 3:j++;case 4:j++;case 5:j++;default:j++;}System.out.println(j);}}代码四:987public class Test04 {public static void main(String args[]) {int n = 9;while (n > 6) {System.out.println(n);n--;}}}四、简答题1、请列举Java语言中的八种基本数据类型,并说明每种数据类型所占用的空间大小。
答:Java语言的八种基本数据类型有:byte字节型,占一个字节。
short短整型,占两个字节。
int整型,占4个字节。
long长整型,占8个字节。
float单精度浮点型,占4个字节。
double双精度浮点型,占8个字节。
char字符型,占两个字节。
boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
2、简述Java的特点。
答:面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。
3、方法的重载和方法的重写的区别。
答:(1)相同点:①方法名称相同。
②都属于多态机制。
(2)不同点:位置、参数列表、权限修饰符、返回值类型、抛出异常不同。
重载:发生在同一个类中,方法名相同,参数列表不同,与权限修饰、返回值类型、抛出异常无关。
重写: 发生在继承类中,方法名和参数列表相同,权限修饰符大于等于父类、返回值类型小于等于父类、抛出异常小于等于父类。
五、编程题:请按照题目的要求编写程序并给出运行结果。
1、请编写程序,实现计算“1+3+5+7+…+99”的值。
提示:1)使用循环语句实现自然数1~99的遍历。
2)在遍历过程中,通过条件判断当前遍历的数是否为奇数,如果是就累加,否则不加。
public class getSum {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);}}2、已知函数x + 3 ( x > 0 )y = 0 ( x = 0 )x2–1 ( x < 0 )请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
提示:1)定义一个static修饰符修饰的方法,方法接收一个int类型的参数x,返回值为int类型。
2)在方法中使用if…else if..else语句针对x的值进行三种情况的判断。
3)根据判断结果分别执行不同的表达式,并将结果赋予变量y。
4)在方法的最后返回y的值。
5)在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。
答:public class Test02 {public static void main(String args[]) { int y = function(0);System.out.println(y);}public static int function(int x) {int y;if (x > 0) {y = x + 3;} else if (x == 0) {y = 0;} else {y = x * x - 1;}return y;}}。