JAVA基础 第3章类与对象_练习题

JAVA基础 第3章类与对象_练习题
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(" "+b.width);

System.out.print(" "+b.length);

}

}

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);

}

}

精选文库

A. 10

B. 20

C. 10.0

D. 程序编译错误

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. 程序编译错误

D. 以上都不对

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+" and "+j);

}

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;

}

}

A.编译出错 B. 输出:99 C. 输出:198 D. 运行出错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("x="+x);

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("The value is"+m);

}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. {

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("5 "); 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 = "constructor";

}

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. 以上都不对

16. 下面程序的输出结果是什么(A)。

class J_Test{

int m_i = 2;

String m_s = null;

void J_Test(){

m_i = 3;

m_s = "constructor";

}

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("Index=" + m_index + ";Age="+m_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("Name=" + m_name + ";Age="+m_age);

}

}

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("Index=" + m_index + ";Age="+m_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 半径, 周长, 面积;

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("梯形的面积为:" + la.面积);

Circle cr = new Circle(1);

System.out.println("圆的周长为:" + cr.getLength());

System.out.println("圆的面积为:" + cr.getArea());

}

}

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();

https://www.360docs.net/doc/f511273966.html,="妮妮";

c.color="灰色";

c.age=2;

System.out.println("color = " + c.color);

System.out.println("age = " + c.age);

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("张三",18,'男',1.80f);

zhang3.speak("你好!");

System.out.println("23+45=" + zhang3.add(23,45));

zhang3.rename("李四");

System.out.println(https://www.360docs.net/doc/f511273966.html,);

}

}

4. 创建一个叫做机动车的类:

属性:车牌号(String),车速(int),载重量(double)。

功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。

编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值。

创建主类:

创建两个机动车对象。创建第一个时调用无参数的构造方法,调用成员方

法使其车牌为“辽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 = "XX1234";

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",150,200);

v2.downSpeed();

System.out.println(v1.id+","+v1.speed+","+v1.load);

System.out.println(v2.id+","+v2.speed+","+v2.load);

}

}

5. 创建一个point类,有成员变量x、y,方法getX()、setX(),还有一个构造方法用于初

始化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("周长=" + t.getLength());

}

}

7. 编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),

1)如果x的值是1,在控制台打印出大写的英文字母;

2)如果x的值是2,在控制台打印出小写的英文字母。

其次,再定义一个主类,在主类的main方法中创建Print类的对象,使用这个对象调

用方法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("余额=" + money);

}

}

public class Eight {

public static void main(String[] args) {

Account kaien = new Account();

kaien.save(10000);

kaien.get(200);

kaien.select();

}

}

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 + ":" + minute + ":" + second);

}

}

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);

}

}

public class Ten {

public static void main(String[] args) {

Student s1 = new Student(1,"Li",18);

s1.outPut();

Student s2 = new Student(2,"Wang",19);

s2.outPut();

Student s3 = new Student(3,"Jiang",20);

s3.outPut();

}

}

