当前位置:文档之家› Java面向对象程序设计—习题和答案

Java面向对象程序设计—习题和答案

Java面向对象程序设计—习题和答案
Java面向对象程序设计—习题和答案

1.11 习题

1.Java起源于___________年

2.Java的特点包含:__________、___________、___________、___________和___________。

3.Java体系结构包含:

A.Java编程语言

B.Java类文件格式

C.Java API

D.JVM。

4..javac的作用是:

A.将源程序编译成字节码

B.将字节码编译成源程序

C. 解释执行Java字节码

D.调试Java代码

5.什么是Java虚拟机?

6.编写一个Java程序,输出“Hello Java!”

答案:

1.1995

2. 简单性、一次开发到处运行、分布式、健壮性、安全性

3. ABCD

4. A

5. JVM是Java虚拟机(Java Virtual Machine)的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。

6.

Public class MyClass

{

public static void main(String[] args)

{

System.out.println("Hello Java!");

}

}

2.11 习题

1.Java的基本数据类型包含___________、___________、___________、___________、___________、___________、___________和___________。

2.变量主要用来___________,是用标识符命名的数据项,是程序运行过程中可以改变值的量。

3.下面哪些表示符是正确的?

A.MyWorld

B.parseXML

C.-value

D.&maybe

4.写出表达式b!=3&&5/a>a+b的结果,设a=3,b=4

A.true

B.false

C.1

D.2

5.程序的控制结构分为那几种,分别表示什么含义?

6.编写Java语言程序,给定文件地址C://myFile/a/b/c/d/a.text,试通过字符串操作获得文件名。

答案

1. byte、short、int、long、char、int、float、double

2.保存数据

3.AB

4.B

5. 程序的结构大致可分为三类:顺序、选择和循环。顺序结构即语句按预订顺序依次执行,无需干预。流程的控制也主要体现在“选择”和“循环”。

选择对应于分支结构,利用条件可以实现程序中的哪些部分要执行而哪些部分要被跳过。条件模拟了日常中的选择行为。

循环结构可以使特定的代码块反复执行。当然,循环不是无限次的执行代码块,它根据条件判断循环的开始和结束。当有大量要处理的代码,而且不能确定这些代码需要执行多少次时,循环就显得尤其有用。

6.

public class MyClass {

public static void main(String[] args) {

String s = "C://myFile/a/b/c/d/a.text";

int i = https://www.doczj.com/doc/0f12849538.html,stIndexOf("/");

String s2 = s.substring(i + 1, s.length());

System.out.println(s2);

}

}

3.10 习题

1. 面向对象的语言通常具有以下特征:___________、___________和___________。

2.面向过程编程模式的程序的处理过程为______________________。

3. 面向对象程序设计方法的优点包含:

A.可重用性B可扩展性

C.易于管理和维护

D.简单易懂

4. Java中基本的编程单元为:

A.类

B.函数

212

C.变量

D.数据

5. 类之间存在以下几种常见的关系:

A.“USES-A”关系

B.“HAS-A”关系

C.“IS-A”关系

D.“INHERIT-A”关系

6.什么是构造器,它的作用是什么

7.编写一个Java片段,定义一个表示学生的类,包含学生的姓名、学号、班级。

8.什么是包,如何定义、导入包?

9.什么时访问控制,有哪些访问控制?

答案:

1.对象生成功能、消息传递机制、类和遗传机制

2. 参数输入→函数/过程代码→结果输出

3.ABC

4.A

5.ABC

6. 在创建对象时,他的成员可以由构造器方法进行初始化。构造器是一特殊的方法,它具有和它所在的类完全一样的名字。一旦定义好一个构造器,创建对象时就会自动调用它。

7.public class Student {

public String name;

public String age;

public String id

}

8.Java中提供包将不同类组织起来进行管理,借助于包可以方便地组织自己的类代码,并将自己的代码与别人提供的代码库分开管理。

要想将类放入指定的包中,就必须使用package语句,具体语法如下。

package <包名>;

当一个类要使用与自己处在同一个包中的类时,直接访问即可。若要使用其他包中的类就必须使用import语句,基本语法如下。

import <包名>.*;

import <包名>.类名;

9.. 访问控制是指以:一个类中的方法代码是否能够访问(调用)另一个类中的成员以及一个类是否能够继承其父类的成员。

