河南理工大学JAVA课后习题.docx

上传人:b****2 文档编号:24355519 上传时间:2023-05-26 格式:DOCX 页数:24 大小:29.81KB
下载 相关 举报
河南理工大学JAVA课后习题.docx_第1页
第1页 / 共24页
河南理工大学JAVA课后习题.docx_第2页
第2页 / 共24页
河南理工大学JAVA课后习题.docx_第3页
第3页 / 共24页
河南理工大学JAVA课后习题.docx_第4页
第4页 / 共24页
河南理工大学JAVA课后习题.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

河南理工大学JAVA课后习题.docx

《河南理工大学JAVA课后习题.docx》由会员分享,可在线阅读,更多相关《河南理工大学JAVA课后习题.docx(24页珍藏版)》请在冰豆网上搜索。

河南理工大学JAVA课后习题.docx

河南理工大学JAVA课后习题

第1章

(一)填空题

(1)C++是由C语言发展起来的,而Java是由Oak软件发展起来的。

(2)随着Java语言的不断发展,Sun公司将Java细分为三个版本,三个版本的简称为J2SE、J2EE、J2ME。

(3)Java本身的编译器是由语言编写的,运行系统的JVM(Java虚拟机)则是用语言实现的。

(4)多线程是Java程序的,它能同步共享数据,处理不同的事件。

(5)Java虚拟机执行过程的三个特点是:

、、。

(6)Java的机制使得程序员从手工管理内存中解脱出来。

(二)选择题

(1)线程是Java程序的(C)机制。

A.检查B.解释执行C.并行C.并发

(2)下面对于Java和C++的区别,描述不正确的是(C)。

A.Java没有指针而C++有B.Java具有跨平台性而C++没有

C.Java支持多继承而C++只支持单继承D.Java提供内存自动管理而C++不能

(3)Java作为编程语言,(D)特点是Java不具有的。

A.利用了面向对象的技术基础B.可移植性

C.独立于硬件结构D.多重继承

(4)Java和C++都是面向对象的语言,他们所具有的相同的特点是(下面都不对)。

A.运算符重载B.多重继承性C.与硬件无关D.指针操作

(5)Java语言具有许多优势和特点,以下(D)特点能保证软件的可移植性。

A.健壮性B.安全性C.跨平台D.动态性

(6)在下列说法中错误的是(A)。

A.多行注释语句是以//开始B.Java语言是区分大小写的

C.Java语言是以类为程序的基本单位的D.Java程序有执行速度快的特点

(7)下面(B)不是Java虚拟机(JVM)执行过程的特点。

A.多线程B.及时执行C.动态连接D.异常处理

(8)下面(D)不是Java语言的特点。

A.分布式计算B.健壮性C.跨平台D.静态性

(9)下面不属于Java语言特点的是(C)。

A.动态性B.解释执行C.面向过程D.多线程

(10)与Java语言安全性有关的一项是(B)。

A.并发执行B.访问权限检查C.封装性D.异常处理

(11)下面不属于Java语言实现机制的是(D)。

A.并行机制B.Java虚拟机C.垃圾回收机制D.代码安全检测

(12)下列属于Java语言垃圾回收机制的一项是(A)。

A.内存跟踪B.异常处理C.代码安全检测D.健壮性

第2章

(一)填空题

(1)Java编译器将用Java语言编写的源程序编写成。

(2)Java程序基本上可以分成两类,即和。

(3)Java程序能在WWW浏览器上运行的是程序。

(4)Java源程序文件和字节码文件的扩展名分别为和。

(5)Java源程序的运行,至少要经过和两个阶段。

(6)与结构化编程语言不同,Java是一种完全且与平台无关的语言。

(二)选择题

(1)下列()注释风格在Java是错误的。