大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟) (闭卷) 一、简单编程题(共50分) 在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码. 1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分) (1)在Person类中定义两个字段: 私有访问权限,类型为String地name字段; 私有访问权限,类型为int地age字段. (2)在Person类中定义构造器 构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age. (3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值. (4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示. (5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”. 2. 在程序中定义Student类,Student类继承Person类.(10分) (1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有. (2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school. (3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”. 3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分) (1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1; (2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1; (3)分别输出这两个对象地相关信息(调用它们地toString方法). 4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分) (1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期; (2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型. (3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档. 二、代码改错(共20分)

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

Java web期末考试题

第1页(共7页) 天津师范大学期末考核 2015—2016 学年第2学期 期末考核试卷 科目:Java Web 应用开发 学院:计信学院 专业:计算机科学 一、 单选题:(每小题2分,共10分) 1. 下列语句属于声明语句的是( A )。 A .<%! Int a = 4;%> B.<% int a=4;%> C .<%--int a=4-- %> D. <%@ int a=4%> 得分 2. 一个servlet 的生命周期不包括( B )方法? A .init( )方法 B. invalidate( )方法 C .service( )方法 D .destroy( )方法 得分 3. Application 对象的作用域是( B )。 A . 一次会话 B. 整个应用程序 C . 一次请求 D . 整个页面 得分 4. 下面对servlet 中重定向说法描述错误的是( D )。 A .使用的是HttpServletResponse 接口的sendRedirect()方法 B. 源组件的响应结果不会发送给客户端 C .sendRedirect()方法后的代码仍会执行 D .源组件和目标组件共享ServletRequest 对象

第2页(第7页) 得分 5. 有一个JavaBean 组件,类名为Student ,此JavaBean 组件的获得访问方法是getTotalScore,其功能是获得某个学生几门功课的总分,返回值保留一位小数,则以下关于getTotalScore 的声明正确的是( B )。 A .public int getTotalScore() B. public float getTotalScore() C .protected int getTotalScore() D .protected float getTotalScore() 得分 2. 3. Sevlet 过滤器核心对象放置在javax.servlet 包中,其名称为 4.

Java面向对象测试试题

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{ public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

Java面向对象测试试题(经典)

《使用实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在类中,使用以下()声明语句来定义公有的型常量。 A. = 100; B. = 100; C. = 100; D. = 100; 2) 在中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定代码如下所示,在横线处新增下列()方法,是对方法的重载。 { ( x, y, z) {} } A. ( x, y, z){ 0; } B. ( x, y, z){ 0; } C. ( x, z){ }

D. ( z, y, x){ } 4) 在中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是 C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数 5) 下面代码的运行结果是()。 { ; 名字 0; 健康值 ; 性别 () { = 10; = "雄"; ("执行构造方法。"); } () { ("企鹅的名字是" + + ",健康值是" + + ",性别是" + "。"); } ([] ) { = (); (); } } A. 企鹅的名字是,健康值是10,性别是雄。 B. 执行构造方法。

企鹅的名字是,健康值是0,性别是。 C. 企鹅的名字是,健康值是0,性别是。 D. 执行构造方法。 企鹅的名字是,健康值是10,性别是雄。 6) 下列选项中关于中封装的说法错误的是()。 A. 封装就是将属性私有化,提供公有的方法访问私有属性 B. 属性的访问方法包括方法和方法 C. 方法用于赋值、方法用于取值 D. 类的属性必须进行封装,否则无法通过编译 7) 使用实现封装,第一步是修改属性可见性来限制对属性的访问,第二步是创建赋值和取值方法,用于对属性的访问,第三步应该是()。 A. 使用赋值和取值方法访问属性 B. 编写常规方法访问属性 C. 在赋值和取值方法中,加入对属性的存取限制 D. 编写方法创建对象,调用赋值和取值方法访问属性 8) 分析如下所示的代码,其中关键字的意思是()。 { ; () { ;

java_期末考试试题(含答案)

1、如下哪个是Java中有效的关键字。( C、false ) 2、下面的代码段执行之后count的值是什么。( D、16 ) int count=1; for(int i=1;i<=5;i++){ count+=i; } System.out.println(count); 3、下列哪一个import命令可以使我们在程序中创建输入/输出流对象。( C、import java.io.*; ) 4、下列选项中,不属于Java语言特点的一项是。( C、编译执行 ) 5、阅读下列代码段,选出该代码段的正确的文件名。( D ) class A{ void methodl(){ System.out.println(”methodl in class A”):} } public class B{ void method2(){ System.out.println(”method2 in class B”):} public static void main(String args[]){ System.out.println(”main()in class B”): } } A、A .java B、A.class C、B.class D、B.java 6、下面哪条语句把方法声明为抽象的公共方法。( C.public abstract void method(){} 7、编译下面源程序会得到哪些文件。( D ) class A1{ }class A2{ } public class B{ public static void main(String args[ ]){ } } A、只有B.class文件 B、只有A1.Class和A2.class文件 C、有A1.class、A2.Class和B.class文件 D、编译不成功 8、定义类头时能使用的修饰符是(C、protected )。 A、private B、static C、protected D、abstract 9、为了区分重载多态中同名的不同方法,要求( A、形式参数个数或者类型不同 A、形式参数个数或者类型不同 B、返回值类型不同 C、调用时用类名或对象名做前缀 D、形式参数名称不同 10、float类型数据和double类型数据做加法,得到结果的类型是(C、double类型 )。 11、如果在编译Java程序时,编译结果报告说找不到要编译的代码,通常的错误不是如下的哪一项?(B、文件名拼写错误) 12、int类型被包装在如下的哪一个类中?( B、java.1ang.Integer ) 13、关于对下列代码段的描述,正确的一项是( C )。 catch(Exception e){ System.Err. println(“An exception was thrown”); throw e; } A、程序终止 B、编译出错 C、该异常不会被处理 D、该异常会继续被上层处理 14、下列说法中,错误的一项是( C )。 A、内部类是被定义于另一个类中的类 B、使用内部类实现监听器,在编程时比较容易实现 C、内部类对象可以访问外部类的成员方法和变量,包括私有成员

中南民族大学《Java语言程序设计》期末试卷A卷

科目序号:6002 A卷 《Java语言程序设计》期末试卷 (试卷总分:100分,考试时间:120分钟,答案写在答卷纸上) 一.判断题(每题1分,共10分) 1.无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件。(X )2.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。(X )3.静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。(O )4.与C语言不同的是,Java语言中的数组元素下标总是从1开始。(X )5.在Java的方法中定义一个常量要用const关键字。(X )6.Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作。(X)7.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(X )8.程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(X )9.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out 和标准错误输出System.err。(O )10.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。(O ) 二.单项选择题(每题2分,共40分) 1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B)。 A、java B、class C、html D、exe 2.Java application中的主类需包含main方法,main方法的返回类型是什么?(D ) A、int B、float C、double D、void 3.以下哪个方法用于定义线程的执行体?( C ) A、 start() B、init() C、run() D、synchronized() 4.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?(D ) A、init() B、start() C、destroy() D、stop() 5.下面哪个不是Java中的容器? ( A ) A、Canvas B、ScrollPane C、Applet D、Dialog 6.以下标识符中哪项是不合法的( A ) A、const B、$double C、hello D、BigMeaninglessName 7.以下哪个关键字可以用来为对象加互斥锁?(D )

java面向对象练习题

java面向对象练习题 1定义了一个函数来接收一年并确定它是否是闰年什么是闰年?可以除以4而不是100,或者可以除以400,那么今年是闰年 2年,使用do-while重写猜谜游戏(希望比老师更完美) 3定义了一个接收数组的函数,找到数组中的最大值,并计算数组中所有奇数的和4定义一个函数来接收数组,并将数组中元素的最大值放在数组的第一个位置练习5:输出1-150个奇数并计数 6练习:计算1-100的和。奇数和偶数是什么?练习7:用“边做边做”来计算1到100之间的偶数练习8:用边做边猜数字的游戏9打印99 10的乘法计算1-100个奇数的和 11定义一个函数来执行加法函数操作,而不向调用者返回值 12要求:定义一个函数来比较两个数字的大小,并将最大的数字返回给呼叫者要求:定义一个函数,根据学生的分数将相应的分数返回给调用者。 14要求:定义一个函数做加法函数,直接打印,不需要返回结果给调用者要求1:定义一个函数来接收数组并取出数组中的最大值 16要求2:定义一个接收数组的函数,并将数组中的最大值放在数组的第一个位置17要求3:定义一个接收数组的函数,并将数组中的最大值放在数组的最后一个位置定义一个函数来接收数组并翻转数组中的元素例如:国际[] arr = {1,2,3,4}-{4,3,2,1 }; 19练习:定义接收二维数组的函数,计算二维数组中所有元素的和,并计算奇数

XXXX年龄的方法 29练习:首先编写一个Person类,并计算创建Person的对象的数量练习:描述一种动物。鸟类和动物有名字和年龄属性,而且会移动。鸟类也有名称、年龄、颜色、属性和移动行为。31定义接收无序数组的方法。要对数组进行排序,请使用二分法来查找指定的元素 32描述了三种类型的汽车,宝马和奔驰,它们都有颜色、名称它还具有运行功能定义一个方法可以接收任何汽车对象,定义一个方法可以返回任何汽车对象描述动物、蛇、鱼和三类。编写一个可以接收任何动物对象的方法,定义一个可以接收任何动物类型对象 的方法,并调用该动物类型对象的特定方法34动物、狗和鱼的描述。动物有名字和颜色两种属性,动物有移动的行为。 199狗的一个独特方法是咬人。鱼特有的行为:吹泡泡 35练习:描述三类图形,矩形和圆形。每张图表都有计算面积和周长的方法。 清楚地描述了三类之间的关系 36描述了一类学生,它有两个属性id和name。学生有学习行为功能,但有些学生也在学习过程中赚钱。普通学生:不能通过学习赚钱的学生 可以通过学习赚钱的学生 37描述了图形、矩形、圆形和三个类。定义接收所有图像对象并打印图形对象的周长和面积的方法。定义一个返回任何图形对象的方法38描述了三类汽车,宝马和奔驰。汽车有颜色和名称它还具有运行

大学JAVA语言程序设计期末考试试题及答案

大学J A V A语言程序设计期末考试试题及答案 Final revision by standardization team on December 10, 2020.

《JAVA语言程序设计》期末考试试题及答案3(应考必备 题库) 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = ; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } 、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、(b); B、(b,"North"); C、(b,"South"); D、(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是() A、Button b=new Button(); B、button b=new button(); C、Button b=new b(); D、(“确定”); 10、Frame对象默认的布局管理器是() A、FlowLayout B、BorderLayout C、CardLayout D、null 11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象() A、import .*; B、import .*; C、import .*; D、import .*; 12、下面哪一个import命令可以为我们提供编写网络应用程序的类()

2012-2013java面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

Java面向对象知识测试__A卷_答案分析

面向对象部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面描述函数重写错误的是 A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public的//接口所有方法前面都是默认public abstract 2.下面关于类的设计思路描述错误的是 ( ) A. 根据需求定义类所包含的字段(成员变量) B. 根据面向对象的思想要求,隐藏属性和实现细节之后,可以提供公共的访问方式 C. 封装之后的字段在本类内也必须使用get/set方法//private修饰之后可以 在本类中直接使用,不需要通过get/set方法调用 D. 按需求可以在类中定义若干构造方法

3.分析如下Java代码,如果想在控制台上输出“B类的test()方法”,则在主函数应填 入()。 class A { public void test() { System.out.println("A类的test()方法"); } } class B extends A { public void test() { System.out.println("B类的test()方法"); } public static void main(String args[]) { } } A. A a = new B(); a.test(); B. A a = new A(); a.test(); C. B b = new A(); b.test(); D. new B().test(); 4.关于封装下面介绍错误的是()。 A. 封装隐藏实现细节 B. 封装提高重用性。 C. 封装提高安全性 D. 只有被private修饰才叫做封装//仅仅是封装的一种

浙江工商大学java期末试卷2份(含问题详解)

浙江工商大学2006 /2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟 班级名称:学号:姓名: 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。

A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。 A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 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]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect

《JAVA面向对象程序设计》练习题-参考答案

《JA V A语言程序设计》练习题1 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected 4、为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面向对象试题集

1、面向对象编程的三大特性是() A) 封装,继承,多态B) 封装,重用,继承 C) 继承,抽象,多态D) 封装,灵活,抽象 2、下面关于构造方法的说法正确的是()(多选) A. 构造方法不能被继承 B. 构造方法不能被重写 C. 构造方法不能被重载 D. 构造方法不能声明为private 3、下面关于类的说法,不正确的是() A) 类是同种对象的集合和抽象B) 类属于Java语言中的引用数据类型 C) 对象是类的实例D) 类就是对象 4、封装性可以对类的成员进行访问级别控制,其中限制最严格的是() A) public B) private C) default D) protected 5、以下哪种类成员修饰符可以在不同包的子类中访问() A) static B) private C) default D) protected 6、Java语言中哪个包是被自动导入的() A) java.util B) https://www.360docs.net/doc/f511273966.html,ng C) java.default D) java.io 7、有一个类MyClass,它的构造方法声明正确的是() A) void MyClass(int x) {...} B) Myclass(int x){...} C) public MyClass(int x){…} D) public void MyClass(int x){…} 8、对下列程序说法正确的是() public class Test7{ public static void main(String args[]){ String s1 = "Hello world"; String s2 = "Hello"; s2 = s2 + " world"; System.out.println(s1 == s2); } } A) true B) false C) 编译错误D) Hello world 9、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用 ()关键字来声明父类的这些方法 A) final B) abstract

