JAVA面向对象编程上机 练习题汇总
Java面向对象编程习题集
![Java面向对象编程习题集](https://img.taocdn.com/s3/m/bdb8132358fb770bf78a55f8.png)
《Java面向对象编程》习题集宁波大红鹰学院信息工程学院2012年2月第一版前言本习题集和实验指导书相配套。
旨在理论学习之后,帮助学生加深理解、引导学生思考,逐步培养学生独立分析问题、解决问题的能力。
请同学们在完成指定的习题内容后,通过上机课对自己的练习结果进行验证并思考判断有误之处。
同时,需要大家在上机前思考相应章节的实验指导书中题目,为上机练习做准备。
目录Java API (1)线程 (8)输入/输出流 (18)图形用户界面 (28)Java API一、画出以下语句执行后内存的变化情况。
1String s1,s2; 2s1="How are you"; 3 s2="How are you";1String s3,s4; 2s3=new String("How are you"); 3 s4=new String("How are you");1String tom="I love tom"; 2 String s=tom.substring(2,5);1StringBuffer s5=new StringBuffer("I love this game"); 2 s5.append(" ok");1 StringBuffer str=new StringBuffer("abcdefg");2str.delete(2,4);二、以下程序的功能是一行一行地读取从键盘上输入的字符串,并打印显示,直到输入一行“bye”为止。
请将程序补充完整。
1public class ReadLine {2public static void main(String[] args) {3byte buf[]=new byte[1024];4 String strInfo=null;5 int ch=0;6 int pos=0;7 System.out.println("please enter info,input byte for exit:"); 8while(true)9{10try11{12 ch=____________________;13}14catch(Exception e)15{16 System.out.println(e.getMessage());17}18 switch(ch)19 {20 case '\r':21 break;22 case '\n':23 strInfo=__________________;24 if(___________________)25 return;26 else27 {28 System.out.println(strInfo);29 ____________;30 break;31 }32 default:33 ________________;34 }35}36}37}三、以下程序的功能是在屏幕上打印出一个星号(*)组成的矩形,矩形的宽度和高度通过运行时为程序传递的参数指定。
[整理版]java面向对象上机
![[整理版]java面向对象上机](https://img.taocdn.com/s3/m/1a3e3d5af6ec4afe04a1b0717fd5360cbb1a8d40.png)
1、已知长方形的长和宽,计算面积(并验证是不是正方形);2、编写程序输入5学生的姓名和年龄并打印出来,同时求出平均年龄。
3、编写学生成绩单程序,可以从键盘读取下列各项,1、学生姓名2、学科编号3、学生成绩(假设有4门课),此程序应显示考试分数,由于计算和显示5个学科的总分和平均分;1、编写一个程序,使用带参数的构造函数和一个方法显示两个整数的值。
创建两个对象,分别传递值集(10,20)和(30,40)。
重载+操作符,将这两个对象的两个x值和两个y值相加,形成一个新对象(x,y)2、编写一个方法重载的程序,定义两个同名的重载方法,一个方法只接受整数参数a,整数参数b;另一个方法接受小数参数a,整数参数b,并且都返回a的b次幂。
3、编写一个程序,用于模拟银行账户的基本操作,如为初始余额赋值,存取现金操作以及使用任意方式修改余额后都可以随时查看账户余额。
请用重载的带参数的构造函数4、以一教研室的环境为例,这里包括学生、教授还有职员。
对这些人员分别划分类层次,定义并实现相应的类。
学生:姓名、年龄、身份证号码、学号、年级、所属的导师(即就是由哪个导师带课题设计)职员:姓名、年龄、身份证号码、薪水。
教授:姓名、年龄、身份证号码、薪水、研究课题方向。
5、定义一个人员类Cperson,包括数据成员:姓名,编号,性别,用于输入输出的成员函数,在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和信息的输入和输出。
6、定义一个字符串类Cstrone,包含一格存放字符串的数据成员,能够通过构造函数初始化字符串,通过成员函数显示字符串内容,在此基础上,派生出Cstrtwo类,增加一个存放字符串的数据成员,并能通过派生类的构造函数传递参数初始化两个字符串,通过成员函数进行两个字符串的合并以及输出7、把定义平面直角坐标系的一个点的类Cpoint作为基类,派生出描述一条之间的类Line,再派生出一格矩形类,要求成员函数能求出两点间的距离,矩形的周长和面积。
java面向对象练习题
![java面向对象练习题](https://img.taocdn.com/s3/m/879bec5beef9aef8941ea76e58fafab068dc4458.png)
java面向对象练习题# Java面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。
2. 描述Java中接口和抽象类的区别。
3. 什么是Java中的继承?请举例说明如何使用继承。
三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。
为每个属性提供getter和setter方法。
2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。
为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。
3. 创建一个接口`Movable`,包含一个方法`move()`。
然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。
四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。
java面向对象试卷及答案汇总
![java面向对象试卷及答案汇总](https://img.taocdn.com/s3/m/d53dda1383c4bb4cf7ecd1b6.png)
java面向对象程序设计系班级姓名成绩A.没有区别,这两个结构任何情况下效果一样B.while循环比do…while循环执行效率高C.do…while循环执行次数可能为0D.while循环执行次数可能为06.关于for循环和while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断。
B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空7.下列修饰符中与访问控制无关的是()A.private B.publicC.protected D.final8.方法内的形参:()A.必须定义多个形参B.可以没有C.至少有一个D.只能是简单变量9.throws的作用:()A.表示方法可能会抛出例外B.表示后面是方法的输出量C.方法的标志,每个方法都必须有D.没有意义10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2C.4 D.811.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对12.return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象13.下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用14.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中15.构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时16.抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法17.关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。
java面向对象编程练习题及答案
![java面向对象编程练习题及答案](https://img.taocdn.com/s3/m/222ac514f6ec4afe04a1b0717fd5360cbb1a8d16.png)
java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
Java上机操作试题
![Java上机操作试题](https://img.taocdn.com/s3/m/59815face109581b6bd97f19227916888586b95c.png)
Java上机操作试题一、Java基础语法1. 请简要描述Java的基本数据类型及其占用的空间大小。
2. 请编写一个Java程序,输出以下的结果:12 23 3 34 4 4 45 5 5 5 5提示:使用循环语句和嵌套循环语句。
3. 请编写一个Java程序,实现以下功能:输入两个整数a和b,输出a和b的和、差、积、商和余数。
4. 请编写一个Java程序,实现以下功能:输入一个正整数n,输出n的所有因子。
提示:可以使用循环语句和判断语句。
二、面向对象编程1. 请简要描述Java中类和对象的概念。
2. 请编写一个Java程序,实现以下功能:设计一个圆类Circle,包含一个double类型的半径属性,以及圆的面积和周长的计算方法。
提示:可以使用Math中的常量和方法。
3. 请编写一个Java程序,实现以下功能:设计一个可爱的小猫类Cat,包含一个String类型的name属性和一个void类型的cry方法,输出“喵喵喵!”。
4. 请编写一个Java程序,实现以下功能:定义一个矩形类Rectangle,包含一个int类型的长和宽属性,以及计算矩形周长和面积的方法。
提示:在构造函数中将长和宽初始化。
三、异常处理1. 请简要描述Java异常处理的基本原理。
2. 请编写一个Java程序,实现以下功能:计算两个整数相除的结果,如果除数为0,抛出异常并输出“除数不能为0!”,否则输出计算结果。
3. 请编写一个Java程序,实现以下功能:设计一个数组类,包含一个int类型的数组属性和一个获取指定位置元素的方法,如果指定位置超出范围,抛出异常并输出“数组下标越界!”,否则输出指定位置元素。
4. 请编写一个Java程序,实现以下功能:模拟登录功能,输入用户名和密码,如果用户名或密码不正确,抛出异常并输出“用户名或密码错误!”,否则输出“登录成功!”。
提示:可以使用字符串的equals方法进行字符串比较。
以上试题侧重测试Java基础语法、面向对象编程以及异常处理的掌握情况。
JAVA面向对象编程上机 练习题汇总
![JAVA面向对象编程上机 练习题汇总](https://img.taocdn.com/s3/m/8721eb73783e0912a2162a1a.png)
【练习题】类的成员变量:猜数字游戏:一个类A有一个成员变量v,有一个初值100。
定义一个类,对A 类的成员变量v进行猜。
如果大了则提示大了,小了则提示小了。
等于则提示猜测成功。
【练习题】类的成员变量:请定义一个交通工具(Vehicle)的类,其中有:属性:速度(speed),体积(size)等等方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。
另外,调用加速,减速的方法对速度进行改变。
【练习题】类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。
那么,我们可以自己实现一个时间类,来满足程序中的需要。
定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。
为MyTime类定义构造方法,以方便创建对象时初始化成员变量。
再定义diaplay方法,用于将时间信息打印出来。
为MyTime类添加以下方法:addSecond(int sec)addMinute(int min)addHour(int hou)subSecond(int sec)subMinute(int min)subHour(int hou)分别对时、分、秒进行加减运算。
【练习题】构造方法编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。
编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。
Java 面向对象编程练习题及答案
![Java 面向对象编程练习题及答案](https://img.taocdn.com/s3/m/1c8e3073b80d6c85ec3a87c24028915f804d84b3.png)
Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。
如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。
答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。
java面向对象程序设计》考试卷及答案带注释
![java面向对象程序设计》考试卷及答案带注释](https://img.taocdn.com/s3/m/63bab4959b89680203d82593.png)
一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D)bEqual=str.equals("q")10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
java面向对象试题及答案
![java面向对象试题及答案](https://img.taocdn.com/s3/m/da2835338f9951e79b89680203d8ce2f006665f1.png)
java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。
答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。
面向对象编程的主要特点包括封装、继承和多态。
封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。
继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。
多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。
面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。
通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。
2. 试题二题目:什么是类?请简要描述类的特点和组成部分。
答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。
类是用来创建对象的蓝图,可以通过实例化类来创建对象。
类的特点包括了封装、继承和多态。
类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。
继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。
多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。
类的组成部分包括了属性(Field)和方法(Method)。
属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。
方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。
3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。
答案:传值和传引用是在方法调用时,参数传递的两种方式。
面向对象程序设计JAVA 历次上机答案(复习用)
![面向对象程序设计JAVA 历次上机答案(复习用)](https://img.taocdn.com/s3/m/8d915e1bcc7931b765ce15f7.png)
一JA V A上机实验编程题答案(红色字体为重要知识点)JA V A上机题(0)1 某应用软件的登录密码是123(整数),用户从键盘输入密码,如果正确则输出显示“欢迎使用本软件”的字样,如果密码错误则输出显示“密码错,请重新输入!”的字样。
(用==运算符实现)import java.util.*;class mima{void f(){System.out.println("请输入密码:");}}public class sj0_1 {public static void main(String args[]){Scanner reader=new Scanner(System.in);mima m=new mima();m.f();int s = 0;s=reader.nextInt();while(s!=123){System.out.println("密码错误,请重新输入:");s=reader.nextInt();}System.out.printf("欢迎使用本软件!");}}2 5个学生(每个学生学习了3门课),输入5个学生的学号(整数)和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。
(二维数组实现)import java.util.*;public class sj0_2 {public static void main(String args[]){int Stuscore[][]=new int[5][5];Scanner reader=new Scanner(System.in);int xuehao=0,Maxsum=0;System.out.printf("请输入学生的学号和各科的成绩:\n");for(int i=0;i<5;i++){for(int j=0;j<4;j++)Stuscore[i][j]=reader.nextInt();System.out.printf("\n");}for(int i=0;i<5;i++){for(int j=1;j<4;j++)Stuscore[i][4] +=Stuscore[i][j];if(Stuscore[i][4]>Maxsum)Maxsum=Stuscore[i][4];if(Maxsum==Stuscore[i][4])xuehao=i;}System.out.printf("总分最高的学生的学号和总分为:%d,%d",Stuscore[xuehao][0],Maxsum);}}3从键盘上输入若干成绩(正整数),输入的数以0为中止标记,输出最高成绩、最低成绩、90分以上人数。
Java面向对象基础试题汇总
![Java面向对象基础试题汇总](https://img.taocdn.com/s3/m/5c43fc461ed9ad51f01df293.png)
一、【必做题】Ⅰ.选择题1、列选项中哪个是类public class Test { }的默认构造方法___?(知识点:构造器)A. Test(;B. Test(void;C. public Test(;D. public Test(void;E. public void Test(;2、给定下列代码的执行结果是____?(知识点:构造器)public class A {void A( {System.out.println(“Class A”;}public static void main(String[] args {new A(;}}A. Class AB. 在第2行处抛出异常C. 编译错误D. 在第6行处抛出异常E. 代码执行后没有输出3、给定以下代码:(知识点:构造器)1. public class ConstOver {2. public ConstOver (int x, int y, int z {3. }4. }下列选项中,哪些可以在ConsOver类中定义成重载的构造方法____:A. ConstOver ( { }B. int ConstOver ( { }C. ConstOver (int z, int y, byte x { }D. Object ConstOver (int x, int y, int z { }E. void ConstOver (byte x, byte y, byte z { }4、以下代码的执行结果是_____?(知识点:static使用)A. 编译失败B. 编译成功,输出“0”C. 编译成功,输出“1”D. 编译成功,输出“2”5、以下代码的执行结果是____?(知识点:类的成员及方法中的变量)A. 代码编译成功,并且打印“s=”B. 代码编译成功,并且打印“s=null”C. 代码编译失败,因为s为被初始化D.代码编译失败,因为s不可以被引用E. 代码编译成功,但是运行时抛出NullPointerException6、给定以下代码:(知识点:Java中回收机制)12. void start( {13. A a = new A(;14. B b = new B(;15. a.s(b;16. b = null;17. a = null;18. System.out.println(“start completed”;}对于在第14行创建的对象b,系统什么时候会对它进行垃圾回收____?A. 在第16行之后B. 在第17行之后C. 在第18行之后(当函数执行完成后)D. 无法确定E. 垃圾回收器不会回收该对象Ⅱ. 程序分析题1、在指定位置上填写正确的代码:(知识点:static使用)public class CircleStatic{static double pi = 3.14;int radius=100;public static void main(String[ ] args{System.out.println(_pi_; //打印piCircleStatic c=new CircleStatic (;_System.out.println(_c.radius__; //打印radius}}2、下面的程序有错误,请修正,并说明原因:(知识点:static使用)public class CircleStatic {static double pi=3.14;int radius=100;public static void main(String[] args {System.out.println(pi;System.out.println(radius; //错误,非静态成员不能直接被访问。
Java面向对象编程练习题
![Java面向对象编程练习题](https://img.taocdn.com/s3/m/6328c901195f312b3069a50e.png)
专题1 初识Java一、填空题1.自从Sun推出Java以来,按应用围可分为三个版本,分别是()、()、()。
2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath为()。
3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。
4.如果Java源文件中有多个类,那么只能有一个类是()类。
二、选择题1.作为Java应用程序入口的main方法,其声明格式是()A.public static int main(String args[]) B.public static void main(String args[]) C.public void main(String args[]) D.public int main(String args[])2.下面命令正确的是()A.java AppFirst.java B.java AppFirstC.java appfirst.class D.javac AppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为()A.java FirstApplet B.javac FirstApplet.java C.appletviewer FirstApplet.java D.appletviewer FirstApplet.html 4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的()文件夹下。
A.bin B.jre C.include D.doc5.Java语言是一种__语言。
A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是__。
A.函数B.过程C.变量D.类三、简答题(十分重要)1.Java语言有哪些特点?2.JDK安装完成后,如何设置环境变量?4.简述Java应用程序的开发过程专题2 标识符、表达式、数据类型一、填空题1.Java逻辑常量有两个:()和()。
《面向对象程序设计(Java)》经典编程集(共60题,含答案)
![《面向对象程序设计(Java)》经典编程集(共60题,含答案)](https://img.taocdn.com/s3/m/cbada2a4d1f34693daef3e54.png)
《面向对象程序设计(Java)》经典编程集(共60题,含答案)/*一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第5次落地时,共经过多少米?第5次反弹多高?*//*输出7*7口诀*//*求1+2!+3!+...+10!的和*//*有5个人坐在一起,问第五个人多少岁?他说比第4个人大3岁。
问第4个人岁数,他说比第3个人大3岁。
问第三个人,又说比第2人大3岁。
问第2个人,说比第一个人大3岁。
最后问第一个人,他说是10岁。
请问第五个人多大? *//*求0--7所能组成的6位的奇数个数是多少个*//*有1、2、3、4、5、6、7、8、9个数字,能组成多少个互不相同且无重复数字的四位数?程序分析:可填在千位、百位、十位、个位的数字都是1、2、3、4、5、6、7、8、9。
组成所有的排列后再去掉不满足条件的排列。
*//*一个整数,它加上1000后是一个完全平方数,再加上1680又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上1000后再开方,再将该数加上2680后再开方,如果开方后的结果满足如下条件,即是结果。
请看具体分析*//*利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,80-89分之间的用B表示,70-79分之间的用C表示,60-69分之间用D表示,60分以下的用E表示。
(假定输入数字为95,判断等级)*//*题面:编写程序解决如下问题,小明有五本新书,要借给A,B,C三位小朋友,若每人每次只能借一本,求可以有多少种不同的借法?将结果打印输出*//*题面:编写程序解决如下问题,某人将一缸金鱼分5次出售,第一次卖出全部的一半加二分之一条;第二次卖出余下的三分之一加三分之一条;第三次卖出余下的四分之一加四分之一条;第四次卖出余下的五分之一加五分之一条;最后卖出余下的11条。
问原来的鱼缸中共有几条金鱼?将结果打印输出*//*题面:编写程序,一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数,以十进制输出。
java上机试题及答案
![java上机试题及答案](https://img.taocdn.com/s3/m/d359fb7aa9114431b90d6c85ec3a87c240288ae7.png)
java上机试题及答案Java上机试题及答案一、选择题1. 在Java中,以下哪个关键字用于声明一个类?- A. class- B. struct- C. interface- D. enum答案:A2. Java中用于捕获异常的关键字是?- A. try- B. catch- C. throw- D. finally答案:B二、填空题1. Java中,单精度浮点数使用的数据类型是________。
答案:float2. Java中,用于声明字符串的关键字是________。
答案:String三、编程题1. 编写一个Java程序,计算并输出100以内所有偶数的和。
```javapublic class EvenSum {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}System.out.println("The sum of even numbers within 100 is: " + sum);}}```四、简答题1. 简述Java中接口和抽象类的区别。
答案:接口和抽象类都是Java中实现抽象化的方式。
接口可以包含常量、抽象方法和默认方法,但不能包含状态信息;抽象类可以包含状态信息和非抽象方法。
接口中的所有方法默认为public,而抽象类中可以有private和protected方法。
接口不能实现其他接口,但可以继承多个接口;抽象类可以继承一个类,但不能继承另一个抽象类。
2. 描述Java中垃圾回收机制的基本原理。
答案:Java中的垃圾回收机制主要依赖于垃圾收集器(Garbage Collector, GC)。
GC通过追踪对象的引用来识别哪些对象是可达的,即被程序直接或间接引用的对象。
不可达的对象被认为是垃圾,GC会定期地回收这些对象占用的内存。
java面向对象试题及答案
![java面向对象试题及答案](https://img.taocdn.com/s3/m/937a82727275a417866fb84ae45c3b3567ecddfa.png)
java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。
(错误)2. Java中,接口可以继承接口。
(正确)3. Java中,一个类可以继承多个接口。
java面向对象编程练习题答案
![java面向对象编程练习题答案](https://img.taocdn.com/s3/m/2c8ddd757275a417866fb84ae45c3b3566ecdd45.png)
java面向对象编程练习题答案1. 面向对象编程中的三大特性是什么?A. 封装、继承、多态B. 抽象、封装、多态C. 封装、继承、抽象D. 继承、多态、抽象2. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. enumD. struct3. 以下哪个是Java中正确的构造方法定义?A. public void MyClass()B. public int MyClass()C. public MyClass()D. public MyClass(int value)4. 在Java中,以下哪个关键字用于实现封装?A. publicB. privateC. protectedD. static5. 以下哪个是Java中正确的继承方式?A. class Child extends ParentB. class Child extends ChildC. class Parent extends ChildD. class Child extends6. 多态在Java中是如何实现的?A. 通过继承B. 通过接口C. 通过重载D. 通过重写7. 在Java中,以下哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum8. 以下哪个是Java中正确的抽象类定义?A. public class MyClass {}B. public abstract class MyClass {}C. public abstract void MyClass()D. public abstract class MyClass { public abstract void method(); }9. 以下哪个是Java中正确的接口实现方式?A. class MyClass implements MyInterface {}B. class MyClass extends MyInterface {}C. interface MyInterface implements MyClass {}D. class MyClass implements MyClass {}10. 在Java中,以下哪个关键字用于定义一个静态方法?A. staticB. abstractC. finalD. synchronized11. 以下哪个是Java中正确的方法重载示例?A. public void display(int a, int b)B. public int display(int a, int b)C. public void display(int a)D. All of the above12. 在Java中,以下哪个关键字用于定义一个方法的返回类型?A. returnB. voidC. intD. method13. 以下哪个是Java中正确的方法重写示例?A. public void display() { super.display(); }B. public void display(int a) { super.display(a); }C. public void display() { System.out.println("Hello"); }D. public void display() {}14. 在Java中,以下哪个关键字用于定义一个类变量?A. staticB. finalC. privateD. protected15. 以下哪个是Java中正确的类变量访问方式?A. MyClass.variableB. new MyClass().variableC. MyClass().variableD. variable16. 在Java中,以下哪个关键字用于定义一个不可变变量?A. staticB. finalC. volatileD. transient17. 以下哪个是Java中正确的类方法定义?A. public void method() {}B. public static void method() {}C. public void MyClass.method() {}D. public static MyClass method()18. 在Java中,以下哪个关键字用于实现单例模式?A. synchronizedB. finalC. staticD. private19. 以下哪个是Java中正确的单例模式实现方式?A. public class Singleton { private static Singleton instance = new Singleton(); }B. public class Singleton { public static Singleton getInstance() { return new Singleton(); } }C. public class Singleton { private static Singleton instance; public static synchronized Singleton getInstance() { if (instance == null) instance = new Singleton(); return instance; } }D. All of the above20. 在Java中,以下哪个关键字用于定义一个枚举类型?A. enumB. classC. interfaceD. struct答案:1. A2. A3. C4. B5. A6. D7. B8. D9. A10. A11. D12. B13. A14. A15. A16. B17. B18. D19. C20. A。
《JAVA面向对象程序设计》练习题-参考答案
![《JAVA面向对象程序设计》练习题-参考答案](https://img.taocdn.com/s3/m/e46cdf3627d3240c8447ef68.png)
《JA V A语言程序设计》练习题1一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A. .javaB. .classC. .htmlD. .exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。
A. 3B. 3. 5C. 4D. 53、不允许作为类及类成员的访问控制符的是( )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )5、给定java 代码如下,编译运行后,输出结果是( )(选择一项)。
public class test {static int i;public int aMethod() {i++;return i;}public static void main (String args[]) {Test test=new Test() ;test.aMethod () ;System.out.println (test.aMethod()) ;} }a) 0 b) 1 c) 2 d) 3二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x = 2 ,则表达式( x + + )/3 的值是0 。
java面向对象试题及答案
![java面向对象试题及答案](https://img.taocdn.com/s3/m/0b0ffc3a49d7c1c708a1284ac850ad02de800796.png)
java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。
面向对象编程的三大特性是封装、继承和多态。
- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。
- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。
例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。
- 多态:多态允许同一个接口接受不同的数据类型。
在Java中,可以通过重写父类的方法来实现多态。
例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。
2. 解释Java中的接口和抽象类的区别。
接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【练习题】类的成员变量:猜数字游戏:一个类A有一个成员变量v,有一个初值100。
定义一个类,对A 类的成员变量v进行猜。
如果大了则提示大了,小了则提示小了。
等于则提示猜测成功。
【练习题】类的成员变量:请定义一个交通工具(Vehicle)的类,其中有:属性:速度(speed),体积(size)等等方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。
另外,调用加速,减速的方法对速度进行改变。
【练习题】类的成员变量与方法、构造方法在程序中,经常要对时间进行操作,但是并没有时间类型的数据。
那么,我们可以自己实现一个时间类,来满足程序中的需要。
定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。
为MyTime类定义构造方法,以方便创建对象时初始化成员变量。
再定义diaplay方法,用于将时间信息打印出来。
为MyTime类添加以下方法:addSecond(int sec)addMinute(int min)addHour(int hou)subSecond(int sec)subMinute(int min)subHour(int hou)分别对时、分、秒进行加减运算。
【练习题】构造方法编写Java程序,模拟简单的计算器。
定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。
编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。
在main方法中创建Number类的对象,调用各个方法,并显示计算结果。
【练习题】构造方法:编写Java程序,用于显示人的姓名和年龄。
定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。
定义构造方法,用来初始化数据成员。
再定义显示(display)方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
【练习题】get方法和set方法定义一个类,该类有一个私有成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法提示:假设有private String name;则有public void setName(String name){=name;}public String getName(){return ;}【练习题】构造方法与重载为“无名的粉”写一个类:class WuMingFen要求:1.有三个属性:面码:String theMa粉的分量(两):int quantity是否带汤:boolean likeSoup2.写一个构造方法,以便于简化初始化过程,如:WuMingFen f1=new WuMingFen("牛肉",3,true);3.重载构造方法,使得初始化过程可以多样化:WuMingFen f2=new WuMingFen("牛肉",2);4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?WuMingFen f3=new WuMingFen();5.写一个普通方法:check(),用于查看粉是否符合要求。
即:将对象的三个属性打印在控制台上。
【练习题】构造方法的重载:定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。
编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),并编写构造方法。
编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。
在main方法中测试以上各类。
【练习题】构造方法与重载定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。
在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"@"【练习题】构造方法与重载、包编写Addition类,该类中应包含一组实现两数相加运算的重载方法。
实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。
考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。
在main方法中创建Addition类的实例,分别调用重载方法测试其效果。
应将Addition类打入到包中,以自己名字的拼音为包命名。
【练习题】构造方法与重载将上次练习题三中编写的MyTime类打到以自己名字的拼音命名的包中,并为该类重载一组构造方法,以方便使用者能够以多种形式初始化该类的实例。
【练习题】构造方法与重载建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。
并通过不同的构造方法创建事例。
至少要求:汽车能够加速,减速,停车。
要求:命名规范,代码体现层次,有友好的操作提示。
【练习题】构造方法与重载创建一个类,为该类定义三个构造函数,分别执行下列操作:1、传递两个整数值并找出其中较大的一个值2、传递三个double值并求出其乘积3、传递两个字符串值并检查其是否相同4、在main方法中测试构造函数的调用【练习题】Static关键字与普通变量的区别:创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。
对变量分别赋予10和5的初始值。
在main()方法中输出变量值。
【练习题】继承:创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。
MainClass类应当包含变量声明,其值从构造函数中输出。
MainSubClass类从MainClass派生而来。
试执行下列操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个MainSubClass类的对象。
【练习题】包、继承、构造函数创建一个名称为MainPackage的包,使它包含MainClass和MainSubClass类。
MainClass类应当包含变量声明,其值从构造方法中输出。
MainSubClass类从MainClass派生而来。
试执行下列操作:创建一个名称为SamePackage的类,使它导入上述包,并创建一个MainSubClass类的对象。
【练习题】继承:创建一个父类和子类,父类有一个数据成员,子类继承父类的该数据成员,通过构造函数初始化并显示该数据成员的值。
【练习题】覆盖、继承建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。
并通过不同的构造方法创建实例。
至少要求:汽车能够加速,减速,停车。
再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法【练习题】抽象类与继承设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。
使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。
本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。
【练习题】抽象类:创建一个Vehicle类并将它声明为抽象类。
在Vehicle类中声明一个NoOfWheels 方法,使它返回一个字符串值。
创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。
在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。
创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
【练习题】抽象类:创建一个Vehicle类并将它声明为抽象类。
在Vehicle类中声明一个NoOfWheels 方法,使它返回一个字符串值。
创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。
在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。
创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。
【练习题】接口:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。
在两个名称分别为Bike和Bus的类中实现Vehicle接口。
创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。
【练习题】接口:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。
在两个名称分别为Bike和Bus的类中实现Vehicle接口。
创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。
【练习题】抽象类、继承、接口综合设计一个系统:XXX门的实现过程:流程:设计一张抽象的门Door,那么对于这张门来说,就应该拥有所有门的共性,开门openDoor()和关门closeDoor();然后对门进行另外的功能设计,防盗--theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈……要求:利用继承、抽象类、接口的知识设计该门【练习题】抽象类、继承、接口综合设计一个系统:xxx纯净水生产线目前流程是:从某个地方把水取出来,然后经过缓冲,过滤,加热和放糖的步骤abstract水{public void水();}interface过滤{}interface缓冲{}interface加热{}interface放糖{}class纯净水1extends水imps过滤,缓冲{}class纯净水2extends水imps缓冲{}class纯净水2extends水imps过滤{}。