A./**comment**/B./*comment*/C./*commentD.//comment

(2)Java是一种()语言。

A.编译型B.解释型C.混合型D.以上都不是

(3)Java作为编程语言,()是最基本的元素。

A.对象B.方法C.包D.接口

(4)JDK中,用于编译程序的工具是()。

A.JavacB.JavapC.JavaD.Javadoc

(5)下列描述中,不正确的是()。

A.一个Java源文件不允许有多个公共类B.Java通过接口支持多重继承

C.Java不支持多线程D.Java程序主要分为Application和Applet两类

(6)在创建Applet的应用程序时,用户应考虑的问题是()。

A.窗口如何创建B.绘制的图形在窗口中的位置C.程序的框架D.事件处理

(7)下列选项中,不属于Java核心包的一项是()。

A.Javax.swingB.Java.ioC.Java.utilD.Java.lang

(8)JDK安装完成后,主要的命令,如Javac、Java等,都存放在根目录的()文件夹下。

A.binB.jreC.docD.include

第3章

(一)填空题

(1)执行下列程序,输出的结果为。

PublicclassTeat1{

Publicstaticvoidmain(String[]args){

Inta=16

Intb=2

Do{

a/=b;

}while(a>3)

System.out.println(a);

}}

(2)执行下列程序,输出的结果为。

PublicclassTest2{

Publicstaticvoidmain(Stringargs){

Intx=5;

Doubley=22.5;

Strings=”abc”;

S+=x+y;

System.out.println(c);

}

}

(3)在switch分支语句中的常量类型必须和表达式的类型,并且每个子句的常量值必须互不相同。

(4)在使用分支语句编写程序的时候,表达式只能返回int、byte、、char类型的值。

(5)在分支语句中break语句用于跳出语句。

(6)条件语句控制程序的流程是通过判断来进行的。

(7)分支语句包括和。

(8)循环语句的控制机制是。

(9)循环语句包括四部分:

、、和。

(10)循环语句的三种循环结构:

、、、。

(11)在Java程序中,do-while循环语句块至少被执行次。

(12)在for循环语句的迭代部分可以使用进行多个操作。

(二)选择题

(1)下面选项不是表达式语句的是()。

A.c++;B.a=b+c;C.a+=b;D.System.out.println(“A”)

(2)下列说法不正确的是()。

A.表达式可以是其他表达式的操作数B.单个常量或变量可以作为表达式

C.表达式和表达式语句是一样的D.表达式的类型可以和操作数的类型不一样

(3)下面选项符合Java语言语法的语句是()。

A.inta=6;instb=7;B.inta=4,intb=2;

C.doublea=b*/.8;D.inta=9,b=1,c=8;a=b+c=a-b+c;

(4)执行下列程序,输出结果为()。

PublicclassB{

Publicstaticvoidmain(String[]args){

Intx=5;

Doubley=10.5f;

Floatz=(float)(x*y);

System.out.println(z);

}

}

A.50.0B.52.0C.50.5D.52.5

(5)下列程序输出的结果为()。

PublicclassA{

Publicstaticvoidmain(String[]args){

Inta=3.b=4,c=5,d=6,e=7;

If(ad)System.out.println(“who”);

ElseSystem.out.println(“why”);

}

}

A.whyB.whowhyC.whoD.没结果

(6)下面选项不属于Java的流程控制结构的是()。

A.分支语句B.循环语句C.赋值语句(表达式结构)D.递归

(7)下面不是合法的条件语句的一项是()。

A.if(a>b){…}B.if(a=1){…}C.if(a>b&&b>c){…}D.if(3>2){…}

(8)执行下列代码之后,输出的结果为()。

PublicclassH{

Publicstaticvoidmain(String[]args){

Intsum=2,a=3,b=5,c=7;

While(a

While(b!

=c){

sum+=b;

b++;

}

b=4;

a++;

}

System.out.println(sum);

}

}

A.23B.24C.25D.26

(9)以下说法正确的是()。

Inta=10;

Intt=0;

do{t=a++;}while(t<=10);

A.一次都不执行B.执行一次C.执行两次D.无限次执行

(10)下面语句中不是循环语句的是()。

A.for语句B.while语句C.switch语句D.do-while语句

第4章

(一)判断题

(1)所谓对象,就是一组类的集合。

()

(2)方法的声明和方法调用的形式一样。

()

(3)类是对一组具有相同属性、表现相同行为的对象的描述。

