JAVA程序设计复习题

合集下载

Java语言程序设计期末复习综合练习题

Java语言程序设计期末复习综合练习题

29.下列哪些语句关于内存回收的说明是正确的? 关于内存回收的 理解 A 程序员必须创建一个线程来释放内存; B 内存回收程序负责释放无用内存 C 内存回收程序允许程序员直接释放内存 D 内存回收程序可以在指定的时间释放内存对象 答:B 30. 在编写Java程序时,若需要对发生的事件作出响应和处理,一 般需要在程序的开头写上( )语句。??? A、import java.awt.* ; B、import java.applet.* ; C、import java.io.* ; D、import java.awt.event.* ; 答:D 31.对于子类的构造函数说明,下列叙述中不正确的是( )。类 与构造函数 A、子类无条件地继承父类的无参构造函数。 B、子类可以在自己的构造函数中使用super关键字来调用父类的 含参数构造函 数,但这个调用语句必须是子类构造函数的第一个可执行 语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函 数,然后再执行 自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的 有参构造函数。 答:D 32. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不 随容器大小的变化而改变? 容器的理解? A CardLayout B FlowLayout C BorderLayout D GridLayout 答:B 二、填空题。 1.在Java的基本数据类型中,char型数据占 字节内存空间, int型数据占用 字节内存空间。需要熟悉字符类型所需要的空间 答:2、4 2. 设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答:6 简单java程序的考查
D. 不需要任何修辞词 答:D 13.若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于( )。对于类的理解 A、本地方法 B、最终方法 C、多态方法 D、抽象方法 答:D 14.以下语句不能通过编译的是( )。对于二维数组的理解 A. int[] a={1,2,3,4}; B. int b[]; C. int c[]=new int[3]; D. int d=new int[]; 答: D 15.在switch(表达式)语句中,表达式的类型不能为( )。 A、byte B、char C、long D、int 答:C 16.设有下面两个类的定义: class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。对于类的理解 A、包含关系 B、继承关系 C、关联关系 D、无关系,上述类定义有语法错误 答:B、 17. 设有下面的两个类定义: class AA { void Show(){ System.out.println(“我喜欢Java!”); } class BB extends AA { void Show(){ System.out.println(“我喜欢C++!”); } 则顺序执行如下语句后输出结果为:( )对于类的理解。(简单的 包含类的程序的理解) AA a; BB b;

Java语言程序设计期末复习题

Java语言程序设计期末复习题

“Java语言程序设计”期末复习题(含答案)一.判断题由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。

(× )注释的作用是使程序在执行时在屏幕上显示//之后的内容。

(×)Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。

(√)java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。

(×)Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

(× )创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。

(×)静态初始化器是在其所属的类加载内存时由系统自动调用执行。

(√)Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。

(√ )设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。

(× )在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。

(×)无论Java源程序包含几个类的定义,若该源程序文件以B.java 命名,编译后生成的都只有一个名为B的字节码文件。

(×)即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。

(√)Java的各种数据类型所占用的内存长度与具体软硬件环境有关。

(×)在Java的方法中定义一个常量要用const关键字。

(×)Java的类不允许多重继承,但接口支持多重继承。

(√)所谓抽象类就是包含有抽象方法的类。

(×)在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch 语句。

java语言程序设计复习(附答案)

java语言程序设计复习(附答案)

面向对象复习1.以下关于抽象类和接口的说法错误的是()A、接口中的方法都必须加上public关键字。

B、在抽象类中可以没有抽象方法C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。

接口中的方法都不能被实现D、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

2.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号3下列说法正确的是()A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来4.Java中,在如下所示的Test类中,共有(2)个构造方法。

public class Test{private int x;public Test(){x=35;}public void Test(double f){This.x=(int)f;}public Test(String s){}}5 变量命名规范说法正确的是(F)E、变量由字母、下划线、数字、$符号随意组成;F、变量不能以数字作为开头;G、A和a在java中是同一个变量;H、不同类型的变量,可以起相同的名字;6为一个boolean类型变量赋值时,可以使用(I)方式I、boolean = 1;J、boolean a = (9 >= 10);K、boolean a="真";L、boolean a = = false;7以下(O)不是合法的标识符M、STRINGN、x3x;O、v oidP、de$f2、表达式(11+3*8)/4%3的值是(D)A、31B、0C、1D、23、(A)表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、count = = i;4、运算符优先级别排序正确的是(C)A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;5、以下程序的运行结果是:(B)public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.6766、下列值不为true的表达式有(C)。

Java程序设计复习题3

Java程序设计复习题3

Java程序设计复习题31、下列关于Java Application 与Applet 的说法中,正确的是( A )。

A)都包含main() 方法B)都通过“appletviewer”命令执行C)都通过“javac”命令编译D)都嵌入在HTML 文件中执行2、当启动Applet 程序时,首先调用的方法是( B )。

