JAVA基础 第3章类与对象_练习题_200910
更新时间:2024-05-02 08:09:01 阅读量: 综合文库 文档下载
- java基础知识点推荐度:
- 相关推荐
Java基础 第3章练习题 大外软件学院
第3章 类与对象
一.选择题
1.下列不属于面向对象编程的特性是(D)。
A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。
A. class People{?} B. class 植物{?}
C. Class A{?} D. public class 共有类{? 3.下列方法的声明中不合法的是(C)。
A. float area(){?} B. void area(){?} C. double area(d){?} D. int area(int r){?} 4. 下列构造方法(构造器)的调用中正确的是(C)。
A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; }
public class A{
static void f(Book p){ p.width=20; p.length=40; }
public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b);
System.out.print(\ System.out.print(\ }
}
A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。
public class A{
static void f(int y){ y=y+10; }
public static void main(String args[]){ double x=10; f(x);
System.out.println(x); }
}
第1页 共13页
Java基础 第3章练习题 大外软件学院
A. 10 B. 20 C. 10.0 7.下列程序运行的结果是(C)。
public class A{ int z=20;
static void f(int y){ y=z;
System.out.println(y); }
public static void main(String args[]){ f(10); }
}
A. 10 B. 20 C. 程序编译错误 8. 以下代码的输出结果为(C)。
public class Pass{ static int j=20;
public static void main(String args[]){ int i=10;
Pass p = new Pass(); p.amethod(i);
System.out.println(i+\ }
public void amethod(int x){ x=x*2; j=j*2; } }
A.错误: 方法参数与变量不匹配 B. 20 and 40 C. 10 and 40 D. 10 and 20
9. 编译和运行程序会出现什么样的结果(A)。 public class Ref{
public static void main(String args[]){ Ref r = new Ref(); r.amethod(r); }
public void amethod(Ref r){ int i=99; multi(r);
System.out.println(i); }
public void multi(Ref r){ r.i = r.i * 2;
第2页 共13页
D. 程序编译错误 D. 以上都不对 Java基础 第3章练习题 大外软件学院
}
}
A.编译出错 B. 输出:99 C. 输出:198 10. 关于以下程序代码的说明正确的是(D)。
1.class HasStatic{
2. static int x=100; int y=0;
3. public static void main(String args[]){ 4. HasStatic hs1=new HasStatic(); 5. hs1.x++;
6. HasStatic hs2=new HasStatic(); 7. hs2.x++;
8. hs1=new HasStatic(); 9. hs1.x++;
10. HasStatic.x- -;
11. System.out.println(\12. } 13.}
A.5行不能通过编译,因为引用了私有静态变量 B.10行不能通过编译,因为x是私有静态变量 C.程序通过编译,输出结果为:x=103 D.程序通过编译,输出结果为:x=102 11. 有如下代码:
public class Test {
void printValue(int m){ do {
System.out.println(\
}while( --m > 10 ); }
public static void main(String arg[]) { int i=10;
Test t= new Test(); t.printValue(i); }
}
其输出结果是什么(C)。
A. The value is 8 B. The value is 9 C. The value is 10 D. The value is 11 12. 以下代码的调试结果为(D)。 1. public class Q21 2. {
3. int maxElements; 4.
5. void Q21() 6. {
D. 运行出错
第3页 共13页
Java基础 第3章练习题 大外软件学院
7. maxElements = 100;
8. System.out.println(maxElements); 9. } 10.
11. Q21(int i) 12. {
13. maxElements = i;
14. System.out.println(maxElements); 15. } 16.
17. public static void main(String[] args) 18. {
19. Q21 a = new Q21(); 20. Q21 b = new Q21(999); 21. } 22. }
A. 输出 100 和 999 B.输出 999 和 100
C.第3行出现编译错误, 变量 maxElements 未初始化 D. 第19行出现编译错误 13. 给出如下类定义:
public class test { test(int k) {?}
}
如果要创建一个该类的对象,正确的语句是(B)。
A. test obj1=new test(); B. test obj1=new test(5); C. test obj1=new test(\D. test obj1=new test(3.4); 14. 指出下列哪个方法不能与方法public void add(int a){?}重载(A)。
A. public int add(int b) B. public void add(double b) C. public void add(int a, int b) D. public void add(float g) 15.下面程序的输出结果是什么(C)。
class J_Test{ int m_i = 2; String m_s = null; J_Test(){ m_i = 3; m_s = \ } public static void main(String args[]){ J_Test app = new J_Test(); System.out.println(app.m_i+app.m_s); }
第4页 共13页
Java基础 第3章练习题 大外软件学院
}
A. 2null B. 3null C. 3constructor D. 以上都不对 16. 下面程序的输出结果是什么(A)。
class J_Test{ int m_i = 2; String m_s = null; void J_Test(){ m_i = 3; m_s = \ } public static void main(String args[]){ J_Test app = new J_Test(); System.out.println(app.m_i+app.m_s); }
}
A. 2null B. 3null C. 3constructor D. 以上都不对 17.下列代码的运行结果是(D)。
public class J_Test{ static short m_index; static int m_age; public static void mb_setData(long n){ m_index = n; } public static void main(String args[]){ mb_setData(98); System.out.println(\;Age=\ }
}
A. Index = 98 ;Age=0 B. Index = 0 ;Age=0 C. Index = 0;Age=98 D. 以上都不对 18.下列程序的运行结果为(B)。 public class J_Test{ static char m_name; static int m_age;
public static void mb_setData(char n){
m_name = n; } public static void mb_setData(int n){ m_age = n; } public static void main(String args[]){ mb_setData((int)’a’);
mb_setData((char)98);
System.out.println(\;Age=\
第5页 共13页
Java基础 第3章练习题 大外软件学院
} }
A.Name=98;Age=97 B. Name=b;Age=97 C. Name=97;Age=B D. 以上都不对 19. 程序的运行结果为(A)。 public class J_Test{ static short m_index; static int m_age;
public static void mb_setData(short n){
m_index = n; } public static void mb_setData(int n){ m_age = n; } public static void main(String args[]){
mb_setData(98);
System.out.println(\;Age=\ }
}
A. Index=0;Age=98 B. Index=98;Age=0 C. Index=0;Age=0 D. 以上都不对 二.编程题(温馨提示:编程时尽量不要使用中文标识符。)
1. 编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。
具体要求如下:
1)Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,
包括一个构造方法对上底、下底、高进行初始化。
2)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的
功能,包括一个构造方法对半径进行初始化。 3)创建主类,用来测试类Lader和类Circle的功能。 1. class Lader {
double 上底, 下底, 高, 面积;
Lader(double a, double b, double h) { 上底 = a; 下底 = b; 高 = h;
}
double getArea(){
//将计算结果存放在对象的成员变量里面,且作为函数值返回。 面积 = (上底 + 下底) * 高 / 2; return 面积; } }
class Circle {
double 半径, 周长, 面积;
第6页 共13页
Java基础 第3章练习题 大外软件学院
Circle(double r) { 半径 = r; }
double getLength() {
周长 = 3.14 * 2 * 半径; return 周长; }
double getArea() {
面积 = 3.14 * 半径 * 半径;
return 面积;
} }
class One {
public static void main(String[] args) {
Lader la = new Lader(3,4,2); //参数类型相同或相容
la.getArea(); //必须先调用该方法,面积属性才有相应值。 System.out.println(\梯形的面积为:\面积); Circle cr = new Circle(1);
System.out.println(\圆的周长为:\ System.out.println(\圆的面积为:\ }
}
2. 建立一个名叫Cat的类,具有属性:姓名、毛色、年龄;具有行为:显示姓名、喊叫。
编写主类,在主类中创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为 2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。 2.class Cat {
String name; String color; int age;
void showName(){
System.out.println(name); }
void cry(){
System.out.println(\喵喵\ }
}
public class Two {
public static void main(String[] args) { Cat c = new Cat(); c.name=\妮妮\ c.color=\灰色\ c.age=2;
System.out.println(\ System.out.println(\
第7页 共13页
Java基础 第3章练习题 大外软件学院
c.showName(); c.cry(); } }
3. 创建一个叫做People的类,具有属性:姓名、年龄、性别、身高;具有行为:说话、
计算加法、改名;还有能为所有属性赋值的构造方法。 创建主类,在主类中创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80; 让该对象调用成员方法:说出“你好!”,计算23+45的值,并将名字改为“李四”。 3. class People { String name; int age; char sex; float height;
People(String n, int a, char s, float h){ name = n; age = a; sex = s; height = h; }
void speak(String s){
System.out.println(s); }
double add(double x, double y){ return x+y; }
void rename(String m){ name = m; }
}
public class Three {
public static void main(String[] args) {
People zhang3 = new People(\张三\男',1.80f); zhang3.speak(\你好!\
System.out.println(\ zhang3.rename(\李四\
System.out.println(zhang3.name); }
}
4. 创建一个叫做机动车的类:
属性:车牌号(String),车速(int),载重量(double)。
功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。
编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置
为100,载重量设置为100;另一个能为对象的所有属性赋值。
第8页 共13页
Java基础 第3章练习题 大外软件学院
创建主类:
创建两个机动车对象。创建第一个时调用无参数的构造方法,调用成员方 法使其车牌为“辽A9752”,并让其加速。
创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为 150,载重为200,并让其减速。输出两辆车的所有信息。
4. class Vehicle{
String id; int speed; double load; void upSpeed(){ ++speed; }
void downSpeed(){ --speed; }
void idChanging(String i){ id = i; }
double showLoad(){ return load; }
Vehicle(){
id = \ speed = 100; load = 100; }
Vehicle(String i, int s, double l){ id = i; speed = s; load = l; } }
public class Four {
public static void main(String[] args) { Vehicle v1 = new Vehicle(); v1.idChanging(\辽A9752\ v1.upSpeed();
Vehicle v2 = new Vehicle(\辽B5086\ v2.downSpeed();
System.out.println(v1.id+\ System.out.println(v2.id+\ } }
5. 创建一个point类,有成员变量x、y,方法getX()、setX(),还有一个构造方法用于初
第9页 共13页
Java基础 第3章练习题 大外软件学院
始化x和y。创建主类来测试它。 5. class Point { double x,y;
Point(double x, double y){ this.x=x; this.y=y; }
public double getX() { return x; }
public void setX(double x) { this.x = x; } }
public class Five {
public static void main(String[] args) { Point p = new Point(1,2); p.setX(3);
System.out.println(p.getX()); } }
6. 创建一个三角形类,有成员变量三条边,有方法求周长,创建主类来测试它。 6. class Triangle{ double a,b,c;
double getLength(){ return a+b+c; }
}
public class Six {
public static void main(String[] args) { Triangle t = new Triangle(); t.a = 2; t.b = 3; t.c = 4;
System.out.println(\周长=\ }
}
7. 编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),
1)如果x的值是1,在控制台打印出大写的英文字母; 2)如果x的值是2,在控制台打印出小写的英文字母。
其次,再定义一个主类,在主类的main方法中创建Print类的对象,使用这个对象调
第10页 共13页
Java基础 第3章练习题 大外软件学院
用方法output ()来打印出大小写英文字母。 7. class Print{
void output(int x){ char c; if (x==1){
for(c='A';c<='Z';c++) System.out.print(c); }
if (x==2){
for(c='a';c<='z';c++) System.out.print(c); }
System.out.println(); } }
public class Seven {
public static void main(String[] args) { Print p = new Print(); p.output(1); p.output(2); } }
8. 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号” 和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,
在主类中测试Account类的功能。 class Account {
String id; double money;
void save(double x) { money = money + x; }
void get(double y) { money = money - y; }
void select() {
System.out.println(\余额=\ } }
public class Eight {
public static void main(String[] args) { Account kaien = new Account(); kaien.save(10000); kaien.get(200); kaien.select();
第11页 共13页
Java基础 第3章练习题 大外软件学院
} }
9. 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型成员变量
分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化, 还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类,在主类 的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时 间。
9. class Clock{
int hour,second,minute; Clock(int h, int s, int m){ hour = h; minute = m; second = s; }
void show(){
System.out.println(hour + \ }
}
public class Nine {
public static void main(String[] args) { Clock c1 = new Clock(21,16,30); c1.show();
Clock c2 = new Clock(12,12,12); c2.show();
Clock c3 = new Clock(3,3,3); c3.show(); }
}
10.编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、姓名
(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类,在主类的 main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。 10.class Student{
int id;
String name; int age;
Student(int i, String n, int a){
id = i; name = n; age = a; }
void outPut(){
System.out.println(\学号=\+ id + \姓名=\+ name + \年龄=\+ age); }
第12页 共13页
Java基础 第3章练习题 大外软件学院
}
public class Ten {
public static void main(String[] args) { Student s1 = new Student(1,\ s1.outPut();
Student s2 = new Student(2,\ s2.outPut();
Student s3 = new Student(3,\ s3.outPut(); } }
第13页 共13页
正在阅读:
JAVA基础 第3章类与对象_练习题_20091005-02
做一个有素质的人作文500字07-07
有限元讲义 2-弹性力学平面问题有限单元法(2.6四结点四边形等参03-28
1.我们的民族小学03-08
几个小窍门助你学好初中化学03-30
暑假趣事的作文600字左右5篇04-07
FscgqbWindows Mobile 手机注册表详解02-01
2018年入党介绍人意见范文09-08
- 发电电气运行规程1
- 英文简历
- 最全辅导员招聘考试题库
- 4.3崇明岛的未来的样子
- 2012年上海市普通高校招生二本批次各校投档分数线
- 江苏省如皋中学2017-2018学年第一学期高三第二次阶段测试12月数
- 农业转移人口社会参与机制浅谈
- 2017-2018学年度牛津译林版8B英语初二期中试卷及答案
- 家长委员会上的讲话
- 05继电保护设备检修规程
- 组织行为学考试重点(陈春花)
- 2016年云南省公务员考试《行测》模拟试卷(十七)
- 规避“10号文”红筹系列之案例分析
- 钱寨小学学生读书活动评价方案
- 五大联赛派系
- 国际结算课件新
- 材料科学导论 - 图文
- 领导干部任前廉政法规考试模拟试题
- 汽车综合实训
- 医疗质量管理目录
- 练习题
- 对象
- 基础
- 200910
- JAVA
- 全国基层卫生技能竞赛题库(基本公卫部分)---高血压患者健康管理
- 某住宅小区工程施工组织设计
- 会计知识大赛竞赛试题
- 2013年临川一中高考考生录取一本院校名单
- 南昌幼儿园
- 劳动者工龄计算法规集锦
- 2015年高中化学竞赛辅导无机化学2.1化学热力学的体系与状态知识
- 施工组织设计- 副本 - 图文
- 基于自动微分技术的内点法最优潮流算法
- 如何激发青年员工的积极性
- 海北佳苑拆迁安置小区桩基检测项目招标文件
- 旅游市场学教案新
- TJ-09标地下连续墙钢筋笼吊装方案 - 图文
- 多重序列比对的数学模型与算法
- 财务会计习题集含参考答案
- 加热反应炉的PLC控制
- 第四纪试题考点
- 船舶驾驶室集中控制台(屏)
- 应用统计学练习题(含答案)
- 2015版中心试验室自校规程