()

(4)类成员只有三种访问控制级别:

公有(public)、受保护(protected)和私有(private)。

(5)Java语言中对象传递的是引用而不是值。

()

(6)所谓非静态的成员变量是指每一次创建对象都会分配一个存储空间来储存这个变量,每一个对象都拥有这个变量的存储空间,这个变量是属于类的,是类的变量。

()

(二)填空题

(1)面向对象的语言将客观世界都看成由各种对象所组成。

具有共同特征和行为的对象组成类,类是变量和的集合。

(2)在面向对象方法中,类的实例被称为。

(3)在Java中,对象使用应遵循的原则是。

(4)在Java中,类描述的是具有相同属性的。

(5)在Java程序里,对象是类的一个。

(6)在Java程序结构里,最基本的概念是类和。

(7)引用static类型的方法时,可以使用做前缀,也可以使用做前缀。

(8)类中的方法是一个特殊的方法,其名称与类名相同。

(9)一个类主要包含两个成员要素:

和。

(10)静态数据成员既可以通过来访问,也可以通过来访问。

(11)Java是面向对象的语言,对象是客观事物的,对象与之是一一对应的。

(12)定义一个类包括定义类头和定义两个部分。

(13)Java语言以为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

(14)把对象实例化可以生成多个对象,使用运算符为对象分配内存空间。

(15)在Java中有一种叫做特殊方法,在程序中用它来对类成员进行初始化。

(三)选择题

(1)下面关于类变量和实例变量的叙述中描述错误的是()。

A.实例变量是类的成员变量

B.类变量第一次用到时被初始化,以后创建其他对象时就不再进行初始化

C.实例变量在每次创建对象时都被初始化

D.实例变量是用statiic修饰的成员变量

(2)下面()修饰符可以使一个类中的成员变量能被外部类调用。

A.publicB.protectedC.privateD.没有修饰符

(3)定义类中可以用来修饰类名的修饰符是()。

A.privateB.abstractC.nativeD.protected

(4)定义类头时,不可以放到类名前面的关键字是()。

A.publicB.abstractC.finalD.static

(5)关于用关键字private修饰的成员变量,下列说法正确的是()。

A.可以被其他包的类访问B.只能被同一个包中的其他类访问

C.只能被该类自身所访问或修改D.可以被其他包中的该类的子类访问

(6)下面关于类的说法中,错误的是()。

A.类是经过抽象的共有属性的集合B.类是Java程序的核心和本质

C.类是对象的模板,二类对象则是类的实例化结果

D.在面向对象的编程语言中,类不是一个独立的程序单位

(7)下面有关变量调用的语句正确的是()。

PublicclassNumber{

Inta=2;

Floatb=12;

Staticintc=13;

Publicstaticvoidmain(stringargs[]){

Numberone=newNumber();}

}

A.one.aB.Number.aC.number.aD.Number.one

(8)设Test为已定义的类,下面声明类Test对象a的语句正确的是()。

A.Testa=Test();B.publicTesta;C.Testa=newTest();D.publicTesta=newTest();

(9)下面()不是对象的特征。

A.对象的行为B.对象的状态C.对象的局部变量D.对象的标识符

(10)定义抽象类时所用到的关键字是()。

A.finalB.publicC.abstractD.protected

(11)定义一个公有double型符号常量PI,下面的语句中正确的是()。

A.publicfinaldoublePI;B.publicfinalstaticdoublePI=3.14159;

C.publicfinalstaticdoublePI;D.publicstaticdoublePI=3.14159;

(12)有一个类B,下面为其构造方法的声明,正确的是()。

A.voidB(intx){}B.B(intx){}C.voidb(intx){}D.b(intx){}

(13)为B类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为()。

A.abstractvoidf()B.publicvoidf()C.finalvoidf()D.staticvoidf()

第6章

(一)判断题

(1)抽象类不能实例化。

()

(2)一个类中,只能拥有一个构造方法。

()

(3)内部类都是非静态的。

()

(4)接口中的所有方法都没有被实现。

()

(5)实现一个接口,则在类中一定要实现接口中的所有方法。