华南理工大学JAVA期末考试试卷及答案[2]

华南理工大学JA V A期末考试试卷及答案[2] 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×)4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√)6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×)8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条()。 A、Panel B、Frame C、Applet D、Dialog 6.若需要定义一个类域或类方法,应使用哪种修饰符?()

大学JAVA期末考试试题带答案

《JA V A程序设计》期末考试试题(三 一、单项选择题 1、如下哪个是Java中的标识符(D A、public B、super C、3number D、width 2、如下哪个是Java中的标识符(A A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( C A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字( C A、name

B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( D int count = 1; for (int i = 1; i <= 5; i++ { count += i; } System.out.println(count; A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( B A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是(C

A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是(C A、p.add(b; B、p.add(b,"North"; C、p.add(b,"South"; D、b.add(p,"North"; 9、声明并创建一个按钮对象b,应该使用的语句是(A A、Button b=new Button(; B、button b=new button(; C、Button b=new b(; D、b.setLabel(“确定”; 10、Frame对象默认的布局管理器是(B A、FlowLayout B、BorderLayout C、CardLayout

Java面向对象试题

Java面向对象试题 共30道题,每题3分,满分90分,60分算及格,不及格的要补考。

1) 在Java中,如果父类中的某些方法不包含任何逻辑,并且需要有子类重写,应该使用()关键字来申明父类的这些方法。(选择一项) a) Final b) Static c) Abstract d) Void 2) 给定两个java程序,如下: public interface Face{ int counter = 40; } public class Test implements Face{ private static int counter; public static void main(String[]args){ System.out.println(++counter); } } Test.java 的编译运行结果是()。(选择一项) a) 40 b) 41 c) 0 d) 1 3) 给定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 4) 给定java代码,如下: abstract class Shape { abstract void draw( ); } 要创建Shape类的子类Circle,以下代码正确的是()。(选择二项) a) class Circle extends Shape{ int draw( ){} }

山东师范大学java期末考试题1及答案

山东师范大学2007 - 2008学年第二学期期末考试题 一、选择、填空(每题1分,共30分) 1、运行Java 程序需要的工具软件所在的目录是__A___。 A)JDK 的bin 目录 B)JDK 的demo 目录 C)JDK 的lib 目录 D)JDKR 的jre 目录 2、以下___B____不是Java中有效的关键字 A)const B) NULL C)false D) this 3、下列关于for循环和while循环的说法中哪个是正确的___A____ A)while循环能实现的操作,for循环也都能实现 B)while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果 C)两种循环任何时候都可替换 D)两种循环结构中都必须有循环体,循环体不能为空 4、下列关于Java 对import 语句规定的叙述中,错误的是___C__。 A)在Java 程序中import 语句可以有多个 B)在Java 程序中import 语句可以没有 C)在Java 程序中import 语句必须有一个 D)在Java 程序中import 语句必须引入在所有类定义之前 5、下列基本类型数据所占的字节数相同的是__A____ A) boolean和char B) int和float C) byte和short D) int和double 6、以下的选项中能正确表示Java语言中的一个double型常量的是 C A) Float.MIN_V ALUE B) 1.8e-6F C) 2.0 D)abcf? 7、阅读下列代码后 public class Person{ int arr[]=new int[10]; public static void main(String args[]){ System.out.println(arr[1]); } } 正确的说法是 ____A____ A)编译时将产生错误 B)编译时正确,运行时将产生错误 C)输出为零 D)输出为空 8、下列语句序列执行后,k 的值是 C int i=6,j=8,k=10,m=7; if(i>j||m

相关文档
最新文档