访问权限可分为4种:公共类型、私有类型、默认类型和保护类型

4.11 习题

1. 被继承的类一般称为___________或___________,继承的类称为___________。

213

2.在继承中发生的强制类型转换为___________。

3.设有下面两个类的定义:

class Person {}

class Student extends Person {

public int id; //学号

public int score; //总分

public String name; // 姓名

public int getScore(){return score;}

}

类Person和类Student的关系是()。

A、包含关系

B、继承关系

C、关联关系

D、无关系,上述类定义有语法错误

4. 设有下面的两个类定义:

public class Father{

public Father(){

System.out.println(“我是父类”); }

public class Child extends AA {

puublic Child(){

System.out.println(“我是子类”);

}

则顺序执行如下语句后输出结果为:()

Father a;

Child b;

A、我是父类

B、我是子类

我是子类我是父类

C、我是父类

D、我是子类

我是父类我是子类

5.什么时覆盖,它有什么优点

6.this和super的作用是什么

7.什么是动态绑定

答案:

1.超类、父类、子类

2.引用类型转换

3.B

4.A

5.子类其自身的方法中,若与继承过来的方法具有相同的签名,便构成了方法的覆盖(有的资料称之为方法的重写)。覆盖的主要优点是能够定义各子类的特有行为

214

6.this常用来引用当前对象,而super常用来引用父类中对象。

7.所谓的动态绑定,通俗的就是指,对象在调用方法的时候能够自己判断改调用谁的方法。所以动态绑定一般发生在继承、方法重载时。

5.10 习题

1. 在Java程序中,通过类的定义只能实现___________重继承,但通过接口的定义可以实现___________重继承关系。

2.接口使用___________关键字声明。

3.下面哪些语法结构是正确的

A.public class A extends B implements C

B. public class A implement A B

C. public class A implemts B,C,D

D.public implements B

4.局部内部类可以用哪些修饰符修饰

A.public

B.private

C.abstracted

D.final

5.内部类分为那几种

6什么是回调

答案

1.一、多

2.interface

3.ACD

4.C、D

5. 内部类分为如下几种:

(1)成员内部类,作为外部类的一个成员存在,与外部类的属性、方法并列。

(2)局部内部类,在方法中定义的内部类称为局部内部类。与局部变量类似,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量,和此外围类所有的成员。

(3)匿名内部类,没有名字的内部类。匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。

(4)静态内部类,如果你不需要内部类对象与其外围类对象之间有联系,那你可以将内部类声明为static。这通常称为嵌套类(nested class)。

6.回调是一种常见的程序设计模式,利用回调技术可以处理这样的问题,事件A发生时要执行处理事件A的代码,判断何时发生事件A及何时执行处理的代码是固定的,先行编写完毕,供很多人使用。但事件A的处理代码开放给其他开发人员编写,可以有很多不同的实现,使用时可以注册具体需要的实现来处理。

215

6.7 习题

1. Java中I/O流是由___________包来实现的。

2. 自定义的异常类一般直接或间接继承自___________类

3.下面哪种流可以用于字符输入:

A.java.io.inputStream

B. java.io.outputStream

C. java.io.inputStreamReader

D. java.io.outputStreamReader

4.下面哪些情况可以引发异常:

A.数组越界

B.指定URL不存在

C.使用thow语句抛出

D.使用throws语句

5. 基本的I/O流主要包括哪些内容

6.简述Java异常处理机制

答案:

1.java.io

2.Exception

3.C

4.A、B、C

5.基本的I/O流主要包括InputStream类、OutputStream类、PipedInputStream和PipedOutputStream类以及SequenceInputStream类。

6. 每当Java程序运行过程中发生一个可识别的运行错误时,即产生一个异常。Java采取“抛出—捕获”的方式,一旦一个异常现象产生了,Runtime环境和应用程序抛出各种标准类型和自定义的异常,系统就可以捕获这些异常,并且有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。这就是Java的异常处理机制。

7.14 习题

1.可以充当Java事件源的有___________、___________和___________。

2.___________布局管理器使用的是组件的最佳尺寸。

3.add()方法的作用是______________________。

3.在Java图形用户界面编程中,如果需要显示信息,一般是使用__________类的对象来实现。

A、JLabel

B、JButton

C、JTextArea

D、JTextField

4.创建一个标识有“开始”按钮的语句是( )。

A、JTextField b = new JTextField(“开始”);

216

B、JLabel b = new JLabel(“开始”);

C、JCheckbox b = new JCheckbox(“开始”);

D、JButton b = new JButton(“开始”);

5.什么是SWT、SWING,二者有什么区别?

6.什么是事件适配器

答案:

1.键盘、鼠标、Frame

2.添加可视化组件

3.A

4.D

5.Java中用来进行图形用户界面开发的工具包为AWT。AWT是“Abstract Window Toolkit”的缩写,又称为“抽象窗体工具包”。

AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT 之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1的,也就是说AWT是Swing 大厦的基石

6. 适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了大量编写不必要代码的情况

8.10 习题

1.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含___________方法的类,在Java Applet里,这个主类是一个系统类___________的子类。

2. ___________命令可以启动Applet。

3.下面哪个方法与Applet的显示无关

A.draw

B.paint

C.repaint

D.update

4.下面关于Applet的说法是正确的是

A.Applet可以在带有Java解释器的浏览器中运行

B.Applet类必须继承java.applet.Applet

C.Applet可以访问本地文件

D.Applet是Object类的子类

5.简述Applet的生命周期

6..在安全管理器的监视下,浏览器对Applet进行了哪些限制

217

答案:

1.main、javax.swing.JApplet

2.appletviewer

3.D

4.ABCD

5. Applet的生命周期中有四个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法以后,Applet程序就进入了初始态;然后马上执行start()方法,Applet程序进入运行态;当Applet程序所在的浏览器图标化或者是转入其他页面时,该Applet程序马上执行stop()方法,Applet程序进入停止态。

6.(1)小应用程序绝不能运行任何一个本地可执行程序;

(2)除了下载它的服务器外,小应用程序不能和任何一台主机通信;

(3)Applet不能读写本地计算机的文件系统;

(4)除了所用的java 版本号、操作系统名或版本号、用于分隔文件的字符(比如,/ 或\ )、分隔路径的字符(如: 或; )以及行分隔符(如\n 或\r\n )之外,Applet找不到与本地计算机有关的任何信息。特别是,小应用程序找不到用户名、电子邮件地址等其他东西;

(5)一个小应用程序弹出的所有窗口都会发出一条警告消息。

9.8 习题

1.要通过互联网进行通信,至少需要一对套接字,一个运行于客户机端,称之为___________,另一个运行于服务器端,称之为___________。

2. 方法___________与指定的URL建立连接并返回InputStream类的对象以从这一连接中读取数据。

3. URL u =new URL("https://www.doczj.com/doc/0f12849538.html,");。如果https://www.doczj.com/doc/0f12849538.html,不存在,则返回

A. https://www.doczj.com/doc/0f12849538.html,

B.””

C.null

D.抛出异常

4.下面哪个选项正确创建socket连接

A.Socket s = new Socket(8080);

B Socket s = new Socket(“192.168.1.1”,”8080”)

C. SocketServer s = new Socket(8080);

D. Socket s = new SocketServer(“192.168.1.1”,”8080”)

5.什么是URL?如何创建URL?

6.简单描述Socket连接的过程

答案

1. ClientSocket、serverSocket

218

2. openStream()

3.A

4.B

5. URL(Uniform Resource Locator)即统一资源定位符,表示Internet上某一具体资源的访问地址。无论寻址哪种特定类型的资源或通过哪种机制获取某些资源.可以通过URL类的构造函数创建。

6.(1)服务器端首先启动监听程序,对指定的端口进行监听,等待接收客户端的连接请求。

(2)客户端程序启动,请求连接服务器的指定端口。

(3)服务器收到客户端的连接请求后与客户端建立套接字连接。

(4)连接成功后,客户端与服务器分别打开两个流,其中客户端的输入流连接到服务器的输出流,服务器的输入流连接到客户端的输出流,两边的流建立连接后就可以双向的通信了。

(5)当通信完毕后客户端与服务器两边各自断开连接。

10.6 习题

1.线程包含___________、___________、___________、___________和___________5个状态。

2.JSP中的include指令的作用是_________________________________。

3.servlet周期包含哪些:

A.初始化

B.停止

C.请求处理

D.开始

4..建立Statement对象的作用是

A.连接数据库

B.声明数据库

C.执行SQL语句

D.保存查询结果

5. JSP程序的运行与普通Java程序运行有什么不同

6.创建线程有哪些方式

答案:

1.新建状态、可运行状态、运行中状态、阻塞状态、死亡状态

2. 在JSP中包含一个静态的文件,同时解析这个文件中的JSP语句

3.ABC

4.C

5. JSP程序的运行与普通Java程序运行不同,需要有Web服务器进行支持。在Web容器环境下才可以访问到JSP页面。

6.继承Thread类方式和实现Runnable接口方式

219

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java编程基础知识点汇总及习题集答案

J a v a编程基础知识点汇总及习题集答案 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (14) 第四章循环语句 (20) 第五章方法 (26) 第六章数组 (33) 第七章面向对象 (42) 第八章异常 (63) 第一章 Java入门 知识点汇总 1、JAVA 三大体系 Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心的部分,包含Java 最核心的类库。 JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装配、部署企业级应用,包含Servlet、JSP、JavaBean、JDBC、EJB、Web Service等。 Java ME:(J2ME,Java 2

Platform Micro Edition,微型版),用于小型电子设备上的软件开发。 2、JDK,JRE,JVM的作用及关系作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 path环境变量:存放可执行文件的存放路径,路径之间 用逗号隔开 classpath环境变量:类的运行路径,JVM在运行时通过classpath加载需要的类 4、重点掌握两个程序 :Java编译器工具,可以将编写好的Java文件(.java)编译成Java字节码文件(.class); :Java运行工具,启动Java虚拟机进程,运行编译器生成的字节码文件(.class) 5、一切程序运行的入口public static void main (String args []){ World!”); } 课堂笔记

Java语言程序设计课后习题答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)两者的关系:对象是类的具体实例.。 2.什么是面向对象的程序设计方法它有那些基本特征 答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。 它的特征:抽象,封装,继承,多态。 3(无用) 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种他们对类成员分别有哪些访问限制的作用 答:类成员的访问控制符有 public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). Private(保护的):类中限定为private的成员只能被这个类本身 访问,在类外不可见。 proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点答:构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public); (4)构造方法可以有任意多个参数; (5)构造方法的主要作用是完成对象的初始化工作; (6)构造方法不能在程序中显式的调用; (7)在生成一个对象时,系统会自动调用该类的构造方法为新生成的对象初始化。 9如果在类声明中声明了构造方法,系统是否还提供默认的构造方法 答: 用户在进行类声明时,如果没有声明任何构造方法,系统会赋给此类一个默认(无参)的构造方法。但是,只要用户声明了构造方法,即使没有声明无参的构造方法,系统也不会再赋默认的构造方法。 10:声明Patient类表示在门诊室中的病人。此类对象应包括name(astring)\sex(achar)、age(an integer)、weight(a float0、allergies(a boolean). 声明存取及修改方法。在一个单独的累中,声明测试方法,并生成两个patient的例子: Atient april=new Patient(); (“zhangli”) (‘f’);; (330; ; (true); 那么:”+()); ”+()); ”+()); (“weught: ”+());\ ”+()); 声明并测试toString()方法显示一个病人的aga、sex、name及allergies属性。 答: public class Patient { private String name; private char sex; private int age; private float weight; private boolean allergies; public void setname(String a) { name=a; } public void setsex(char b) { sex=b; }

Java基础测试题(答案)

1. 有以下程序片段,下列哪个选项不能插入到行1。( D ) 1. 2.public class Interesting{ 3.//do sth 4. } (只能有一个public修饰的class) A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 2. 以下哪项是接口的正确定义?( B D ) A、interface B { void print(){};} (接口里的方法都是抽象的,不能有方法体) B、abstract interface B { void print() ;} C、abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} (同上) D、interface B { void print();} 1.接口可以声明为public(公共)或默认的访问权限。接口隐含表明是抽象的(abstract)的。 2.接口的方法默认即为public(公共)且是abstract(抽象)的. 3.接口中的变量默认即为public(公共), static(静态) and final(最终的)。 接口声明编译器如何解释呢 public interface Searchable {}public abstract interface Searchable {} abstract interface Searchable {}abstract interface Searchable {} interface Searchable {}abstract interface Searchable {}

Java基础试题及其答案

Java试题 1) java程序中,main方法的格式正确的是()。(选择一项) a)static void main(String[] args) b)public void main(String[] args) c)public static void main(String[]s) d)public static void main(String[] args) 2)给定java代码,如下: public byte count(byte b1,byte b2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte) (b1-b2) b)(byte) b1-b2 c) b1-b2 d) (byte) b1/b2 3)在Java中,在包下定义一个类,要让包下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。 (选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; “”+new Person() toString() c) int a= 3+5 d) float f=5+; double float 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; (“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 已到文件尾,再读取抛出 7) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList List 有序可重复 b) HashSet Set 无序不可重复同一对象是重复 的 c) HashMap Map(key/value)重复定义:hashCode、 equals(业务) d) LinkedList List 8)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public static void main(String args[]){ int a=5;

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

JAVA入门练习50题(含答案)

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } }

java习题及答案第8章 习题参考答案

第8章图形用户界面编程 8.1 什么是组件?什么是容器?并说明各自的作用。 答:从实现角度来看,组件(Component)是构成GUI 的基本要素,作用是通过对不同事件的响应来完成和用户的交互或组件之间的交互;容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等,作用就是放置组件并控制组件位置。 8.2 叙述AWT和Swing组件的关系,指出Swing组件的优点。 答:Swing是在AWT基础上扩展而来的,提供了非常丰富的组件,远远多于AWT,并且引入了新的概念和性能,这使得基于Swing开发GUI应用程序比直接使用AWT开发更为灵活、方便、效率高,而且能设计出更优美的、感受更好的GUI。Swing是由javax.swing包提供的,主要包括两种类型的组件:顶层容器和轻量级组件。它们都以“J”开头。 8.3 总结JFrame的使用要点,并说明如何实现窗体的正常退出。 答:JFrame类包含很多设置窗体的方法,可以用setTitle(String title)方法设置窗体标题,用setBounds(int x,int y,int width,int height)方法设置窗体显示的位置及大小,用setVisable(Boolean b)方法设置可见与否(默认不可见)。此外,向JFrame添加组件有两种方式:调用getContentPane()方法获得内容面板,而后向其中添加组件,或者创建一个中间容器并将组件添加其中,而后用setContentPane()方法把该中间容器设置为JFrame的内容面板。由于JFrame对象的关闭按钮的默认动作只是将窗体隐藏,所以为了正确关闭窗体,应通过setDefaultCloseOperation(int operation)方法设置关闭按钮的动作。 8.4 总结常用Swing组件使用特点。 答:常用Swing组件使用时,首先要创建对应组件的对象,并放置在容器中,一般来说可用setText(String t)设置其的文本信息,setFont(Font font):设置文本的字体及大小,对于列表类组件还可以用AddItem()等方法加入选项,用getSelectedIndices()以int[]形式获得被选中的所有选项的索引值,具体使用方法可参照例8.6。 8.5 查阅资料,简述三个菜单类组件之间的关系,并编写一个带有文件菜单的GUI程序。 答:菜单相关的类主要有菜单栏类JMenuBar、菜单类JMenu和菜单项类MenuItem,此外,还有单选菜单项类JRadioButtonMenuItem和复选菜单项类JCheckBoxMenuItem以及弹出式菜单类JPopupMenu等。前三者的关系是菜单放置在菜单栏上,菜单由若干个菜单项组成。 提示:带有文件菜单的GUI程序核心代码如下:

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

