201209学期JAVA语言与面向对象程序设计作业2
第4章-Java语言与面向对象作业习题与答案
第4章 Java语言与面向对象作业习题与答案一、简答题1.什么是对象?什么是类?对象是一种抽象数据类型。
它包含了事物的静态特征(属性)和动态特征(行为)两大特征。
类是一组同种对象的集合与抽象。
即是具有相同属性和方法的一组对象集合。
2.Java语言的单继承是指什么?一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。
3.在一个共有类中的数据成员与方法成员的访问控制符为缺省,则这个类可供什么样的包引用?当一个类的访问控制符为public共有时,说明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。
4.抽象类的用途(1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性;(2)设计出的类也具有更加良好的可扩展性。
5.什么是非静态的成员变量?非静态成员即为实例成员变量(没有加static修饰的变量)。
6.异常Exception和错误Error有什么不同?Java如何处理它们?答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。
异常表示另外一种“非同寻常”的错误。
这种错误通常是不可预测,但可以被捕获且可以恢复。
常见的异常情况包括存不足、找不到所需文件等。
对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。
对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。
7.简单述Java的异常处理机制。
答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。
8.简单述throw语句和throws关键字之间的差别。
面向对象程序设计技术-作业2
作业二一、写出下列程序运后的输出结果1. #include<iostream.h>void SB(char ch){switch(ch){case 'A':case 'a':cout<<"well!";break;case 'B':case 'b':cout<<"good!";break;case 'C':case 'c':cout<<"pass!";break;default:cout<<"bad!";break;} }void main(){char a1='b',a2='C',a3='f';SB(a1);SB(a2);SB('A');cout<<endl; }======== 屏幕输出如下 ======== Xuehao: xxxx name: xxxxgood!pass!well!Press any key to continue_===============================2. #include<iostream.h>#include<stdlib.h>double SD(int a,int b,char op){ double x;switch(op){case '+':x=double(a)+b;break;case '-':x=double(a)-b;break; case '*':x=double(a)*b;break; case '/': if (b) x=double(a)/b;else exit(1);break;default:exit(1); }return x; }void main(){int x=20,y=12;cout<<SD(x,y,'-')<<' ';cout<<SD(x,y,'*')<<' ';cout<<SD(x+y,y-2,'/')<<endl; } ======== 屏幕输出如下 ======== Xuehao: xxxx name: xxxx8 240 3.2Press any key to continue_===============================3. #include<iostream.h>void main(){int s=0;for(int i=1;i<6;i++)s+=i*i;cout<<"s="<<s<<endl; }======== 屏幕输出如下 ======== Xuehao: xxxx name: xxxxs=55Press any key to continue_===============================4. #include <iostream.h>void main(){int s=0;for( int i=1;;i++){if(s>50)break;if(i%3==0)s+=i; }cout<<"i,s="<<i<<","<<s<<endl; } ======== 屏幕输出如下 ======== Xuehao: xxxx name: xxxxi,s=19,63Press any key to continue_===============================5. #include <iostream.h>void main(){int s1=0,s2=0;for(int i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;cout<<s1<<' '<<s2<<endl; }======== 屏幕输出如下 ======== Xuehao: xxxx name: xxxx25 20Press any key to continue_===============================6. #include <iostream.h>void main(){int n=10,y=1;while(n--){y++;++y;}cout<<"y*y="<<y*y<<endl; }======== 屏幕输出如下 ========Xuehao: xxxx name: xxxxy*y=441Press any key to continue_===============================二、写出下列每个函数的功能1. #include <iostream.h>int SA(int a,int b){if(a>b)return 1;elseif(a==b) return 0;else return -1; }功能:判断a和b,如果a>b返回1;a=b返回0;a<b返回-12. #include <iostream.h>int SC(int a,int b,int c){if(a>=b && a>=c) return a;if(b>=a && b>=c) return b;if(c>=a && c>=b) return c; }功能:返回a,b,c三个数中的最大数3. int SE(int n){int x;cin>>x;if(n==1) return x; int m=x;while(--n){cin>>x;m+=x; }return m; }功能:计算n个数的累加和4. double SF(double x,int n){double p=1,s=1;for(int i=1;i<=n;i++){p*=x;s+=p/(i+1); }return s; }功能:计算1+X/2+X2/3…+X n/(n+1) 5. #include <math.h>bool SG(int x){int a=int(sqrt(x));int i=2;while(i<=a){if(x%i==0) break;i++; }if (i<=a) return 0;else return 1; }功能:判断X是否为素数,若是素数返回1,不是素数返回06. float FH(){float x,y=0,n=0;cin>>x;while(x!=-100){n++;y+=x;cin>>x; }if(n==0) return y;else return y/n; }功能:输入N个数,返回N个数的平均值,如果N=0,返回0,当输入值为-100时结束输入开始计算。
Java语言与面向对象程序设计作业2
Java语言与面向对象程序设计作业2单项选择题第1题下列语句序列执行后,b的值是()。
int a=2,b=4; if(a<--b)a*=a;A、5B、3C、15D、10答案:B第2题下列程序段执行后b3的结果是()。
boolean b1=true,b2=true,b3; b3=!b2?b2:!b2;A、0B、1C、trueD、false答案:D第3题为了使包sos中的所有类在当前程序中可见,可以使用的语句是()。
A、import sos.*;B、package sos.*;C、sos import;D、sos package;答案:A第4题下列关于修饰符混用的说法,错误的是()。
A、abstract不能与final并列修饰同一个类B、abstract类中不可以有private的成员C、abstract方法必须在abstract类中D、staic方法中能处理非static的属性答案:D第5题执行下面程序段后,b,x,y的值分别是()。
int x=6,y=8;boolean b;b=x>y&&++x==--y;A、true,6,8B、false,7,7C、true,7,7D、false,6,8答案:D第6题在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。
A、java.ioB、java.awtC、java.appletD、java.awt.event答案:D第7题下例操作的结果是什么?()System.out prinln(4|3);A、6B、0C、1D、7答案:D第8题为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( )答案:A第9题通过调用new List(10,false)创建一个列表,关于该列表的几个说法哪项是错误的()。
java面向对象程序设计 习题答案
java面向对象程序设计习题答案Java面向对象程序设计习题答案Java是一种广泛应用于软件开发的编程语言,而面向对象程序设计(Object-Oriented Programming,简称OOP)则是一种常用的编程范式。
在学习Java的过程中,习题是非常重要的一部分,通过解答习题可以帮助我们巩固所学的知识,并提升编程能力。
本文将为大家提供一些Java面向对象程序设计习题的答案,希望能对大家的学习有所帮助。
1. 编写一个Java类,实现一个简单的计算器功能。
该计算器应该具有加、减、乘、除四种基本运算功能,并能够接受用户输入的两个操作数和运算符。
在计算结果后,将结果输出给用户。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个操作数:");double num1 = scanner.nextDouble();System.out.print("请输入第二个操作数:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):"); String operator = scanner.next();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("无效的运算符!");return;}System.out.println("计算结果为:" + result);}}```2. 编写一个Java类,实现一个简单的学生管理系统。
java语言与面向对象程序设计形考2-0002
11.(3分)
下面哪一个是正确的类的声明?
A、public void HH{…}
B、public class Move(){…}
C、public class void number{}
D、public class Car{…}
12.(3分)
System类位于以下哪个包中?
D、Outer.Inner in = new Outer().new Inner();
3.(3分)
下列哪一种叙述是正确的?
A、abstract修饰符可修饰字段、方法和类
B、抽象类可以实例化
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
4.(3分)
以下声明合法的是?
A、default String s;
java语言与面向对象程序设计形考2-0002
试卷总分:100
单选题(共15题,共45分)
开始说明:
结束说明:
1.(3分)
有如下代码段: 1) 2) { if(unsafe()){//do something…} 3) else if(safe()){//do the other…} 4) } 其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?
下面哪些可以使用static关键字修饰?
A、成员变量
B、局部变量
C、成员方法
D、成员内部类
判断题(共15题,共45分)
开始说明:
结束说明:
21.(3分)
构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。
A、public IOException methodName()
java面向对象程序设计 习题答案
java面向对象程序设计习题答案《Java面向对象程序设计习题答案》在Java编程语言中,面向对象程序设计是一种重要的编程范式,它通过将现实世界中的事物抽象成对象和类的形式,来实现程序的设计和开发。
为了帮助大家更好地理解和掌握面向对象程序设计的知识,下面我们将通过一些习题来讲解相关的答案。
1. 什么是面向对象程序设计?面向对象程序设计是一种以对象为基础的程序设计方法,它将程序中的数据和操作封装在对象中,通过对象之间的交互来实现程序的功能。
面向对象程序设计具有封装、继承和多态等特性,能够提高程序的可维护性和扩展性。
2. 什么是类和对象?类是一种用来描述对象的模板,它定义了对象的属性和行为。
而对象则是类的实例,它具体描述了类的属性和行为。
在Java中,通过关键字“class”来定义类,通过关键字“new”来创建对象。
3. 什么是封装?封装是面向对象程序设计的一个重要特性,它指的是将数据和操作封装在对象内部,对外部隐藏对象的内部实现细节。
通过封装,可以保护对象的数据不被外部直接访问和修改。
4. 什么是继承?继承是面向对象程序设计的另一个重要特性,它指的是一个类可以派生出子类,子类可以继承父类的属性和行为。
通过继承,可以实现代码的重用和扩展。
5. 什么是多态?多态是面向对象程序设计的另一个重要特性,它指的是同一个操作对不同对象有不同的行为。
通过多态,可以实现接口的统一和灵活的程序设计。
通过以上习题的答案,我们可以更好地理解和掌握面向对象程序设计的知识。
希望大家在学习Java编程语言的过程中,能够加强对面向对象程序设计的理解和应用,提高自己的编程能力。
java面向对象程序设计课后习题答案
java面向对象程序设计课后习题答案Java面向对象程序设计课后习题答案在学习Java面向对象程序设计课程时,课后习题是巩固知识、提高能力的重要方式。
通过完成习题,我们可以加深对Java面向对象编程的理解,掌握相关知识和技能。
下面就让我们来看一些常见的Java面向对象程序设计课后习题答案。
1. 编写一个Java程序,实现一个简单的学生类,包括学生的姓名、年龄、性别等属性,以及学生的基本操作方法(比如说,设置姓名、获取年龄等)。
这个习题可以让我们练习如何定义类、属性和方法,以及如何使用类的实例。
```javapublic class Student {private String name;private int age;private String gender;public void setName(String name) { = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void setGender(String gender) {this.gender = gender;}public String getGender() {return gender;}}```2. 编写一个Java程序,实现一个简单的图书类,包括图书的名称、作者、价格等属性,以及图书的基本操作方法(比如说,设置价格、获取作者等)。
这个习题可以让我们练习如何定义类、属性和方法,以及如何使用类的实例。
```javapublic class Book {private String title;private String author;private double price;public void setTitle(String title) {this.title = title;}public String getTitle() {return title;}public void setAuthor(String author) {this.author = author;}public String getAuthor() {return author;}public void setPrice(double price) {this.price = price;}public double getPrice() {return price;}}```通过完成这些习题,我们可以逐渐掌握Java面向对象程序设计的基本原理和技巧,为以后的学习和实践打下坚实的基础。
java《面向对象程序设计》作业
课后作业第一章Java语言基础知识1.程序设计语言发展的历程答案:机器语言、汇编语言、高级语言、面向对象的语言2.面向对象语言的基本特征答案:抽象和封装、继承性、多态性3.Java语言的特点答案:java语言是一种卓越的程序设计语言,它具有以下特点。
1.面向对象2.简单性3.可移植性4.稳定性和安全性5.高性能6.分布性4. 为什么Java语言是跨平台的?答案:因为Java程序的最终实现需要经过编译和解释两个步骤,Java语言的编译器生成可执行的字节码,这种代码是由Java虚拟机生成的,它与任何硬件平台无关。
当生成字节码后,再使用Java解释器来执行字节码,这也就意味着只要有安装Java解释器的机器Java程序都可以运行,所以它是跨平台的面向对象的程序设计语言。
5. Java2的SDK是什么?答:Java2的SDK指Software Development Kit 软件开发工具集6. Java开发工具中的javac.exe和java.exe的功能是什么?答案:Javac.exe是Java编译器,用来将java程序编译成字节码。
Java.exe是Java解释器,执行已经转换成Bytecode的java应用程序。
7. Java集成开发环境有哪些?答案:Java集成开发环境主要有:Eclipse、netBeans、Jcreator LE、BorlandJbuilder、Microsoft Visual J++、IBM : Visual Age for Java、Sun ONE Studio 8.Java程序编译执行的过程答案:Java语言源程序的变异过程主要进行两件工作:1.通过编译程序检查Java源程序中是否有语法错误,如果发现错误,便报告已发现的错误,修改后再编译,直到未发现错误时才生成字节码文件。
2.通过编译来引入Java类库中已编好的模块,为了方便编程,Java类库中有若干个包,每个包中有若干个模块,每个模块是一个具有某种功能的类,它们都是字节码形式的程序。
北航《Java语言与面向对象程序设计》在线作业二满分答案
北航《Java语言与面向对象程序设计》在线作业二一、单选题(共 15 道试题,共 60 分。
)1. 下面语句执行后,i 的值是( )。
for( int i=0, j=1; j < 5; j+=3 ) i=i+j;A. 4B. 5C. 6D. 7-----------------选择:B2. 编译并且执行以下代码,会出现什么情况( )。
public class Q{ public static void main(String argv[]){ int anar[]=new int[]{1,2,3}; System.out.println(anar[1]); } }A. 1B. 有错误,数组anar在初始化以前不能正常输出C. 2D. 有错误,数组的大小没有定义。
-----------------选择:C3. 下面哪几个函数是public void example(){...}的重载函数( )。
A. public void example( int m){...}B. public int example(){...}C. public void example2(){...}D. public int example3 (){...}-----------------选择:A4. 向量可以描述成( )。
A. 固定长度的数组B. 可变长度的数组C. 一种队列D. 一种堆栈-----------------选择:B5. 下面哪个方法与applet的显示无关( )。
A. update()B. draw()C. repaint()D. paint()-----------------选择:B6. 下列关于Java线程的说法那些是正确的( )。
A. 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成B. 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题C. Thread类属于java.util程序包D. D. 以上说法无一正确-----------------选择:D7. 执行完代码"int[]x=new int[25];"后,以下( )说明是正确的。
2012年9月份考试Java程序设计第二次作业.doc
2012年9月份考试Java程序设计第二次作业一、单项选择题(本大题共50分,共 20 小题,每小题 2.5 分)1. package语句的作用是()A. 引入一个包B. 创建一个包C. 既能引入一个包,又能创建一个包D. 以上皆不对2. 关于下列程序结果正确的是()public class MyClass{static int i;public static void main(String argv[]){System.out.println(i);}}A. Error Variable i may not have been initializedB. NullC. 1D. 03. 下列说法不正确的是()A. java语言里的线程是没有优先级的B. String类在ng包中C. java语言支持类的序列化D. 能序列化的类必须实现java.io.Serializable接口4. 给定类Demo定义如下下列描述中正确的是()A. 新生成Demo对象时coumt的值为0B. 新生成Demo对象时coumt的值未定义C. Base类的对象中可以直接对count变量进行访问修改.D. 以上均不对5. FileNotFoundException属于以下哪种类型的异常()A. IOExceptionB. RuntimeExceptionC. AWTExceptionD. ArithmeticException6. 下列哪个选项不会出现编译错误()A. float f = 1.3;B. char c = "a";C. byte b = 257;D. int i = 10;7. 类Vector中()方法可以实现增加新成员的功能A. addElement()B. insert()C. append()D. addItem()8. 下面哪些赋值语句是错误的()A. float f = 11.1;B. double d = 5.3E12;C. char c =’\r’;D. Boolean b=true;9. 下式中给字符串数组正确赋值的语句是()A. String temp [] = new String {"j" "a" "z"};B. String temp [] = { "j " " b" "c"};C. String temp = {"a", "b", "c"};D. String temp [] = {"a", "b", "c"};10. 下列哪个选项不能使当前线程停止执行()A. 一个异常被抛出B. 线程执行了sleep()调用C. 高优先级的线程处于可运行状态D. 当前线程产生了一个新线程11. 编译并运行下列程序的正确结果是()public class EqualsTest{public static void main(String args[]){Object A=new Long(7);Long L=new Long(7);if(A.equals(L)) System.out.println("Equal"); else System.out.println("Not Equal");}}A. "Equal".B. "Not Equal"C. .编译错误D. 以上均不对.12. 关于下列程序 public class Q { public static void main(Stringargv[]){ int anar[]= new int[]{1,2,3};System.out.println(anar[1]); } } 以下结论正确的是()A. 发生编译错误B. 1C. 2D. 数组长度未指定13. 如果定义一个线程类,它继承自Thread,则我们必须重写其中的()方法A. runB. startC. yieldD. stop14. 有如下程序段x的取值在什么范围内时,将打印出字符串"second"? A. x > 0 B. x > -4 C. x <= -4 D. x <= 0 & & x > -415. 下列赋值操作正确的是()A. char ch = “a”;B. char ch = ‘\’ ‘;C. char ch = ‘cafe’;D. char ch = “cafe”;16. 一个文件名为first的Java源文件,编译后得到的类文件为()A. first.javaB. first.classC. first.cD. 上述均不对17. 为有效实现对某方法体中共享对象的同步,应采用()关键字对该方法进行修饰A. synchronizedB. abstractC. finalD. tatic18. 如果程序段如下:{{int i=1;System.out.println(i);}System.out.println(i);}则下面哪句话是正确的:( )A. 不能通过编译B. 能正确运行C. 能正确编译D. 输出结果为119. 当某区域被毁坏或需要清除时,AWT会自动调用下列哪个方法()A. paint()B. repaint()C. update()D. destoy()20. 下面哪一个AWT组件可以有菜单栏MenuBar( )A. javawt.FrameB. javawt.WindowC. javawt.AppletD. javawt.Panel二、判断题(本大题共50分,共 20 小题,每小题 2.5 分)1. Java语言支持类的序列化.()2. 子类要调用父类的方法,必须使用super关键字.()3. for 语句中的循环体不能是空的.()4. 一个接口中只需进行方法的声明,而不提供具体的实现.()5. Java的编译环境和运行环境必须在同一台机器上6. 组件必须放置在一定的容器中才能显示.()7. 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。
Java面向对象程序设计模拟试题2及答案
Java面向对象程序设计模拟试题2一、单项选择题(本大题共15小题,每小题1分,共15分)1. JVM是指A. Java开发工具B. Java虚拟机C. Java运行环境D. Java编程接口2. Java字节码文件的扩展名是A. cB. exeC. javaD. class3. 在Java中,byte型变量所占的字节数是A. 1B. 2C. 4D. 84. 给定下面代码段,输出j的值是多少int i = 1, j = 0 ;switch(i) {case 1: j += 6;case 2: j += 1;default: j += 2;}System.out.println(j);A. 2B. 6C. 7D. 95. 给定下面代码段,程序运行结果是public class Test {static void leftshift(int i, int j){i <<= j;}public static void main(String[] args){int i = 4, j = 2;leftshift(i,j);System.out.println("i = "+ i);}}A. i = 1B. i = 2C. i = 3D. i = 46. 执行下列程序段后a和b的值为class AB{int a , b ;public void init(int x){a = x ;int b = 5 ;}public void display(){System.out.println("a = "+a+" b = "+b);}}public class ABTest{public static void main(String[] args){AB ab = new AB();ab.init(6);ab.display() ;}}A. a = 5 b = 5B. a = 0 b = 0C. a = 6 b = 5D. a = 6 b = 07. 下列程序段的运行结果为int [][]x ={{1,2},{3,4,5},{6,7,8,9}};int[][]y = x;System.out.println(y[2][1]);A. 3B. 4C. 6D. 78. 执行下列语句后输出的结果是String s = "COMPUTER";System.out.println(s.indexOf(‘M’));A. 0B. 1C. 2D. 39. 下面程序运行结果为class AA{AA(int a){System.out.print(a);}}class BB extends AA{BB(String s){super(88);System.out.print(s);}}public class ConstructorDemo{public static void main(String[] args){BB b = new BB("hello");}}A. 该程序有编译错误B. 88helloC. hello88D. hello10. 下面程序运行结果为class Super{public int i = 0;public Super(String text){i = 1;}}public class Sub extends Super{public Sub(String text){super(“”);i = 2;}public static void main(String[] args){Sub sub = new Sub("Hello");System.out.println(sub.i);}}A. 该程序有编译错误B. 编译成功输出0C. 编译成功输出1D. 编译成功输出211.下面代码在运行时会产生什么异常int m = 100;System.out.println(m / 0);A. ClassNotFoundExceptionB. MathExceptionC. ArithmeticExceptionD. NullPointerException12.有下列一段代码,执行后输出结果为。
中农大线上作业Java语言与面向对象程序设计A-F(2).doc
Java语言与面向对象程序设计第A套1、计算机程序设计过程实际上就是()过程,不同的问题求解方法决定了不同的程序设计方法。
A.用机器计算B.实际问题的求解C.程序编写D.分析问题参考答案:B 您的答案:B2、在客观世界中对象包含:()A.数据和程序B.数据和算法C.状态和行为D.变量和函数参考答案:C 您的答案:C3、面向对象程序设计是以问题中涉及的()为中心,而非具体的解题过程的研究和实现为关注点。
A.对象B.数据C.过程D.类参考答案:A 您的答案:A4、在面向对象程序设计中,所谓的“对象”是现实世界中的实体或概念在计算机逻辑中的()。
A.分析理解B.概括C.抽象表示D.封装表示参考答案:C 您的答案:C5、在面向对象程序设计中,对象是由()组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。
A.数据和算法B.计算和变量C.数据和容许的操作D.函数和全局变量参考答案:C 您的答案:A6、对象由一组“属性”和一组对属性进行“操作”的服务组成,是存在的具体实体,具有明确定义的状态和行为。
因此,一个具体对象被称做()。
A.实例B.变量C.组合体D.聚合体参考答案:A 您的答案:A7、在对象中状态又称为属性或()。
A.全局变量B.实例变量C.参数D.静态数据参考答案:B 您的答案:C8、类之间主要存在三种关系,它们是:()A.联合、组合和聚合B.关联比较C.多重D.关联、聚合和泛化参考答案:D 您的答案:A9、通常消息包含三个方面的内容:·要执行的方法的名称。
·()·方法所需的所有参数A.发出消息的对象B.发出的消息码C.消息发送者D.对象参考答案:A 您的答案:A10、在面向对象的程序设计中,封装是指将对象的()分别用数据结构和方法描述,并将它们绑定在一起形成一个可供访问的基本逻辑单元。
A.所有局部数据和程序B.属性和行为C.特征D.消息和对象参考答案:B 您的答案:B11、通过继承,一个类的定义可以基于另外一个已经存在的()。
面向对象程序设计作业2
1. 写出程序运行结果(1)答案:61 (2)答案:2252对于每个给定的程序段,指出代码中的错误,写出改正后的代码。
(1)下面代码定了Time类的成员函数setHour,Time的声明见Fig. L 9.1:答案:在Time类中添加公有成员函数声明如下:int&setHour(int);(2)下面代码调用了Time类的成员函数printUniversal,Time类的定义见Fig. L 9.1:答案:对于Time类的指针clockPtr,应该使用->运算符调用类的成员函数:clockPtr->printUniversal();(3)在Time类中定义数据成员hour, minute和second,见Fig. L 9.2,并在test code中使用Time 类:答案:第6行,成员运算符"."比指针运算符"*"优先级更高,可以改成(*clockPtr).second;或者clockPtr->second;(4)下面代码定义了类Time:答案:具有默认值的函数参数必须放在右边,可以改成:Time(int, int = 0, int = 0);(5)下面代码定义了类Q:答案:构造函数没有返回值类型,应该改成:Q(int);(6)下面代码是类Q的另一种定义:答案:第9行,使用这种方式初始化非静态成员变量,在旧版本(旧标准)的编译器下可能会有问题。
C++11以上可以用这种方式初始化。
warning: non-static data member initializers only available with '-std=c++11' or '-std=gnu++11'9 | int qData = 100;| ^~~(7)下面代码在类Q的声明之外定义了其成员函数setQ:答案:应在函数名前加范围解析运算符"::":void Q::setQ(int input)。
Java面向对象程序设计单元测试卷二答案
《面向对象程序设计(Java)》单元测试2答案一、选择与填空1 . Color=blue2. D3. private(或私有)4. A 、C5. 父类、B、D6. A7. A8. C9. D10. B11. run!20.03二、编程题1.Light类class Light{private int watts;private boolean indicator;public Light(int watts){this.watts=watts;}public Light(int watts,boolean indicator){this.watts=watts;this.indicator=indicator;}public void switchOn(){indicator=true;}public void switchOff(){indicator=false;}public void printInfo(){if(indicator)System.out.println("灯的瓦数为:"+watts+" 灯的状态为:开");elseSystem.out.println("灯的瓦数为:"+watts+" 灯的状态为:关");}}2.TubeLight类class TubeLight extends Light{private int tubeLength;private String color;public TubeLight(int watts,int tubeLength,String color){super(watts);this.tubeLength=tubeLength;this.color=color;}public void printInfo(){super.printInfo();System.out.println("灯管的长度为:"+tubeLength+" 灯光颜色为:"+color);}}3.测试程序class Test{public static void main(String args[]){TubeLight tube=new TubeLight(32,50,"white");tube.switchOn();tube.printInfo();}}。
201209学期JAVA语言与面向对象程序设计作业2
201209学期JAVA语言与面向对象程序设计作业2单项选择题第1题以下标识符中哪项是不合法的()。
A、BigMeaninglessNameB、$intC、1 stD、$1答案:C第2题以下变量均已正确定义并赋值,下面复合java语言语法的赋值语句是()。
A、m=n>5;B、m=k%c=h+y;C、j=t+%100;D、j=y>2=x+3;答案:A第3题已定义a为int类型的变量。
以下选项中,合法的赋值语句是()。
A、a+1==2;B、a+=a*6;C、a==8.8f;D、int a=8;答案:B第4题现有一变量声明为boolean aa;下面赋值语句中正确的是()。
A、aa=false;B、aa=False;C、aa="true";D、aa=0;答案:A第5题下述有关try, catch和finally的命题中哪一个是错误的? ()A、try语句后面必须要跟有catch语句B、try语句后面可以跟有catch语句或finally语句,或者两者都有C、一个catch语句总需要与一个try语句相关联D、一个finally语句不能独立存在,总要与try语句相关联答案:A第6题下面语句执行后,i的值是()。
for(int i=0,j=1;j<5;j+=3)i=i+j;A、4B、5C、6D、7答案:B第7题下面语句序列执行后,a的值是()。
int a=13; a%=a/5;A、3B、13C、169D、1答案:D第8题下面哪种方法可以获得一个applet的init()方法在网页中的宽度?A、int width = this.getY();B、int width = this.getSize().w;C、int width = getSize();D、int width = setSize().w;答案:B第9题下面类定义中哪一个给出了合法的抽象类的定义?()A、abstract Animal {abstract void growl();}B、class abstract Animal {abstract void growl();}C、abstract class Animal {abstract void growl();}D、abstract class Animal {abstract void growl() {System.out.println("growl");}} 答案:C第10题下面类定义中哪一个定义了一个不允许有子类的类?()A、class Key {}B、abstract final class Key {}C、class Key {final;}D、final class Key {}答案:D多项选择题第11题下面哪个事件监听器在Java中有事件适配器?A、MouseListenerB、KeyListenerC、ActionListenerD、ItemListenerE、WindowListener答案:A|B|E第12题下面哪个语句是创建数组的正确语句?A、float f[][] = new float[6][6];B、float []f[] = new float[6][6];C、float f[][] = new float[][6];D、float [][]f = new float[6][6];E、float [][]f = new float[6][];答案:A|B|C|D第13题对于构造函数,下列哪个叙述是正确的?A、构造函数也允许重载B、子类无条件地继承父类的无参构造函数C、子类不允许调用父类的构造函数D、在同一个类中定义的重载构造函数可以相互调用答案:A|B|D第14题下面哪几个函数是public?void?example(){...}的重载函数?A、public void example( int m){...}B、public int example(){...}C、public void example2(){...}D、public int example ( int m, float f){...}答案:A|D第15题已知如下的命令执行java MyTest a b c 请问哪个语句是正确的?A、args[0] = "MyTest a b c"B、args[0] = "MyTest"C、args[0] = "a"D、args[1]= 'b'答案:C|D第16题如下哪个方法可以从WindowEvent获取事件源?A、getFrame()B、getID()C、getSource()D、getWindow()答案:C|D判断题第17题Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
《JAVA面向对象程序设计》练习题-参考答案
《JAV 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语言与面向对象程序设计课后习题答案第1章面向对象软件开发概述1.简述面向过程问题求解和面向对象问题求解的异同。
试列举出面向对象和面向过程的编程语言各两种。
答:面向过程问题求解,以具体的解题过程为研究和实现的主体,其思维特点更接近于计算机;面向对象的问题求解,则是以―对象‖为主体,―对象‖是现实世界的实体或概念在计算机逻辑中的抽象表示,更接近于人的思维特点。
面向过程的编程语言:C,Pascal,Foratn。
面向对象的编程语言:C++,Java,C#。
2.简述对象、类和实体及它们之间的相互关系。
尝试从日常接触到的人或物中抽象出对象的概念。
答:面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。
类是同种对象的集合与抽象。
类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。
如果类是抽象的概念,如―电视机‖,那么对象就是某一个具体的电视机,如―我家那台电视机‖。
3.对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?设有对象―学生‖,试为这个对象设计状态与行为。
答:对象都具有状态和行为。
对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。
每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。
行为又称为对象的操作,它主要表述对象的动态属性,操作的作用是设置或改变对象的状态。
学生的状态:姓名、性别、年龄、所在学校、所在系别、通讯地址、电话号码、入学成绩等;学生的行为:自我介绍、入学注册、选课、参加比赛等。
4.对象间有哪三种关系?对象―班级‖与对象―学生‖是什么关系?对象―学生‖与对象―大学生‖是什么关系?答:对象间可能存在的关系有三种:包含、继承和关联。
对象―班级‖与对象―学生‖是包含关系。
对象―学生‖与对象―大学生‖是继承关系。
5.有人说―父母‖和―子女‖之间是继承的关系。
Java语言与面向对象设计作业2
Java语言与面向对象设计作业2单项选择题第1题下面的语句的作用是:()。
Vector MyVector = new V ector(100,50);A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个元素空间单位递增答案:D第2题下面的init()方法中对图形用户界面所作的命题中有哪一个是正确的?()public void init() {setLayout(new BorderLayout()); add("North", new TextField(10)); add("Center", new Button("help")); }A、TextField对象有10位宽值,并且被置于该applet的正上方B、Button对象被置于applet的中央,且该对象具有足够大的内存空间存放文本"help"C、Button对象被置于applet的中央,并且占据TextField对象下方从左至右的整个空间D、Button对象和TextField对象的摆放位置取决于applet在网页上的总体大小答案:C第3题下面程序段的输出结果是( )。
String MyStr = "Hello,"; MyStr = MyStr+"Guys!"; System.out.println(MyStr);A、Hello,Guys!B、Hello,C、Guys!D、该程序段有语法错误答案:A第4题下面程序的输出是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
201209学期JAVA语言与面向对象程序设计作业2
单项选择题
第1题以下标识符中哪项是不合法的()。
A、BigMeaninglessName
B、$int
C、1 st
D、$1
答案:C
第2题以下变量均已正确定义并赋值,下面复合java语言语法的赋值语句是()。
A、m=n>5;
B、m=k%c=h+y;
C、j=t+%100;
D、j=y>2=x+3;
答案:A
第3题已定义a为int类型的变量。
以下选项中,合法的赋值语句是()。
A、a+1==2;
B、a+=a*6;
C、a==8.8f;
D、int a=8;
答案:B
第4题现有一变量声明为boolean aa;下面赋值语句中正确的是()。
A、aa=false;
B、aa=False;
C、aa="true";
D、aa=0;
答案:A
第5题下述有关try, catch和finally的命题中哪一个是错误的? ()
A、try语句后面必须要跟有catch语句
B、try语句后面可以跟有catch语句或finally语句,或者两者都有
C、一个catch语句总需要与一个try语句相关联
D、一个finally语句不能独立存在,总要与try语句相关联
答案:A
第6题下面语句执行后,i的值是()。
for(int i=0,j=1;j<5;j+=3)i=i+j;
A、4
B、5
C、6
D、7
答案:B
第7题下面语句序列执行后,a的值是()。
int a=13; a%=a/5;
A、3
B、13
C、169
D、1
答案:D
第8题下面哪种方法可以获得一个applet的init()方法在网页中的宽度?
A、int width = this.getY();
B、int width = this.getSize().w;
C、int width = getSize();
D、int width = setSize().w;
答案:B
第9题下面类定义中哪一个给出了合法的抽象类的定义?()
A、abstract Animal {abstract void growl();}
B、class abstract Animal {abstract void growl();}
C、abstract class Animal {abstract void growl();}
D、abstract class Animal {abstract void growl() {System.out.println("growl");}} 答案:C
第10题下面类定义中哪一个定义了一个不允许有子类的类?()
A、class Key {}
B、abstract final class Key {}
C、class Key {final;}
D、final class Key {}
答案:D
多项选择题
第11题下面哪个事件监听器在Java中有事件适配器?
A、MouseListener
B、KeyListener
C、ActionListener
D、ItemListener
E、WindowListener
答案:A|B|E
第12题下面哪个语句是创建数组的正确语句?
A、float f[][] = new float[6][6];
B、float []f[] = new float[6][6];
C、float f[][] = new float[][6];
D、float [][]f = new float[6][6];
E、float [][]f = new float[6][];
答案:A|B|C|D
第13题对于构造函数,下列哪个叙述是正确的?
A、构造函数也允许重载
B、子类无条件地继承父类的无参构造函数
C、子类不允许调用父类的构造函数
D、在同一个类中定义的重载构造函数可以相互调用
答案:A|B|D
第14题下面哪几个函数是public?void?example(){...}的重载函数?
A、public void example( int m){...}
B、public int example(){...}
C、public void example2(){...}
D、public int example ( int m, float f){...}
答案:A|D
第15题已知如下的命令执行java MyTest a b c 请问哪个语句是正确的?
A、args[0] = "MyTest a b c"
B、args[0] = "MyTest"
C、args[0] = "a"
D、args[1]= 'b'
答案:C|D
第16题如下哪个方法可以从WindowEvent获取事件源?
A、getFrame()
B、getID()
C、getSource()
D、getWindow()
答案:C|D
判断题
第17题Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
答案:正确
第18题Vector类中的对象不能是简单数据类型。
答案:正确
第19题Java是不区分大小写的语言。
答案:错误
第20题Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
答案:正确。