A)stop()B)init()C)start()D)destroy()3、对于可以独立运行的Java应用程序,下列( D )说法是正确的。

A) 无须main方法B) 必须有两个main方法C) 可以有多个或零个main方法D) 必须有一个main方法4、现有一整型数组a[4],它的所有数组元素是( B)。

A) a0, a1, a2, a3B) a[0], a[1], a[2], a[3]C) a[1], a[2], a[2], a[4]D) a[0], a[1], a[2], a[3], a[4]5、Character流与Byte流的区别是CA) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是块读写,后者是字节读写D) 二者没有区别,可以互换使用6、若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是( )。

A) 它们的返回值类型的不同B) 它们的名称的不同C) 它们的参数表的不同D) 它们的修饰符不同7、在Java语言中,不允许使用指针体现出Java特性是()A) 可移植B) 解释执行C) 健壮性D) 安全性8、下列哪个属于容器的构件?AA) JFrameB) JButtonC) JPnelD) JApplet9、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?A) BoxLayoutB) GridLayoutC) BorderLayoutD) FlowLouLayout10、下面叙述正确的是__C____。

A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对11、在某个类A中存在方法void GetSort(int x)以下能作为这个方法的重载的声明是A) Void GetSort(float x)B) int GetSort(int y)C) double GetSort(int x,int y)D) void Get(int x,int y)12、有一个类A,以下为其构造函数的声明,其中正确的是( )。

JAVA语言程序设计复习题及答案

JAVA语言程序设计复习题及答案

JAVA语言程序设计考试试卷及部分答案一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

1.下列语句序列执行后,k 的值是( B )。

int m=3, n=6, k=0。

while( (m++) < ( -- n) ) ++k。

A) 0 B) 1 C) 2 D) 32.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。

A) i = i + 2 B) a[0] = 7。

C) i++ - --j。

D) a(0) = 66。

3.Java语言的类间的继承关系是( B )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承4.设有定义 int i = 6 。

,则执行以下语句后,i 的值为( C )。

i += i - 1。

A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。

A)interface B) package C) extends D) class6.若已定义 byte[ ] x= {11,22,33,-66} 。

其中0≤k≤3,则对x数组元素错误的引用是( C )。

A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后,ch1 的值是( B )。

char ch1='A',ch2='W'。

if(ch1 + 2 < ch2 ) ++ch1。

A) 'A' B) 'B' C) 'C' D) B8.下列语句序列执行后,i 的值是( D )。

int i=8, j=16。

9.下列语句序列执行后,k 的值是( C )。

int i=10, j=18, k=30。