JAVA试题及答案

JA V A语言基础内部测试题 选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分) 没有注明选择几项的,只选择一项 1、JAVA所定义的版本中不包括:() A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、JAVA2 HE E、JAVA2 SE 2、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 3、Java中,在如下所示的Test类中,共有()个构造方法。 public class Test{ private int x; public Test(){ x=35; } public void Test(double f){ =(int)f; } public Test(String s){} } A、0 B、 1 C、 2 D、3 4、变量命名规范说法正确的是() A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 5、下列javaDoc注释正确的是() A、/*我爱北京天安门*/

B、quals("john") C、"john" = "john" D、"john".equals(new String("john")) 6、下列输出结果是() int a = 0 ; while ( a < 5 ) { switch(a){ case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; } } ( a ) ; A、0 B、5 C、10 D、其他 7、下列代码输出结果是( ) int i = 10; while ( i > 0 ){ i = i + 1; if ( i = =10 ){ break; } } A.while循环执行10次 B.死循环 C.循环一次都不执行 D.循环执行一次 8、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 9、下列()属于引用数据类型(选择两项) A、String B、char C、用户自定义的Student类类型

java程序设计第1-4章练习题参考答案 (1)

一、选择题 1.下面供选字符序列中,不属于 ...Java语言关键字的是( A ) A.goto B.null C.false D.native 2.以下是关于Java语言关键字的叙述,其中正确的是( C ) A.关键字可以用来描述类的成员类型,但是不能描述普通变量 B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成 C.关键字不可以用作变量、方法、类或标号的标识符 D.break和main都是Java语言的关键字 3.下述字符组合不能作为Java程序标识符的是(D) A.Aa12 B.X C.y D.5x 4.在下述字符串中,不属于 ...Java语言关键字的是( C ) A.float B.new C.java D.return 5.下列字符组合不能作为Java整型常量的是( A ) A.078 B.0x3ACB C.5000 D.0x3ABC 6.设有如下程序: 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 4 C) java Test 4 2 4 2 D) java Test 4 3 2 1 7.在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 Hello 9.执行以下代码,输出结果是( B ) int x=5,y=7,u=9,v=6; System.out.println(x>y ? x+2:u>v ? u-3:v+2); A.8 B.6 C.7 D.true 10.下列修饰符中与访问控制无关的是(C)。 A) public B) protected C) final D) private

