java程序设计习题集
- 格式:rtf
- 大小:244.86 KB
- 文档页数:17
java⾯向对象程序设计习题集JA V A⾯向对象程序设计习题集⽬录引⾔随着教学改⾰的深⼊推进,项⽬制教学模式已经受到我校⼴⼤师⽣的好评,也收到了很好的效果。
为了配合我校⾃编教材的使⽤,扩⼤同学们的知识深度和⼴度,巩固Java学习知识点,本书积累了我校教学经验丰富的JAV A⽼师,历年来的教学经验总结,收集了⼤量Java 相关试题,供⼤家参考。
感谢参加本书编写的有⾦鹏、李再友、谭登超、王丽萍、牟兰、税世兵、贺华川、张曾、杨怡菡、樊豪、陈肖、李虹锋、任晶、黄荣等。
由于编者⽔平有限,时间仓促,本书错误在所难免,敬请⼴⼤读者批评指正。
意见、编者2010年7⽉第⼀章 JAVA基础⼀、填空题1、标识符是唯⼀标志⼀个变量(variable)、⽅法(method)和类(class)等的名字。
2、标识符是区分⼤⼩写的,可以为任意长度(unlimited-length),但⼀般来说,长度适中即可。
3、标识符以字母、 $ 或下划线开始,并包含这些字符和数字的字符序列。
4、标识符不能使⽤java语⾔定义的关键字。
5、基本数据类型是不能简化的、内置的数据类型,⽤以表⽰真是的数字、字符等,通常⽤来构建更复杂的数据类型。
6、java的开发⼯具包包括__SE _,__ ME __,__ EE __三种不同的⼯具包。
7、JVM是( java虚拟机 --java virtual machine),JDK是(java开发⼯具包 --Java Developer's Kit )。
8、java中最简单的⼀种数据类型是布尔型,其类型说明符为boolean 。
9、布尔类型变量的值只有两种值,其值为 ture 和 false 。
10、整数类型包括 byte、 int 、 short 、 long ,他们都是带符号的(即有正负之分),表⽰数学中的整个数。
11、byte类型数据占 8 位空间,short类型数据占 16 位空间,int类型数据占 32 位空间,long类型数据占 64 位空间。
《JA V A程序设计》习题集及参考答案一、填空题1.Java是面向对象的解释型的高级编程语言,其程序源代码的扩展名为.java生成的字节码文件名的扩展名为.class,Java解释器把各种平台间的差异隐藏起来,这种由解释器包裹起来的完整的软硬件平台称为Java 虚拟机。
2.Java Application 是独立、完整的程序,在命令行调用独立的解释器软件(java.exe)即可运行,其程序主类必须有一个main()方法,完整的方法头为public static void main(String aegs[]) 。
3.把方法看作是数据的特性,而不把数据和方法分开,JA V A正是体现了这种建立面向对象系统过程中重要步骤的思想.。
4.建立类类型的变量(引用)后,系统只分配引用空间,程序员要调用new来创建对象实例,然后才分配相应的存储空间。
5.如果需要在同一类中书写多个方法,让它们对不同的变量进行同样的操作,就需要重载方法名。
如果子类中定义方法所用的名字、返回类型和参数表和父类中方法使用的完全一样,称子类方法覆盖了父类中的方法。
覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。
6.容器中组件的位置由容器的布局管理器决定,容器不仅可以容纳组件,还可以容纳其它容器这一点非常重要,由此可以设计出复杂的图形用户界面布局。
7.Java抽象窗口工具中提供了多种容器,其中最重要的两种是框架和面板。
8.JDK1.1引入了委托模型处理机制,组件必须注册一个事件处理程序,事件对象只传递给已经注册的监听程序,每种事件都有一个对应的监听程序类以实现相应的监听程序接口,并定义了事件对象的接收和处理方法。
9.异常处理的重要性在于,程序不但要发现异常,还要捕获异常并编写代码来处理10.类是同种对象集合的抽象,而属于类的某一个对象则被称为是类的一个实例,对象是具有状态、行为、标志三种属性的计算机软件结构。
11.用户自己定义的Applet子类是Java Applet的标志。
java程序设计试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A2. Java中的“==”操作符用于比较什么?A. 引用是否相同B. 引用所指向的对象的值是否相同C. 基本数据类型的值是否相同D. 引用所指向的对象的内存地址是否相同答案:C3. 下列哪个是Java的合法标识符?A. 2variableB. variable-nameC. #variableD. variable$name答案:B4. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements答案:C5. 在Java中,以下哪个是正确的数组初始化方式?A. int[] array = new int[5] = {1, 2, 3};B. int array[] = {1, 2, 3, 4, 5};C. int array = new int[5] = {1, 2, 3, 4, 5};D. int[] array = {1, 2, 3, 4, 5};答案:D二、填空题根据题目要求,填空题需要根据题目所给的上下文,填写正确的信息。
1. Java是一种______语言。
答案:面向对象2. 在Java中,所有的类都是从______类直接或间接继承的。
答案:Object3. Java中的集合框架中,List接口的实现类ArrayList是______的。
答案:有序4. Java中的异常处理机制是通过______关键字实现的。
答案:try-catch5. Java中的包是用来组织类和接口的,使用______关键字来声明一个包。
答案:package三、简答题1. 简述Java中接口和抽象类的区别。
答案:接口(interface)是一种完全抽象的类型,它可以包含抽象方法和默认方法,但不能有具体实现。
java程序设计习题集Java 习题集(综合)一、单选题1、下列语句序列执行后,j的值是int j=2;for( int i=7; i>0; i-=2 ) j*=2;A、15B、1C、60D、322、下列语句序列执行后,j 的值是int j=1;for( int i=5; i>0; i-=2 ) j*=i;A、15B、1C、60D、03、以下for循环的执行次数是for(int x=0;(x==0)&(x>4);x++);A、无限次B、一次也不执行C、执行4次D、执行3次4、若a和b均是整型变量并已正确赋值,正确的s w i t c h语句是A、switch(a+b); { ...... }B、switch( a+b*3.0 ) { ...... }C、switch a { ...... }D、switch ( a%b ) { ...... }5、若以下变量均已正确定义并赋值,下面符合J a v a语言语法的语句是A、b=a!=7;B、a=7+b+c=9;C、i=12.3* %4;D、a=a+7=c+b;6、设有定义int i=123; l ong j=456;下面赋值不正确的语句是A、j=i;B、j=(long)i;C、i=(int) j;D、i=j;7、现有一变量声明为b o o l e a n a a;下面赋值语句中正确的是A、aa=false;B、aa=False;C、aa="true";D、aa=0;8、若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是A、0B、4C、-2D、-49、若所用变量都已正确定义,以下选项中,非法的表达式是A、a != 4||b= =1B、'a' % 3C、'a' = 1/2D、'A' + 3210、以下选项中,合法的赋值语句是A、a = = 1;B、++i;C、a=a + 1= 5;D、!(++a!=b- -);11、若有定义int x = 13;则执行完语句x %= 8;后,x的值是A、0B、1C、5D、812、变量a定义为i n t类型。
java程序设计考试题库及答案一、单项选择题1. Java程序的基本单位是()。
A. 函数B. 程序C. 类D. 对象答案:C2. 在Java中,用于定义类的关键字是()。
A. structB. classC. interfaceD. package答案:B3. Java中,哪个关键字用于声明一个方法?()A. functionB. methodC. voidD. def答案:B4. 在Java中,哪个关键字用于声明一个类变量?()A. staticB. globalC. publicD. private答案:A5. Java中,哪个关键字用于声明一个类方法?()A. staticB. globalC. public答案:A6. 在Java中,哪个关键字用于声明一个包?()A. packageB. importC. exportD. include答案:A7. 在Java中,哪个关键字用于声明一个接口?()A. structB. classC. interfaceD. package答案:C8. 在Java中,哪个关键字用于声明一个私有方法?()B. publicC. protectedD. default答案:A9. 在Java中,哪个关键字用于声明一个构造方法?()A. constructorB. thisC. newD. init答案:B10. 在Java中,哪个关键字用于声明一个常量?()A. constB. finalC. staticD. volatile答案:B二、多项选择题1. 在Java中,以下哪些关键字用于控制访问权限?()A. publicB. privateC. protectedD. static答案:ABC2. 在Java中,以下哪些关键字用于控制方法的返回类型?()A. voidB. returnC. throwsD. synchronized答案:A3. 在Java中,以下哪些关键字用于声明数组?()A. newB. arrayC. []D. ArrayList答案:AC4. 在Java中,以下哪些关键字用于异常处理?()A. tryB. catchC. finallyD. throw答案:ABCD5. 在Java中,以下哪些关键字用于循环控制?()A. forB. whileC. do-whileD. switch答案:ABC三、判断题1. Java是一种编译型语言。
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类。
java程序设计习题Java程序设计习题一、基础概念题1. 解释Java中的“面向对象”编程概念。
2. 列举Java的基本数据类型及其取值范围。
3. 简述Java中的封装、继承和多态性。
4. 描述Java中的异常处理机制。
二、语法练习题1. 编写一个Java程序,实现两个整数的加法运算,并打印结果。
2. 创建一个Java类,包含一个私有变量和一个公共方法,该方法可以设置和获取该变量的值。
3. 编写一个Java程序,实现一个简单的循环结构,打印出1到10的数字。
三、数组和字符串操作题1. 编写一个Java方法,接受一个整数数组作为参数,返回数组中的最大值。
2. 创建一个Java程序,将用户输入的字符串反转并打印。
3. 实现一个方法,接受一个字符串数组,返回数组中所有字符串连接后的字符串。
四、控制流程题1. 编写一个Java程序,使用if-else语句判断一个数是正数、负数还是零。
2. 使用switch语句编写一个程序,根据用户输入的月份数字(1-12),打印出对应的月份名称。
3. 实现一个循环结构,打印出100以内的偶数。
五、面向对象编程题1. 创建一个名为`Person`的类,包含姓名、年龄和性别属性,以及相应的构造方法和getter/setter方法。
2. 编写一个继承自`Person`的类`Student`,添加一个属性表示学号,并重写`toString`方法。
3. 创建一个Java程序,实例化`Person`和`Student`对象,并使用多态性打印它们的信息。
六、集合框架题1. 使用Java的`ArrayList`实现一个程序,允许用户添加和删除元素,并打印列表内容。
2. 编写一个程序,使用`HashMap`存储学生的成绩,键为学生姓名,值为成绩,并实现查询和更新成绩的功能。
3. 实现一个程序,使用`LinkedList`存储一系列字符串,并提供插入、删除和遍历的功能。
七、输入输出题1. 编写一个Java程序,从控制台读取用户输入的字符串,并将其写入到一个文本文件中。
《java程序设计》1.填空题(1)Java程序编译成(class )文件(2)Java程序在(JVM )上执行(3)Java程序的执行方式是(半编译和半解释型)执行的(4)在Java程序中,创建对象的操作是(new )(5)在Java语言中,指明一个类从父类派生的关键字是(extends )(6)线程是进程中的一个执行(单元)(7)在Java语言中,指代父类的关键字是(super )(8)表明一个变量是数组的符号是([] )(9)在Java程序中,用关键字(import )引入其它文件中的类(10)在Java程序中定义包的关键字为(package )2.简答题(1)简述Java语言的特点。
答:Java语言的特点有以下几点:1.简单性。
2.面向对象。
3.平台无关性。
4.可移植性。
5.解释性。
6.离性能。
7.动态性。
8.可靠性和安全性。
9.多线程。
10.分布式处理。
(2)简述面向对象程序设计的三大基本特点。
(3)答:封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。
封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。
继承性:一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加新的方法或者对被继承类中的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性,Java中一个子类只能继承一个父类,Object类是所有类的最终父类。
多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类A可以指向其自身类和其导出类,一个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。
(4)解释Java程序跨平台的原理。
答:ava源码--->JVM虚拟机编译---->.class文件--->各个平台的Java虚拟机加载执行.class文件Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class 文件,也就是Java程序的跨平台性。
007 ---习题集Java程序设计课程习题集第1章Java语言概述1、Java源程序是由什么组成的?一个程序中必须有public类吗?Java源文件的命名有什么规定?2、应用程序和小应用程序的主要区别是什么?3、开发与运行应用程序需要经过哪些主要步骤和过程?4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?他们的作用是什么?5、Java语言特点是什么?6、分别用JDK、GEL和Eclipse编写能输出“Hello World!”的Java应用程序。
第2章数据类型及其运算1.试分析基本数据类型和引用数据类型的基本特点?2.请使用异或运算符^, 实现两个整数的交换。
3.编程序,显示螺旋方阵:1 2 3 412 13 14 511 16 15 610 9 8 74.下列哪个是合法的标识符:( )。
A、a=bB、_HelloC、2ndD、Chong qing5.下列哪些是合法的标识符()。
A、newB、classC、intD、const26.如果定义有变量double d1, d2=4.0则下列说法正确的是:A、变量d1,d2均初始化为4.0B、变量d1没有初始化,d2初始化为4.0C、变量d1,d2均未初始化D、变量d2没有初始化,d1初始化为4.07.判断题:所有的变量在使用前都必须进行初始化。
()8.内部数据类型byte的取值范围是:( )A、0~65, 535B、(-128)~127C、(-32,768)~32,767D、(-256)~2559.下列哪些是不能通过编译的语句:()A、int i = 32;B、float f = 45.0;C、double d = 45.0;D、char a=‘c’;10.判断题:Java中数据类型的长度与具体使用的机器相关。
()11.如果定义有double x;float y;int m,则表达式x*y-m的类型为():A、doubleB、floatC、intD、short12.如果定义有short s;byte b;char c,则表达式s*b+c的类型为():A、charB、shortC、intD、byte13.已知int i= 2147483647; ++i;则i的值等于多少()A -2147483648B 2147483647C 214748364814.已知byte i= 127; ++i;则i的值等于多少()A -128B 127C 12815.已知byte i= 127; i=i+1;这两行语句能否编译成功?()16.执行以下程序段int a=5,b; b=++a*3后b的值为:()A、17B、18C、16D、1517.如果x=3,y=5,则表达式x|y的值为:()A、15B、8C、1D、718.如果int a=3,b=2,则执行a*=b+8后a的值为:()A、20B、14C、30D、1619.若所用变量都已正确定义,以下选项中,非法的表达式是:()A、a!=4||b==1B、'a'%3C、'a'=1/2D、'A'+3220.设有定义语句int a[]={1,1,2}; 则以下对此语句的叙述错误的是( )。