switch( j - i ){ case 8 : k++。

Java语言程序设计复习题(new)

Java语言程序设计复习题(new)

Java语言程序设计复习题(new)一、选择1 Java源程序文件的扩展名为:A 。

()A..java B..jar C..class D..txt2 下列选项中,反映了Java程序并发机制的特点。

( B )A.安全性B.多线程C.跨平台D.可移植3 下列描述中,错误的是。

(A )A.Java要求编程者管理内存B.Java的安全性体现在多个层次上C.Java是面向对象程序设计语言D.Java有多线程机制4 JDK提供的java编译器为。

(B )A.java.exe B.javac.exe C.javaprof.exe D.javap.exe 5 下列语句中,属于多分支语句的是 A 。

( )A.if语句B.for语句C.switch语句D.while 语句6 下列选项中, 不合法的标识符为 D 。

()A.MyGame B._isHers C._$doc D.2japro7线程生命周期中正确的状态是 C 。

()A.新建状态、运行状态和死亡状态B.新建状态、运行状态、阻塞状态和死亡状态C.新建状态、就绪状态、运行状态、阻塞状态和死亡状态D.新建状态、就绪状态、运行状态、恢复状态和死亡状态8 下列不属于Swing GUI组件的是。

()A.Jbutton B.Menu C.Jslider D.JT abbedPan 9 若特快订单是一种订单,则特快订单类和订单类的关系是C。

()A.使用关系B.包含关系C.继承关系D.无关系10Java语言使用的字符码集是。

( D )A.ASCII B.BCD C.DCB D.Unicode 11 程序运行时若引发一个可识别的错误,就会产生一个异常类对象,该过程称为A。

()A.捕获异常B.抛出异常C.声明异常D.嵌套异常12 设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是A 。

()A.3 B.3.5 C.4 D.513不是类及类成员的访问控制符的是C 。

Java程序设计复习题

Java程序设计复习题

A.s1=”efgabc” 28.执行
B. s1=”aefgbc”
C. s1=”abefgc”
D. s1=”abcefg”
int i=”abcd”.compareTo(“abcd”);
之后,i 的值为( )
A.正整数
B.负整数
C.true
D.false
29.数组作为参数,传递的是()
A. 地址
B. 数组元素值
C. 父类
D. 包
32.下列说法中,错误的是()
A. 静态方法可以访问它所属类的所有属性
B.静态方法不能访问该类的实例变量
C. 静态方法可以通过类名直接访问
D.实例方法可以访问该类的静态属性与静态访法
33.下述()不是对象的特征
A. 对象的行为 B.对象的状态 C.对象的局部变量 D.对象标识符
34.下面关于类的说法错误的是()
int a=10;
int t=0;
do { t=a++; } while(t<=10);
A.一次都不执行
B.执行一次
C.执行两次
D.无限次执行
13.下列程序的输出结果为()
public class A{
public static void main(String[ ] args){
int a=3,b=4,c=5,d=6,e=7;
A.public final double PI;
B.public final static double PI=3.14159;
C.public final static double PI; D.public static double PI=3.14159; 21.有一个类 B,下面为其构造方法进行的声明,正确的是( )

JAVA编程题全集(100题及答案)

JAVA编程题全集(100题及答案)

Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。

(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。

// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。

");elseSystem.out.println(year+" 年不是闰年。

");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。

(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习题
1、给出字符串“Thank you,i like you,do you like me?”
(1)请查找该字符串中字符串“you”最后一次出现的位置;
(2)请统计字符“k”出现的次数;
(3)截取子串“me”。

2、编写一个程序,显示除6之外1到10的所有数字。

3、编写一个加密程序,它把字符串中字符向前移一位,如输入“12345”,则
输出是“23451”。

4、根据以下公式计算s,n通过命令行输入。

s=1+1/(1+2)+1/(1+2+3)
+…+1/(1+2+…+n)
例如:若n的值为11时,函数的值为1.833333。

5、总计800元的工资分成100元,50元,10元三种面值的货币发放,其中至
少有5张百元票,编程输出各种组合方案。

6、构造一个日期类Date,包含年、月、日的属性和以下构造函数:
1)不带参数
2)包含年月日三个参数
3)”yyyy-MM-dd”格式的字符串
并提供存取日期的方法getDate()。

编写测试代码测试分别对这三个构造函数进行测试。

7、编程创建一个Box类,在其中定义三个变量表示一个立方体的长length、宽
width和高height,定义一个构造方法对这三个变量进行初始化,然后定义一个方法求立方体的体积getVolume()。

编写main函数,创建一个对象,求给定尺寸的立方体的体积。

8、编写一个抽象类Animal,抽象类中包括属性:name(String类型),抽象
方法:speak()。

编写一个宠物接口pet,接口中包括方法:eat()。

再编写一个类cat,实现该接口和抽象类中的所有方法。

在main中进行测试,输出:
“miao,my name is xxx”
“I want to eat some fish”
9、编程创建一个Person类,在其中包括属性(姓名,性别,年龄)和方法
getDetails(),用于显示所有信息。

将Person类作为父类,创建子类
Student,增加属性“专业”,重写getDetails()方法,在该方法中使用父类的getDetails()方法,用下面的测试代码。

public static void main(String args[]){
Student s=new Student("庄敏","女",20,"软件技术");
System.out.println(s.getDetails());
}
最后显示:“姓名:庄敏,性别:女,年龄:20岁,专业:软件技术”10、一个字符串数组{“abc”,”de”,”gong”,”De”,”abc”,”Foo”,”gong”},请将其中重
复的元素去除掉(不计大小写),并按字母大小(不计大小写,从小到大)排序
11、定义一个学生类(Student),属性包括:学号,姓名,班号,课程号,成
绩;方法包括:获得班号getClass(),课程号getCourse(),获得成绩
getScore(),以及一个toString()方法将Student类中的所有属性组合成一个字符串”学号:xxx,姓名:xxx,课程号:xxx,成绩:xxx”。

在main函数中定义一个学生集合(用ArrayList保存),要求:
(1)统计课程“java”的平均分。

(2)统计每个学生的平均分。

12、编写程序从控制台读取信息写入到文本文件中,格式为:姓名:XXX性
别:X年龄:XX班级:XXX,将该信息从文件中读出显示在屏幕上。

13、编写一个方法copyFile(String srcFile,String tagFile),通过该方法能实现将
srcFile中的内容复制到tagFile下,源文件名和目标文件名通过控制台输入。

14、用输入/输出写一个程序,让用户输入一些姓名和电话号码。

每一个姓名和
号码将加在文件里。

用户通过点"Done"按钮来告诉系统整个列表已输入完毕。

如果用户输入完,程序将文件中的内容显示或打印出来。

格式如:555-1212,Tom
123-456-7890,Peggy L.
234-5678,Marc
234-5678,Ron
876-4321,Beth&Brian
15、使用字符输入、输出流的包装类,通过这个包装类对底层字符输入流进行
包装,将某个文本文件(D:\read.txt)的内容按行读出,显示在控制台上。

16、创建的数据库Study数据库,数据库中包含数据表student(学号、姓名、
性别、年龄、所在系),课程表course(课程号、课程名),成绩表sc
(学号、课程号、成绩)。

完成下列功能:
1)在控制台上显示所有学生的基本情况。

包括学号,姓名,性别,年龄,所在系,按学号排序。

显示格式:“学号:xxx,姓名:xxx,年龄:xxx,所在系:xxx”
2)从控制台输入某课程的课程名,查询选了该课程的学生情况,将其学生姓名、成绩显示到控制台上,显示格式为:
张三70
李四85
......
3)从控制台输入某学生的学号,调用存储过程upStudCouBySID查询该同学的选课情况,包括课程名和成绩。

存储过程:upStudCouBySID
4)将上一题查询得到的课程名和成绩保持到文件(studCouInfo.txt)中,并在控制台上显示其所有课程的平均分。

5)从控制台输入几位学生的基本信息,直到“over”结束,将这些学生信息存入到集合中,然后按批处理的方式存入数据库中。

6)从控制台输入学生姓名和课程名,从数据库中读取其成绩,然后将该成绩上调5%后同步更新到数据库中。

注:本题需先附加Study数据库。

相关文档
最新文档