Java基础试题和答案

J a v a基础试题和答案 Revised by Petrel at 2021

J a v a试题1)java程序中,main方法的格式正确的是()。(选择一项) a)staticvoidmain(String[]args) b)publicvoidmain(String[]args) c)publicstaticvoidmain(String[]s) d)publicstaticvoidmain(String[]args) 2)给定java代码,如下: publicbytecount(byteb1,byteb2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte)(b1-b2) b)(byte)b1-b2 c)b1-b2 d)(byte)b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a)Strings=“join”+“was”+“here”; b)Strings=“join”+3; c)inta=3+5 d)floatf=5+5.5;

5)在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(newFlowLayout()); b)jFrame.addLayout(newFlowLayout()) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项)Strings=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7)在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b)HashSet c)HashMap d)LinkedList 8)给定如下java代码,编译运行之后,将会输出()。publicclassTest{ publicstaticvoidmain(Stringargs[]){ inta=5; (a+1)/2:a/2); } }(选择一项)

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/0f12849538.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

JAVA基础练习题

JA V A练习 1. 以下方法fun的功能是求两参数之积。(return a*b) int fun ( int a, int b ) { __________________; } 2. 以下方法fun的功能是求两参数之积。(return (float)a*b) float fun ( int a, double b ) { __________________; } 3. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b) int fun ( int a, int b ) { __________________; } 4. 以下方法m的功能是求两参数之积的整数部分。 (return (int)(a*b)) int m ( float x, float y ) { __________________; } 5. 下面是用户程序对Applet 类中方法paint( ) 的重新定义。 (void call) public ___ paint(Graphics ____) { call.drawString("Hello,java!",10,20); } 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。(boolean true)public ________ isEven(int a) { if(a%2==0) return _____; else return false; } 7.同一个类中多个方法具有相同的方法名,不同的_____________称为方法的重载。(参数列表)

二.选择题及答案 1.下列方法定义中,正确的是( D )。 A) int x( int a,b ) { return (a-b); } B) double x( int a,int b) { int w; w=a-b; } C) double x( a,b ) { return b; } D) int x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( D )。 A) void x( int a,int b ); { return (a-b); } B) x( int a,int b) { return a-b; } C) double x { return b; } D) int x( int a,int b) { return a+b; } 3. 下列方法定义中,不正确的是(D)。 A) float x( int a,int b ) { return (a-b); } B) int x( int a,int b) { return a-b; } C) int x( int a,int b ); { return a*b; } D) int x(int a,int b) { return 1.2*(a+b); } 4. 下列方法定义中,正确的是( A )。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; } 5. 列方法定义中,方法头不正确的是(D )。

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.doczj.com/doc/0f12849538.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

相关主题
文本预览
相关文档 最新文档