()

(6)在Java程序中,通过类的定义只能实现单一继承。

()

(7)语句“importjava.applet.Applet;”中最后的Applet代表的是类(class)。

()

(二)填空题

(1)抽象方法只能存在于抽象类中,抽象方法用关键字来修饰。

(2)Java语言中是所有类的根。

(3)new是对象的操作符。

(4)我们在Java程序中,把关键字加到方法名称的前面,来实现子类调用父类的方法。

(5)在Java程序里,同一类中重载的多个方法具有相同的方法名和的参数列表,重载的方法可以有不同的返回值类型。

(6)如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的必须是不同的,这种现象称为方法的重载。

(7)Java程序引入接口的概念,是为了弥补只允许类的的缺憾。

(8)Java语言通过接口支持继承,使类继承具有更灵活的扩展性。

(9)接口是一种只含有抽象方法或的特殊抽象类。

(10)abstract方法与final并列修饰同一个类。

(11)每个applet程序必须有一个类是类的子类。

(12)在Java程序里,类之间实现共享属性的机制称为。

(13)在Java程序里,在一个类内部嵌套定义的类称为。

(14)一个类可以从它的父类中继承所有的属性和方法。

采用这种方法可以提高软件的。

(15)接口是包含常量和抽象方法的一个特殊的。

(16)在运行时,由Java解释器自动引入,而不用import语句引入的包是。

(17)一个子类一般比其基类封装的功能要。

(18)标记成的类的成员不能由该类的方法访问。

(19)如果一个类包含一个或多个abstract方法,它就是一个类。

(20)接口中的数据成员是,接口中没有什么方法,所有成员方法都是方法。

问答题

1.JDK安装完成后,如何设置环境变量?

2.什么是类?

什么是对象?

3.线程的生命周期有哪几部分组成?

各自的功能是什么?

4.简述Java应用程序与Applet小程序在开发过程中的区别。

5.用例子说明Java中基于Socket的C/S模式的服务器端的编程模式。

(只要求写出必要的语句,其他语句用省略号表示)

6.Java实现多线程的方法有哪些?

7.常用的Java开发平台有哪些?

8.如何定义方法?

方法有哪些类型?

9.什么是线程和进程?

两者的区别是什么?

程序设计

1.用循环结构编程实现显示输出下面由数字构成的图案。

987654321

87654321

7654321

654321

54321

4321

321

21

1

2.定义一个实现常用数学运算的类MyMath,类中提供max()、min()、sum()与average()四个静态方法,每个方法带有三个整形参数,分别实现对三个整数求取最大值、最小值、和值及平均值的运算。

在主类中对任意输入的三个整数,调用MyMath类的四种静态方法,求取结果并输出。

3.创建一个Frame类型的窗口,在窗口中放置必要的标签、文本、列表框、单选按钮及复选框等组件,用来显示一名学生的个人基本信息。

4.求水仙花数:

水仙花数是这样的一个三位正整数,此数各数字的立方之和恰好等于该数之值。

例如153就是一个水仙花数:

153=13+53+33。

编程找出所有这样的水仙花数并输出到屏幕。

5.编写一个Application程序,程序中包括计算机类Computer,生成几个Computer类对象并输出相关信息。

Computer类具有品牌、产地、CPU类型、内存容量、硬盘大小、是否带有刻录光驱、购买日期、购买地点、价格等属性。

Computer类包括以下几类方法:

①两个构造方法;

②dispMessages()方法,该方法输出计算机对象的一些属性信息。

6.创建一个Frame类型的窗口,采用GridLayout布局,依照Windows的简单计算器的样式,在窗口中创建一个计算器的界面。

7.杨辉三角是中国古代著名的数学问题,其前几行的内容如下图所示:

1

11

121

1331

14641

15101051

……

通过观察,不难发现,杨辉三角每一行中左右边界元素值均为1,而非边界元素的值等于其上一行对应位置元素值与上一行对应位置左邻元素值之和。

编程实现对任意输入的正整数n值(1≤n≤10),按上面的格式输出杨辉三角前n行的内容。

