java类和对象编程练习题
精品文档
java类和对象编程练习题
猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。
02.类的成员变量:
请定义一个交通工具的类,其中有: 属性:速度,体积等等
方法:移动),设置速度),加速speedUp,减速speedDown等等. 最后在测试类Vehicle中的main中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。
03.类的成员变量与方法、构造方法
在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。
定义名为MyTime的类,其中应有三个整型成员:时,分,秒,为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。
为MyTime类添加以下方法: addSecond addMinute
1 / 34
精品文档
addHour subSecond subMinute subHour
分别对时、分、秒进行加减运算。
04.构造方法
编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加、减、乘、除等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
05.构造方法:
编写Java程序,用于显示人的姓名和年龄。 定义一个人类,该类中应该有两个私有属性,姓名和年龄。定义构造方法,用来初始化数据成员。再定义显示方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
06.get方法和set方法
定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX和setXXX方法
提示:假设有private String name;则有
public void setName{ this.name = name; }
public String getName{ return this.name; }
07.构造方法与重载
2 / 34
精品文档
为“无名的粉”写一个类:class WuMingFen 要求:
1.有三个属性:面码:String theMa 粉的分量:int quantity是否带汤:boolean likeSoup
2.写一个构造方法,以便于简化初始化过程,如: WuMingFen f1 = new WuMingFen;.重载构造方法,使得初始化过程可以多样化: WuMingFen f= new WuMingFen;
4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤
的, WuMingFen f= new WuMingFen;
5.写一个普通方法:check,用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
08.构造方法的重载:
定义一个名为Vehicles的基类,该类中应包含String类型的成员属性brand和color,还应包含成员方法run和showInfo,并编写构造方法初始化其成员属性。
编写Car类继承于Vehicles类,增加int型成员属性seats,还应增加成员方法showCar,并编写构造方法。 编写Truck类继承于Vehicles类,增加float型成员属性load,还应增加成员方法showTruck,并编写构造方法。 在main方法中测试以上各类。
09.构造方法与重载
定义一个网络用户类,要处理的信息有用户ID、用户
3 / 34
精品文档
密码、email地址。在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串”@gameschool.com”
10.构造方法与重载、包 编写Addition类,该类中应包含一组实现两数相加运算的重载方法。 实现加法运算的方法,应接受两个参数,方法将两个参数进行加法运算后,返回相加结果。考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。 在main方法中创建Addition类的实例,分别调用重载方法测试其效果。 应将Addition类打入到包中,以自己名字的拼音为包命名。
11.构造方法与重载
将上次练习题三中编写的MyTime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。
12.构造方法与重载
建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。并通过不同的构造方法创建事例。
至少要求:汽车能够加速,减速,停车。
要求:命名
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
,代码体现层次,有友好的操作提示。
13.构造方法与重载
4 / 34
精品文档
创建一个类,为该类定义三个构造函数,分别执行下列操作:1、传递两个整数值并找出其中较大的一个值2、传递三个double值并求出其乘积3、传递两个字符串值并检查其是否相同4、在main方法中测试构造函数的调用
14.Static关键字与普通变量的区别:
创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。对变量分别赋予10和5的初始值。在main方法中输出变量值。
15.继承:
创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。MainClass类应当包含变量声明,其值从构造函数中输出。MainSubClass类从MainClass派生而来。试执行下列操作:创建一个名称为SamePackage
的类,使它导入上述包,并创建一个MainSubClass类的对象。
16.包、继承、构造函数
创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。MainClass类
应当包含变量声明,其值从构造方法中输出。MainSubClass类从MainClass派生而来。试执行下列操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个MainSubClass类的对象。
5 / 34
精品文档
17.继承:
创建一个父类和子类,父类有一个数据成员,子类继承父类的该数据成员,通过构造函数初始化并显示该数据成员的值。
18.覆盖、继承
建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。并通过不同的构造方法创建实例。至少要求: 汽车能够加速,减速,停车。 再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法
19.抽象类与继承
设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。使用继承将这些图形分类,找出能作为基类部分的共同特征和方法,并看看这些图形是否能进一步划分为子类。
本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。
20.抽象类:
创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四
6 / 34
精品文档
轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
21.抽象类:
创建一个Vehicle类并将它声明为抽象类。在Vehicle类中声明一个NoOfWheels方法,使它返回一个字符串值。创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
22.接口:
创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start和stop。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main方法中创建Bike和Bus对象,并访问start和stop方法。
23.接口:
创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start和stop。在两个名称分别为Bike和Bus的类中实现Vehicle接口。创建一个名称为interfaceDemo的类,在interfaceDemo的main方法中创建
7 / 34
精品文档
Bike和Bus对象,并访问start和stop方法。
24.抽象类、继承、接口综合 设计一个系统:
XXX门的实现过程:
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
:
设计一张抽象的门Door,那么对于这张门来说,就应该拥有所有门的共性,开门openDoor和关门closeDoor;然后对门进行另外的功能设计,防盗--theftproof、防水--waterproof、防弹--bulletproof、防火、防锈?? 要求:利用继承、抽象类、接口的知识设计该门
25.抽象类、继承、接口综合 设计一个系统: xxx纯净水生产线
目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤 abstract 水
{
public void 水; }
interface 过滤{} interface 缓冲{} interface 加热{} interface 放糖{}
class 纯净水1 extends 水 imps 过滤,缓冲{} class 纯净水extends 水 imps 缓冲{} class 纯净水extends 水 imps 过滤{}
。。。。
26.综合题
定义一个抽象的”Role”类,有姓名,年龄,性别等
8 / 34
精品文档
成员变量
1. 要求尽可能隐藏所有变量,再通
过GetXXX和SetXXX方法对各变量进行读写。具有一个抽象的play方法,该方法不返回任何值,同时至少定义两个构造方法。Role类中要体现出this的几种用法。
2. 从Role类派生出一个”Employee”类,该类具有Role类的所有成员,并扩展 salary成员变量,同时增加一个静态成员变量“职工编号”。同样要有至少两个构造方法,要体现出this和super的几种用法,还要求覆盖play方法,并提供一个final sing方法。. “Manager”类继承”Employee”类,有一个final成员变量”vehicle”
4. 在main方法中制造Manager和Employee对象,并测试这些对象的方法
27.综合题 题目:品尝饮料 时间:2006-06-1一、 语言和环境
1. 实现语言:Java
2. 环境要求:JDK1.4或以上版本及其联机帮助文档 二、 要求
1、使用命令行参数,输出该饮料类型的味道,如:当命令行参
三、 推荐实现步骤
1、建立一个Java抽象类Drink,应当:
9 / 34
精品文档
a、声明一个抽象方法taste,该方法负责输出饮料的味道; b、声明int型常量来代
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
不同的饮料类型,如: c、声明静态工厂方法getDrink,根据传入的参数创建
不同的饮料对象,并返回该对象,建议使用switch语句。该方法要求声明DrinkNotFoundException,当没有相对应的饮料类型时,抛出该异常。
2、建立Drink的具体子类:
a、分别建立Drink的子类:Coffee,Beer,Milk; b、实现taste方法,要求在控制台打印各自的味道特征。、建立异常类DrinkNotFoundException
a、继承Exception
b、在Drink的方法getDrink中声明引发DrinkNotFoundException异常,当传
入的参数没有相对应的饮料类型时,抛出异常。
c、在使用getDrink方法的类中捕捉该异常。、建立Test测试类,测试以上内容的正确性 a、编写main方法,通过命令行传参的方式传入某种饮料的类型。 b、在main方法中,调用Drink类的getDrink方法,获得相应的饮料对象。注意捕获DrinkNotFoundException。 c、然后调用该饮料对象的taste方法,输出该饮料的味道。、编译程序,并运行。 四、 注意事项
1、仔细审题,把题目要求理解准确;、请注意多态性
10 / 34
精品文档
的运用;
3、请注意代码的书写、命名符合规范,应有适当的注释。
面向对象编程基本知识练习
一、判断题
1.不需要定义类,就能创建对象。
2.构造方法用于给类的 private 实例变量赋值。
3.对象一经声明就可以立即使用。
4.在定义变量和方法时,必须清楚地在其面前标上访问权限修饰符。
5.Java 程序中的参数传递都是把参数值传递给方法定义中的参数。
6.在类定义中,成员访问权限修饰符不能多次出现。
7.new 操作符动态地为对象按其指定的类型分配内存,并返回该类型的一个引用。
8.类的方法通常设为 public,而类的实例变量一般也设为 public。
9.构造方法在创建对象时被调用。
10.通过点运算符与类对象的引用相连,可以访问此类的成员。
11.声明为 protected 的类成员只能被此类中的方法访问。
11 / 34
精品文档
12.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。
13.类的成员变量可以放在类体的任意位置。
14.声明为 protected 的类成员可以被此类作用域中的任何对象访问。
15.没有返回值的方法可以用 void 来表示,也可以不加。
二、选择题
1. 下面对对象概念描述错误的是:
A 操作是对象的动态属性
B 任何对象都必须有继承性
C 对象间的通讯靠消息传递
D 对象是属性和方法的封装体
2(编译并运行下面的程序,运行结果为:
public class A
{
public static void main
{
A a=new A;
a.method;
}
void method
12 / 34
精品文档
{
System.out.println;
}
void method
{
System.out.println;
}
}
A 程序可以编译运行,输出结果为 int:8
B 程序可以编译运行,输出结果为 long:8)
A 类是 Java 语言中的一种复合数据类型
B 类中不包含数据变量和方法
C 类是对所有具有一定共性的对象的抽象
D Java 语言的类只支持单继承
4(能作为类及其成员的修饰符是:
A interface
B class
C protected
D public
5(设 x、y 均为已定义的类名,下列声明对象 x1 的语句不可能正确的是:
A public x xl=new y;
13 / 34
精品文档
B public y xl=new x;
C x xl=new x;
D x xl=x;
6(面向对象程序设计技术的特点是:
A 可重用性
B 可维护性
C 表示方法的一致性
D 可重用性、可维护性、表示方法的一致性
7(下列方法定义中,方法头不正确的是:
A public static x{„}
B public static int x{„}
C void x
D public int x{„}
8(设已声明了一个类 A 的两个对象 al、 a2,为了初始化 a1 和 a2,下面语句正确的是:
A al=new; a2=new;
B al=A new; a2=A new;
C al,a2=new A;
D al=new A; a2=new A;
9(构造方法何时被调用?
A 类定义时
B 使用对象的变量时
14 / 34
精品文档
C 调用对象方法时
D 创建对象时
10(下列哪个类声明是正确的?
A public abstract class Car{„}
B abstract private move{„}
C protected private number;
D abstract final class Hl{„}
11(下列不属于面向对象程序设计的基本特征的是:
A 抽象
B 封装
C 继承
D 静态
12(请看下面的程序段
class Person {
String name,department;
int age;
public Person { name = n; }
public Person { name = n; age = a; }
public Person {
//doing the same as two arguments version of
constructer
//including assignment name=n,age=a
15 / 34
精品文档
}
}
下面那一选项可以添加到“//doing the same??”
处:
A Person
B this)
C this
D this
13(是一个特殊的方法,用于对类的实例变量进行初始化。
A 终止函数
B 构造函数
C 重载函数
D 初始化函数
14(关于变量和它们范围的说法,正确的是:
A 实例变量是类的成员变量
B 实例变量要用关键字 static 来声明
C 在一个方法执行时,定义在该方法的局部变量才被创建
D 局部变量必须在它们使用前初始化
15(请看下面的程序段
class Test{
16 / 34
精品文档
private int m;
public static void fun{
//some code„
}
}
方法 fun如何来访问变量 m:
A 将 private int m 改成 protected int m
B 将 private int m 改成 public int m
C 将 private int m 改成 static int m
D 将 private int m 改成 int m
16(在 Java 中,方法 main将返回一个值。
A String
B int
C char
D void
17(有一个类 A,对于其构造函数的声明正确的是
A void A{„}
B public A{„}
C A A{„}
D int A{„}
18(请看下面的程序段
public class Test {
17 / 34
精品文档
long a[ ] = new long[10];
public static void main {
System .out .println;
}
}
那一个选项是正确的:
A 不输出任何内容
B 输出 0
C 当编译时有错误出现
D 当运行时有错误出现
19(关键字表明一个对象或变量在初始化后不能修改。
A extends
B final
C this
D finalizer
20(声明为 static 的方法不能访问类成员。
A 超类
B 子类
C 非 static
D 用户自定义类
类的封装练习
18 / 34
精品文档
一、判断题
1.在子类中可以用完全相同的 signature 重新定义一个超类方法,这称为方法的覆盖 。
2.final 修饰的方法是不能被子类覆盖的,只能被重载。
3.声明为 final的类不能是超类。
4.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。
5.对子类实例化对象需要调用超类的构造函数进行初始化工作, 完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造函数。
6.在类的定义中如果不明确给出超类,那么默认超类就是 Object 类。
7.protected 类型的实例变量或方法只能由声明该变量或方法的类本身及其子类访问。
8.Java 的每个子类的构造函数都要显式的调用它的直接超类的构造函数。
9.超类对象的集合通常比它的任何一个子类对象集合大。
10.子类可以从多个超类中派生出来。
二、选择题
1(为了区分重载多态中同名的不同方法,要求:
19 / 34
精品文档
A 参数名不同
B 返回值类型不同
C 采用不同的形式参数列表
D 选项 A B C 都对
2(在某个类中定义一个方法:void GetSort,以下关于能否作为这个方法的重载错 误的是:
A void GetSort{x*=x;}
B int GetSort{ return;}
C double GetSort{return x+y; }
D 都不能
3(下列对继承的说法,哪个是正确的:
A 子类只能继承父类 public 方法和状态
B 子类能继承父类的非私有方法和状态
C 子类能继承父类的所有方法和状态
D 子类只能继承父类的方法,而不继承状态
4(定义类 A 如下:
class A
{ int a,b,c;
public void B{a=x; b=y; c=z; }
}
下面对方法 B的重载哪些是正确的:
A public void A{ a=x; b=y; c=z; }
20 / 34
精品文档
B public void B{ a=x; b=y; c=z;}
C public void B{ a=x; b=y; c=0;}
D public B{a=x; b=y; c=z; }
5(下列程序的结果输出为:
class Strange{
int j;
Strange{
this;
}
Strange{
this.j=j;
}
}
class MainStrange{
public static void main{
Strange funny=new Strange;
System.out.println;
}
}
第1章 面向对象软件开发概述
1(简述面向过程问题求解和面向对象问题求解的异同。试列举出面向对象和面向过程的编程语言各两种。
21 / 34
精品文档
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以―对象‖为主体,―对象‖是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。
面向过程的编程语言:C,Pascal, Foratn。
面向对象的编程语言:C++, Java,C#。
2(简述对象、类和实体及它们之间的相互关系。尝试从日常接触到的人或物中抽象出对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。类是同种对象的集合与抽象。类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。如果类是抽象的概念,如―电视机‖,那么对象就是某一个具体的电视机,如―我家那台电视机‖。
3(对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象―学生‖,试为这个对象设计状态与行为。
答:对象都具有状态和行为。
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己
22 / 34
精品文档
专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;
学生的行为:自我介绍、入学注册、选课、参加比赛等。
4(对象间有哪三种关系?对象―班级‖与对象―学生‖是什么关系?对象―学生‖与对象―大学生‖是什么关系?
答:对象间可能存在的关系有三种:包含、继承和关联。
对象―班级‖与对象―学生‖是包含关系。
对象―学生‖与对象―大学生‖是继承关系。
5(有人说―父母‖和―子女‖之间是继承的关系。这种说法是否正确?为什么?
答:―父母‖和―子女‖之间不是面向对象意义上的―继承‖关系。因为这里的继承关系是―is a‖的关系,―男人‖与―人‖之间可以说是继承关系。
6(面向对象的软件开发包括哪些过程?OOA模型包括哪三个层次?OOD模型在OOA模型的基础上引入了哪些工作?
答:面向对
23 / 34
精品文档
象的软件开发过程可以大体划分为面向对象的分析、面向对象的设计、面向对象的实现三个阶段。
面向对象的分析的主要作用是明确用户的需求,并用标准化的面向对象的模型规范地表述这一需求,最后将形成面向对象的分析模型。
面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理三部分的内容。
7(面向对象的程序设计方法有哪些优点?
答:由于对象的概念能够以更接近实际问题的原貌和实质的方式来表述和处理这些问题,所以面向对象的软件开发方法比以往面向过程的方法有更好的灵活性、可重用性和可扩展性,
使得上述―分析—设计—实现‖的开发过程也更加高效、快捷。
第2章 Java概述
1( 简述Java编译和运行的基本方法。
答:编译可以使用JDK中的工具javac.exe。例如:
javac HelloWorldApp.java
运行Java程序则可以使用JDK提供的解释器是java.exe。例如:
java HelloWorldApp
2( 下载并安装JDK软件包,3( 尝试查看其中的JDK
24 / 34
精品文档
文档。
答: Java编程的基本工具包是JDK。JDK是Sun公司免费提供的开发、运行Java程序的基本软件,它可以在Windows及Unix两种平台下使用。常用的版本是JDK1.2.2, JDK1.3.0,JDK1.4等。可以从网站下载较新的版本,如JDK1.5。
JDK文档也可以从网上下载。
3(编写一个Java Application,利用JDK软件包中的工具编译并运行这个程序,在屏幕上输出―Welcome to Java World!‖。
答:见程序。
public class Ex2_3
{
public static void main
{
System.out.println;
}
}
4(编写一个Java Applet,使之能够在浏览器中显示―Welcome to Java Applet World!‖的字符串信息。
答:见程序。import java.awt.*;
import java.applet.*;
25 / 34
精品文档
public class Ex2_extends Applet { //an applet
public void paint{
g.drawString ;
}
}
5(编写一个HTML文件,将上题中生成的Applet字节码嵌入其中,并用WWW浏览器观看这个HTML文件规定的Web页面。
答:与上一题同。
6(编写一个程序,能够从键盘上接收两个数字,然后计算这两个数的积。
答:见程序。import java.io.*;
public class Ex2_6
{
public static void main
{
String s = ““;
double c = 0;
double d = 0;
try{
BufferedReader in = new BufferedReader );
System.out.print;
26 / 34
精品文档
s = in.readLine;
c = Double.parseDouble;
System.out.print;
s = in.readLine;
d = Double.parseDouble;
}catch{}
System.out.println );
}
}
7(编写一个程序,从两个文本框中接收两个数字,然后计算这两个数的积。
答:见程序。import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Ex2_extends Applet
{
TextField in1 = new TextField;
TextField in= new TextField;
Button btn = new Button;
Label out = new Label;
public void init
{
27 / 34
精品文档
setLayout );
add;
add;
add;
add;
btn.addActionListener );
}
class BtnActionAdapter implements
ActionListener
{
public void actionPerformed
{
String s1 = in1.getText;
double d1 = Double.parseDouble;
String s= in2.getText;
double d= Double.parseDouble;
double result = d1 * d2;
out.setText;
}
}
}
8(常用的集成开发工具有哪些,各有什么特点,
28 / 34
精品文档
答:常用的集成开发工具包括:Borland公司出品的Jbuilder, Sun公司出品的Java Workshop, IBM公司的Visual Age for Java,Oracle公司的Java Develop,等等。另外,Symantec公司的Visual Café 也是著名的Java开发工具。近来,Eclipse也是使用很广的集成开发工具。
第3章 数据运算、流控制、数组
1(简述Java程序的构成。如何判断主类?下面的程序有几处错误?如何改正,这个程序的源代码应该保存成什么名字的文件? public class MyJavaClass
{
public static void main
{
System.out(printIn;
}
System.out(printIn;
}
答:一个复杂的程序可由一个至多个Java源程序文件构成,每个文件中可以有多个类定义。一般的Java源程序文件由以下三部分组成:
package 语句;
import 语句;
类定义
29 / 34
精品文档
这里所说的主类是指程序中含有main方法的类。
上面的示例程序中的错误主要在于拼写,如:点及分号应该用西文的;printIn中的大写字母I应改为小写字母l;另外,main方法应该带参数,改为:
public static void main
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Ex2_extends Applet
{
TextField in1 = new TextField;
TextField in= new TextField;
Button btn = new Button;
Label out = new Label;
public void init
{
setLayout );
add;
add;
add;
add;
btn.addActionListener );
30 / 34
精品文档
}
class BtnActionAdapter implements
ActionListener
{
public void actionPerformed
{
String s1 = in1.getText;
double d1 = Double.parseDouble;
String s= in2.getText;
double d= Double.parseDouble;
double result = d1 * d2;
out.setText;
}
}
}
2(Java有哪些基本数据类型?写出int型所能表达的最大、最小数据。
答:Java中定义了4类/8种基本数据类型:
逻辑型——boolean
整数型——byte, short, int, long
浮点数型——float, double
字符型——char
31 / 34
精品文档
其中整型int占4个字节,其范围为 -2147483648-2147483647。
3(Java的字符采用何种编码
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
?有何特点?写出五个常见的转义符。
答:char是用Unicode编码表达的字符,在内存中占两个字节。由于Java的字符类型采用了一种新的国际标准编码方案——Unicode编码,这样便于东方字符和西方字符处理,这样与其他语言相比,Java处理多语种的能力大大加强。
常见的转义符,如:
\’ 单引号字符
\’’ 双引号字符
\\ 反斜杠字符
\r 回车
\n 换行
4( Java对标识符命名有什么规定,下面这些标识符哪些是对的?哪些是错的?错在哪里?
MyGame _isHers 2JavaProgram
Java-Visual-Machine _$abc
答:标识符可以由编程者自由指定,但是需要遵循—定的语法规定。标识符要满足如下的规定:
标识符可以由字母、数字和下划线、美元符号组合而
32 / 34
精品文档
成。
标识符必须以字母、下划线或美元符号开头,不能以数字开头。
在实际应用标识符时,应该使标识符能一定程度上反映它所表示的变量、常量、对象或类的意义,这样程序的可读性会更好。
题中的标识符中的不对,因为用数字开头了,也不对,因为其中用了减号。
5(什么是常量?什么是变量?字符变量与字符串常量有何不同?
答:常量是在程序运行的整个过程中保持其值不改变的量。变量是在程序的运行过程中数值可变的数据,通常用来记录运算中间结果或保存数据。
字符变量中存放一个字符,字符串常量中存放一串字符。
6(什么是强制类型转换?在什么情况下需要用到强制类型转换?
答:强制类型的基本方式是指用以下方式显式地进行数据类型的转换:
表达式
一般地说,在赋值运算符两侧的类型不一致的情况下,则需要进行自动或强制类型转换。变量从占用内存较少
33 / 34
精品文档
的短数据类型转化成占用内存较多的长数据类型时,可以不做显式的类型转换,Java会自动转换;而将变量从较长的数据类型转换成较短的数据类型时,则必须做强制类型转换。
7(Java有哪些算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符?试列举单目和三目运算符。
答:在Java中,按照运算符功能来分,基本的运算符有下面几类:
1(算术运算符
2(关系运算符
3(布尔逻辑运算符
4(位运算符
5(赋值运算符
6(条件运算符
7(其他 ,方法调用运算符 等)
其中,单目运算符如-,~,而三目运算符只有一个,即条件运算符。
8(编写一个字符界面的Java Application程序,接受用户输入的一个浮点数,把它的整数部
34 / 34