Java程序设计课堂练习题
- 格式:doc
- 大小:94.00 KB
- 文档页数:20
《Java程序设计》练习题一一、单项选择题1、下列是继承Thread类后得到的子类,请选择正确的一项。
( )A、class A4 extends ThreadB、class A4 implements Thread{ {void run( ) public void run( ){ {//….. //…..} }} }C、class A4 extends ThreadD、class A4 extends Thread{ {public void run( ) run( ){ {//…//…} }} }2、下列关于Unicode-亨符的说法中,不正确的一项是( )。
A、Unicode字符集比ASII字符集丰富B、Unicode字符是16位无符号数C、字符常量’a’以八进制数表示为’\142’D、字符常量’a’以八进制数表示为’\14l’3、在Java语言中,那一个是最基本的元素?()A、方法B、包C、对象D、接口4、while循环和do……while循环的区别是:()A、没有区别,这两个结构任何情况下效果一样B、while循环比do……while循环执行效率高C、while循环是先循环后判断,所以循环体至少被执行一次D、do……while循环是先循环后判断,所以循环体至少被执行一次5、下列说法中,错误的一项是()。
A、MouseAdapter是鼠标运动适配器B、WindowAdapter是窗口适配器C、ContainerAdapter是容器适配器D、KeyAdapter是键盘适配器6、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成主类实例的初始化工作。
A、start( )B、stop( )C、init( )D、paint( )7、下列哪一项不是Applet的生命周期方法?()A、start()B、getCodeBase()C、destroy()D、init()8、Frame的默认的布局管理器是下列哪一个( )A、FlowLayoutB、CardLayoutC、GridLayoutD、BorderLayout9、下列说法中,正确的一项是( )。
java程序设计第1-4章练习题参考答案(1)一、选择题1.下面供选字符序列中,不属于...Java语言关键字的是( A ) A.goto B.null C.false D.native2.以下是关于Java语言关键字的叙述,其中正确的是( C )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字3.下述字符组合不能作为Java程序标识符的是(D)A.Aa12 B.XC.y D.5x4.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.newC.java D.return5.下列字符组合不能作为Java整型常量的是( A )A.078B.0x3ACBC.5000D.0x3ABC6.设有如下程序:public class Test {public static void main(String[] args) {String foo=args[1];String bar=args[2];String baz=args[3];System.out.println("baz= "+baz);}}下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C )A) java Test 2222 B) java Test 1 2 3 4C) java Test 4 2 4 2 D) java Test 4 3 2 17.在Java语言中,int类型数据的长度是( C )A.1个字节B.2个字节C.4个字节D.8个字节8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。
A) java Hello.class B) Hello.class C) java Hello.java D) java Hello9.执行以下代码,输出结果是( B )int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true10.下列修饰符中与访问控制无关的是(C)。
目录一、判断题................................................. - 1 -二、选择题................................................. - 3 -三、填空题................................................ - 15 -四、写出下列程序完成的功能.................... 错误!未定义书签。
五、写出下面程序的运行结果.................... 错误!未定义书签。
六、使用Java语言编写程序................................. - 24 -七、简答题.................................... 错误!未定义书签。
Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( T ) 4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F) 6.Final类中的属性和方法都必须被final修饰符修饰。
( F )(静态的必须被静态的修饰符修饰)7.最终类不能派生子类,最终方法不能被覆盖。
(T )8.子类要调用父类的方法,必须使用super关键字。
( T )9.一个Java类可以有多个父类。
( F )10.如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p 是正确的。
( F )11.一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
( T ) 12.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。
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. 单选题1. 下面语句执行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;A. 4B. 5C. 6D. 7正确答案:B2. 下列方法中可以用来创建一个新线程的是( )。
A. 实现ng.Runnable 接口并重写start()方法B. 实现ng.Runnable 接口并重写run()方法C. 继承ng.Thread 类并重写run()方法D. 实现ng.Thread 类并实现start()方法正确答案:C3. 设有定义int i=123; long j=456; 下面赋值不正确的语句是( )A. j=i;B. j=(long)i;C. i=(int)j;D. i=j;正确答案:D4. 下列语句序列执行后,i的值是( )。
int i=16; do { i/=2; } while( i > 3 );A. 16B. 8C. 4D. 2正确答案:D5. 给出如下代码: class test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问( )。
A. 将private int m 改为protected int mB. 将private int m 改为public int mC. 将private int m 改为static int mD. 将private int m 改为int m正确答案:C6. 下列语句序列执行后,k 的值是( )。
int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; }A. 31B. 32C. 2D. 33正确答案:C7. 下列程序段执行后的结果是( )。
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程序的跨平台性。
《Java程序设计》练习题第一章 Java编程基础一、选择题1、可以使用【】实用程序编译Java程序。
A.java B.javac C.javadoc D.cmd2、可以使用【】实用程序运行java应用程序。
A.java B.javac C.javadoc D.cmd3、可以使用【】实用程序从Java源文件代码中抽取Java文档注释,生成相应的HTML帮助文档。
A.java B.javac C.javadoc D.cmd4、Java编译单元(源程序文件)的扩展名为【】A..java B..class C..doc D..exe5、编译Java源程序文件产生的字节码文件的扩展名为【】A..java B..class C..html D..exe6、以下Java应用程序执行入口main方法的声明中,正确的是【】A、public static void main()B、public static void main(String[] args)C、public static int main(String[] args)D、public void main(String[] args)7、Java属于以下哪种语言?【】A.机器语言 B.汇编语言C.高级语言 D.以上都不对8、下面哪种类型的文件可以在Java虚拟机中运行?【】A..java B..jre C..exe D..classs9、Java程序中声明包的关键字是【】A、javaB、packageC、javadocD、cmd10、如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?【】A、d:\jdk;B、d:\jdk\bin;C、d:\jre\bin;D、d:\jre;11、下列说法中,不正确的是【】。
A、一个Java源文件编译通过后,得到的结果文件数也只有一个B、一个Java源文件经过编译后,得到的文件的扩展名一定是.classC、一个Java源文件只能有一个public类定义,其类名与源文件名相同D、一个Java源文件可以包含多个类12、安装好JDK后,在其bin目录下有许多exe可执行文件,其中“”命令的作用是以下哪一种?【】。
A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器13、以下关于变量的说法错误的是【】A.变量名必须是一个有效的标识符B.变量在定义时可以没有初始值C.变量一旦被定义,在程序中的任何位置都可以被访问D.在程序中,可以将一个byte类型的值赋给一个int型类型的变量,不需要特殊声明14、假设int x=2,三元表达式x>0?x+1:5的运行结果是以下哪一个?【】A.0 B.2 C.3 D.515、下面的运算符中,用于执行除法运算的是哪个?【】A./ B.\ C.% D.*16、下面哪种写法可以实现访问数组arr的首个元素?【】A.arr[0] B.arr(0) C.arr[1] D.arr(1)17、以下哪个选项可以正确创建一个长度为3的二维数组?【】A.new int[2][3] B.new int[3][]C.new int[ ][3] D.以上答案都不对18、关于变量的作用域,下列说法错误的是【】A.类成员变量的作用域为类定义体B.方法参数的作用域为方法体C.对于for语句中定义的变量,当for语句执行完时,该变量就消亡了D.在方法void f(int i)的for语句块中,可以声明变量“int i;”19、Java字符类型采用的是Unicode编码方案,每个Unicode码占用的位数是【】。
A.8B.16 C.32 D.6420、下列赋值语句中,不合法的是【】。
A.float f= B.float f2=C.double d= D.double d2=二、填空题1、Java的三个技术平台分别是_java se___、__java ee__、__javame__。
2、Java程序的运行环境简称之为_jre___。
3、编译Java程序需要使用__javac__命令。
4、_____path____环境变量用来存储Java的编译和运行工具所在路径,而___classpath__环境变量则用来保存Java虚拟机要运行的“.class”文件路径。
5、在Java语言中,main()方法的参数是表示命令行参数的String数组,其中,__args[0]__表示第一个参数。
6、Java应用程序的入口方法是_____main()__,用于控制程序的开始和结束。
7、Java系统运行时,通过__自顶垃圾收集___机制周期性地释放无用对象所使用的内存,完成对象的清除。
8、Java中的程序代码都必须在一个类中定义,类使用_class__关键字来定义。
9、布尔常量即布尔类型的两个值,分别是__true__和__false___。
10、Java中的注释可分为三种类型,分别是__单行___、___多行____、____文档___。
三、判断题1、Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。
2、Java语言的语法与C或C++类似,也支持面向过程的程序设计技术。
3、Java提供了自动垃圾收集机制进行内存管理,减小了内存出错的可能性。
4、Java语言的平台无关性使得Java程序可以跨平台运行。
5、Java虚拟机是实现Java语言平台无关性的基础。
四、简答题1、简述JRE与JDK的区别。
JRE,它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。
它包含编译工具、解释工具、文档制作工具、打包工具等多种与开发相关的工具,是提供给Java开发人员使用的。
初学者学习和使用Java语言时,首先必须下载和安装JDK。
JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。
2、什么是方法重载?方法重载指的是在一个类中可以声明多个同名的方法,而方法中参数的个数或者数据类型不一致。
调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。
第二章面向对象思想一、选择题1、类的定义必须包含在以下哪种符号之间?【】A.方括号[] B.花括号{} C.双引号“” D.圆括号()2、在以下什么情况下,构造方法会被调用?【】A.类定义时B.创建对象时C.调用对象方法时 D.使用对象的变量时3、在类的继承关系中,需要遵循以下哪个继承原则?【】A.多重B.单一 C.双重 D.不能继承4、在Java语言中,以下哪个关键字用于在方法上声明抛出异常【】A、tryB、catchC、throwsD、throw5、关于super关键字以下说法哪些是不正确的【】。
A.super关键字可以调用父类的构造方法B.super关键字可以调用父类的普通方法C.super与this不能同时存在于同一个构造方法中D.super与this可以同时存在于同一个构造方法中6、类中的一个成员方法被下面哪个修饰符修饰时,该方法只能在本类被访问?【】。
A.public B.protected C.private D.default7、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?【】A、inheritsB、implementsC、extendsD、modifies8、System类位于以下哪个包中?【】。
A、 B、 C、 D、9、以下关于继承的说法,正确的是【】。
A.继承可以避免代码复制和相关的代码维护等问题B.Java语言中一个子类可以继承多个基类(多重继承)C.Java语言不允许实现多个接口D.子类可以继承父类的方法,但不能重新改写父类的方法10、下列修饰符中,不能用来修饰类的是【】。
A.public B.abstract C.final D.static二、填空题1、面向对象的三大特征是__封装___、___继承___和____多态___。
2、在Java中,可以使用关键字__new___来创建类的实例对象。
3、定义在类中的变量被称为__成员变量_____,定义在方法中的变量被称为__局部变量___。
4、在非静态成员方法中,可以使用关键字_this_访问类的其他非静态成员。
5、被static关键字修饰的成员变量被称为__静态变量____,它可以被该类所有的实例对象共享。
6、在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为__内部类___。
7、在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术称为___继承__。
8、一个类如果实现一个接口,那么它就需要实现接口中定义的全部_方法_,否则该类就必须定义成____抽象类__。
9、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用_import_关键字。
10、一个类可以从其他的类派生出来,派生出来的类称为__子类__,用于派生的类称为__父类__或者_基类__。
三、判断题1、在定义一个类的时候,如果类的成员被private所修饰,该成员不能在类的外部被直接访问。
2、Java中的每个类都至少有一个构造方法,一个类中如果没有定义构造方法,系统会自动为这个类创建一个默认的构造方法。
3、声明构造方法时,不能使用private关键字修饰。
4、类中static修饰的变量或方法,可以使用类名或对象的引用变量访问。
5、方法内部类中不能访问外部类的成员变量。
四、简答题1、构造方法和普通的成员方法有什么区别?2、抽象类和接口的区别是什么?3、什么叫多态?1.构造方法是类的一个特殊成员,它会在类实例化对象时被自动调用。
而普通方法只有在使用的时候才会被调用。
在定义构造方法时要求方法名与类名相同、在方法名的前面没有返回值类型的声明、在方法中不能使用return语句返回一个值。
2.在Java中,使用abstract关键字修饰的类称之为抽象类。
抽象类是不能被实例化的,通常需要写一个子类来继承抽象类,同时实例化子类来获得该类的对象。
抽象类通常用于表示一种抽象的概念。
接口可以说是一种特殊的抽象类,接口中只能定义常量和抽象方法。
由于接口的特殊性,在定义时需要使用interface关键字。
3.多态意味着一个对象有着多种形态,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。
简单的说,多态就是使用父类类型的变量引用子类对象,根据被引用子类对象的特性,程序会得到不同的运行效果。
第三章多线程一、选择题1、Thread类位于下列哪个包中?【】A.B. C. D.2、线程调用sleep()方法后,该线程将进入以下哪种状态?【】A.就绪状态 B.运行状态C.阻塞状态 D.死亡状态3、在以下哪种情况下,线程进入就绪状态?【】。