8.定义student类,其中包括四个私有变量(name、age、sex、score)、一个构造方法和show()方法。

各成员的含义如下。

变量name为字符串类型String,用于存储学生的姓名。

变量age为int类型,用于存储学生的年龄。

变量sex为boolean类型,用于存储学生的性别,男生为false,女生为true。

变量score为double类型,用于存储学生的成绩。

构造方法包括四个参数,用于为变量(name、age、sex和score)赋值。

Show()方法无参数,用于输出变量(name、age、sex和score)的值。

第一部分Java的类

1.请解释Java语言的跨平台特性。

参考答案:

Java的跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。

他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。

之所以能实现跨平台的特性。

主要得益于Java虚拟机(JVM),JVM解释器在运行Java应用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。

2.请列举JAVA语言的主要特点

参考答案:

JAVA语言有很多特点,主要包括①跨平台性:

一个应用可以不经过修改直接运行到不同的平台上。

②面向对象:

JAVA语言是一门面向对面的语言,可以使用对象的属性和行为,可以使用面向对象的思想进行分析设计,并实现整个应用。

③解释执行JAVA应用时,JVM中的解释器将解释类文件,生成符合当前平台的字节码。

④自动回收:

JAVA应用中的垃圾回收是自动进行的,JVM中的后台线程将监视内存中数据的使用,当内存中的数据不再被引用时,将被作为垃圾回收,而不需要程序员动手回收。

3.请说明一个JAVA类中主要包含哪几个元素?

并说明每种元素的作用。

参考答案:

JAVA类中主要包含属性、方法、构造方法、块以及内部类。

属性用来定义对象的数据;方法用来定义对象的行为;构造方法可以用来创建对象;块能够用来在类加载时执行操作或者在每次实例化前执行通用操作;内部类作为类的一个成员存在,能够访问外部类的属性和方法。

4、请说明构造方法的作用和特征

参考答案:

构造方法的作用是用来创建对象,使用new关键字调用。

构造方法的名字必须与类的名字相同,并且大小写敏感,同时构造方法不能声明返回值类型,可以使用任意一种访问修饰符,但是不能使用其他修饰符进行修饰,如static、final、abstract等修饰符都可以修饰构造方法。

5、什么事方法重载(overload)?

参考答案:

方法重载指的是在一个类中可以声明多个相同名字的方法,而方法的形式参数有区别。

调用这些同名的方法时,JVM会根据实际参数的不同绑定到不同的方法。

6、请列举Java语言中的权限访问修饰符,并说明每种权限的含义。

参考答案:

Java语言中有四种权限访问修饰符,即public、protected、同包以及private,public表示公共权限,即任何包中都可以访问:

protected表示受保护权限,即同包中可以访问,同包中的子类可以访问:

同包权限是默认权限,即不显示指明权限修饰符的时候就是同包权限,表示只有同包中可以访问:

private是私有权限,表示只能在本类中访问。

7、请列举Java语言中的八种基本数据类型,并说明每种数据类型的含义及长度。

参考答案:

Java语言的八种基本数据类型有:

byte字节型,8位长度:

short短整型,16位长度,int整型,32位长度:

long长整型,64位长度:

float单精度浮点型。

32位长度:

double双精度浮点型,64位长度:

char字符型,16位长度:

boolean型,表示逻辑值,有true和false两个值,分别表示真和假

8.什么叫引用类型,引用类型和基本数据类型有什么区别?

参考答案:

Java语言中除了基本数据类型之外的类型,都称为引用类型。

引用类型就是类的类型,所有的对象都是引用类型,包括数组对象。

引用类型必须使用new调用构造方法进行赋值,引用类型的变量拥有自己的属性和方法,可以使用圆点调用自己的属性和方法。

基本数据类型直接使用=号进行赋值,且没有自己的属性和方法,往往都在声明属性或方法时使用。

9.对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

参考答案:

使用“=”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串。

使用new进行赋值,则每次都创建一个新的字符串。

10.String类是一个“不可变类”,请解释“不可变类”的含义。

参考答案:

所谓的不可变类

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1