《Java面向对象编程》练习题doc.docx

上传人:b****2 文档编号:93913 上传时间:2023-04-28 格式:DOCX 页数:47 大小:49.53KB
下载 相关 举报
《Java面向对象编程》练习题doc.docx_第1页
第1页 / 共47页
《Java面向对象编程》练习题doc.docx_第2页
第2页 / 共47页
《Java面向对象编程》练习题doc.docx_第3页
第3页 / 共47页
《Java面向对象编程》练习题doc.docx_第4页
第4页 / 共47页
《Java面向对象编程》练习题doc.docx_第5页
第5页 / 共47页
《Java面向对象编程》练习题doc.docx_第6页
第6页 / 共47页
《Java面向对象编程》练习题doc.docx_第7页
第7页 / 共47页
《Java面向对象编程》练习题doc.docx_第8页
第8页 / 共47页
《Java面向对象编程》练习题doc.docx_第9页
第9页 / 共47页
《Java面向对象编程》练习题doc.docx_第10页
第10页 / 共47页
《Java面向对象编程》练习题doc.docx_第11页
第11页 / 共47页
《Java面向对象编程》练习题doc.docx_第12页
第12页 / 共47页
《Java面向对象编程》练习题doc.docx_第13页
第13页 / 共47页
《Java面向对象编程》练习题doc.docx_第14页
第14页 / 共47页
《Java面向对象编程》练习题doc.docx_第15页
第15页 / 共47页
《Java面向对象编程》练习题doc.docx_第16页
第16页 / 共47页
《Java面向对象编程》练习题doc.docx_第17页
第17页 / 共47页
《Java面向对象编程》练习题doc.docx_第18页
第18页 / 共47页
《Java面向对象编程》练习题doc.docx_第19页
第19页 / 共47页
《Java面向对象编程》练习题doc.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《Java面向对象编程》练习题doc.docx

《《Java面向对象编程》练习题doc.docx》由会员分享,可在线阅读,更多相关《《Java面向对象编程》练习题doc.docx(47页珍藏版)》请在冰点文库上搜索。

《Java面向对象编程》练习题doc.docx

《Java面向对象编程》练习题doc

Java面向对象编程练习题

专题1初识Java

一、填空题

1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(JAVASE)、(JAVAEE)、(JAVAME)。

2.环境变量的设置,若JDK安装在“D:

\JDK”,则应设置Path为(D:

JDK\bin

)、classpath为(D:

JDK\lib)。

3.Java源文件的扩展名为(.java),用Javac编译Java源文件,得到的字节码文件的扩展名为(.class)。

4.如果Java源文件中有多个类,那么只能有一个类是(publicclass)类。

5.Java程序可以分成两类,即(JavaApplication)和(javaApplet)。

二、选择题

1.作为Java应用程序入口的main方法,其声明格式是(b)

A.publicstaticintmain(Stringargs[])B.publicstaticvoidmain(Stringargs[])

C.publicvoidmain(Stringargs[])D.publicintmain(Stringargs[])

2.下面命令正确的是(B)

A.javaAppFirst.javaB.javaAppFirst

C.javaappfirst.classD.javacAppFirst

3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为(D)

A.javaFirstAppletB.javacFirstApplet.java

C.appletviewerFirstApplet.javaD.appletviewerFirstApplet.html

4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。

A.binB.jreC.includeD.doc

5.Java语言是一种D语言。

A.机器B.汇编C.面向过程的D.面向对象的

6、Java程序的最基本组成单位是D。

A.函数B.过程C.变量D.类

三、简答题(十分重要)

1.Java语言有哪些特点?

2.JDK安装完成后,如何设置环境变量?

3.简述Java应用程序和小应用程序的区别。

4.简述Java应用程序的开发过程

专题2标识符、表达式、数据类型

一、填空题

1.Java逻辑常量有两个:

(ture)和(flase)。

2.写出下列表达式的运算结果,设a=2,b=-4,c=true。

(1)-a%b++-2

(2)a>=1&&a<=10?

a:

b2

(3)c^(a>b)false

(4)(-a)<

(5)(double)(a+b)/5+a/b-0.4

3、比较两个数相等的运算符是:

==。

4、Java中的八种基本数据类型分别是:

char、int、long、shore、flaot、double、byte和boolean。

二、选择题

1.下面这些标识符哪个是错误的(C)

A.JavaworldB._sumC.2JavaProgramD.$abc

2.下列哪一组运算符的优先级顺序是从高到低排列的(B)

A.|、&、!

B.&、^、||C.!

、%、++D.<、<<、++

3、下面哪个赋值语句不会产生编译错误(C)

A.chara=’abc’;B.byteb=152;C.floatc=2.0;D.doubled=2.0;

4.下面哪个单词是Java语言的关键字(D)

A.FalseB.FORC.ForD.for

5.执行下面程序后,哪个结论是正确的(D)

inta,b,c;

a=1;b=3;c=(a+b>3?

++a:

b++);

A.a的值为2,b的值为3,c的值为1B.a的值为2,b的值为4,c的值为2

C.a的值为2,b的值为4,c的值为1D.a的值为2,b的值为3,c的值为2

6.设各个变量的定义如下,哪些选项的值为true(C)

inta=3,b=3;

booleanflag=true;

A.++a==bB.++a==b++C.(++a==b)||flagD.(++a==b)&flag

7.表达式(int)6.5/7.5*3的值的类型为(C)?

A.shortB.intC.doubleD.float

8.设a,b,x,y,z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(D)

A.x>y&&bx-yC.y==++xD.y+x*x++

9.下面语句输出的结果为(B)

Syste.out.println(5^2);

A.6B.7C.10D.25

10.对下面的语句执行完后正确的说法是:

(D)

intc=’c’/3;

System.out.println(c);

A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为33

11.以下选项中变量a已定义类型,合法的赋值语句为(D)

A.a=int(y);B.a==1;C.a=a+1=3;D.++a;

12.执行下列程序段后,ch,x,y的值正确的是:

(A)

intx=3,y=4;

booleanch;

ch=x

A.true,3,4B.true,4,3C.false,3,4D.false,4,3

13.下列标识符中,正确的是B。

A、1_BackB、$_MoneyC、$-moneyD、2-Forward

14.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是B。

A、int类型B、double类型C、float类型D、long类型

15、以下程序的运行结果为A。

publicclassA{

publicstaticvoidmain(Stringa[]){

intx=2,y=5;

Stringz="5";

System.out.println(x+y);

System.out.println(x+z+"x+z");

System.out.println("x+y="+x+y);

System.out.println("x+z="+(x+z));

}

}

A.7B.7C.25D.7

25x+z7x+z25x+z25x+z

x+y=25x+y=25x+y=7x+y=25

x+z=25x+z=7x+z=25x+z=7

16、设有定义inta=12;则执行a*=12;语句后,a的值为:

A。

A.144B.12C.24D.0

17、下列标识符中,合法的一个是C。

A.$#@!

$B.$我们$C.$22$D.2$$2

18、执行下列程序段后,b,x,y的值分别是B。

intx=6,y=8;

booleanb;

b=x>y&&++x==--y;

A.true,6,8B.false,6,8C.e,7,7D.false,7,7

19、下列程序运行的结果是D。

publicclassA{

publicstaticvoidmain(Stringargs[]){

intx=7%3;

while(x){

x--;

}

System.out.println(x);

}

}

A.0B.1C.trueD.编译错误

 

三、编程题

1.使用Math.pow()方法,求出2的32次方的值。

专题3流程控制语句

一、填空题

1.在switch语句中的表达式的类型必须是(int型)或者(Boolean)。

2.break在循环语句中的作用是(跳出整个循环)。

3.分支语句包括(双重分支)和(多重分支)。

4.while循环语句的循环次数(不限),do-while语句的循环次数(至少一次),for语句的循环次数(不限)。

二、选择题

1.下面程序片段输出的是什么(C)

inta=3,b=1;

if(a=b)Syste.out.println(“a=”+a);

 A.a=1B.a=3C.编译错误,没有输出D.正常运行,但没有输出

2.下面语句执行后,x的值为(C)

inta=4,b=5,x=3;

if(++a==b)x=x*a;

 A.3B.12C.15D.20

3.请看下面的程序代码:

if(x<0){Syste.out.println(“first”);}

elseif(x<20){Syste.out.println(“second”);}

else{Syste.out.println(“third”);}

 当程序输出“second”时,x的范围是(B)

 A.x<=0B.x<20&&x>=0C.x>0D.x>=20

4.请看下面的程序代码:

switch(n){

case0:

Syste.out.println(“first”);

case1:

case2:

Syste.out.println(“second”);break;

default:

Syste.out.println(“end”);

}

 当n为何值时,程序段将输出字符串”second”(D)

 A.0B.1C.2D.以上都可以

5.下列语句执行后,j的值是(D)

intj=3,i=3;

while(--i!

=i/j)j=j+2;

 A.4B.5C.6D.7

6.下列语句执行后,x的值是(D)

intx=2;

do{x+=x;}while(x<17);

 A.4B.16C.32D.256

7.执行下列语句后,i、j的值是(B)

inti=1,j=8;

do{

if(i++>--j)

continue;

}while(i<4);

 A.i=4,j=5B.i=5,j=4C.i=5,j=5D.i=5,j=6

8.下列语句执行后,k的值是(B)

intj=4,i,k=10;

for(i=2;i!

=j;i++)k=k-i;

 A.4B.5C.6D.7

9.下列语句执行后,c的值是(C)

charc=’\0’;

for(c=’a’;c<’z’;c+=3){

if(c>=’e’)break;

}

 A.‘e’B.’f’C.’g’D.’h’

10.若变量都已经正确说明,则以下程序段输出为(A)

a=10;b=50;c=30;

if(a>b)a=b;b=c;

c=a;

System.out.println(“a=”+a+”b=”+b+”c=”+c);

 A.a=10b=50c=10B.a=10b=30c=10

 C.a=50b=30c=10D.a=50b=30c=30

11.以下程序段输出是(D)

intx=1,y=0,a=0,b=0;

i=(--a==b++)?

--a:

++b;

j=a++;k=b;

System.out.println(“i=”+i+”,j=”+j+”,k=”+k);2-12

 A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=2,j=-1,k=2

12.以下程序的输出是(B)

intx=1,y=0,a=0,b=0;

switch(x){

case1:

switch(y){

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;break;

case3:

a++;b++;

}

System.out.println(“a=”+a+”,b=”+b);20

 A.a=1,b=0B.a=2,b=0C.a=1,b=1D.a=2,b=2

13.以下程序段输出是(C)

inti=0,j=0,a=6;

if((++i>0)||(++j>0))a++:

System.out.println(“i=”+i+”,j=”+j+”,a=”+a);

 A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=7

14、下列程序运行的结果是C。

publicclassA{

publicstaticvoidmain(Stringargs[]){

charc='d';

for(inti=1;i<=4;i++){

switch(i){

case1:

c='a';

System.out.print(c);

break;

case2:

c='b';

System.out.print(c);

break;

case3:

c='c';

System.out.print(c);

default:

System.out.print("!

");

}

}

}

}

A.!

B.dbc!

C.abc!

D.abc!

三、编程题

1.输入4个数,将这4个数按从小到大输出。

2.输入一个年份值,判断是否是闰年,输出相应的信息。

3.输入一元二次方程系数,若有实数根,求根并输出,否则输出“不是二次方程或没有实数根”的信息。

4.编写程序,计算邮局汇款的汇费:

如果汇款金额小于100元,汇费为1元,如果金额在100元与500元之间,按1%收取汇费,如果金额大于500元,汇费为50元。

5.求某年某月的天数.

6.求从1到100之间所有奇数的平方和(用for、while和do……while编写程序)。

7.求S=1+2+3+…+n之和,S<1000的最大n的值。

8.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

9.猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。

求第一天共摘了多少?

10.输出九九乘法表。

11.输出1000之内的所有完数。

所谓完数指的是:

如果一个数恰好等于它的所有因子之和,这个数就称为完数。

12.输出100以内的全部素数。

13.求1!

+2!

+3!

+……+10!

14.求2+22+222+2222+22222。

专题4数组

一、填空题

1.定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明、创建和赋值:

(inty[]={1,2,3,4,5})。

2.设有整型数组的定义:

“intx[][]={{12,34},{-5},{3,2,6}};”则x.length的值为(9)

3.求取二维数组a[][]的第i行元素个数的表达式是()。

4、一个一维数组有10个元素,则该数组可用的下标范围是0-9。

5、StringS[]={“安徽”,“江苏”,“山东”};则S[1]的值是:

江苏。

6、当声明一个数据组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是整形,数组元素下标的使用范围是0-4。

二.选择题

1.设有定义语句“inta[]={66,88,99};”,则以下对此语句的叙述错误的是(C)

 A.定义了一个名为a的一维数组B.a数组有3个元素

 C.a数组的元素的下标为1~3 D.数组中的每个元素是整数

2.设有定义“int[]a=newint[4];”则数组a的所有元素是(B)

A.a0、a1、a2、a3B.a[0]、a[1]、a[2]、a[3]

C.a[1]、a[2]、a[3]、a[4]D.a[0]、a[1]、a[2]、a[3]、a[4]

3.下面哪个选项正确地声明了一个字符串数组(C)

A.char[]strB.char[][]strC.String[]strD.String[10]str

4、假设有这样的数组创建:

inta[]={1,2,3,4,5,6,7};则该数组长度为D。

A.4B.5C.6D.7

5、下列二维数组的创建中错误的是A。

A.inta[][]=newint[3][];

B.int[][]a=newint[3][4];

C.inta[][]={{1,2},{3,4}};

D.int[][]a=newint[][];

三、编程题

1.编写一个程序,计算一维数组中的最大值、最小值及其差值。

2.将一个数组中的数逆序重新存放。

3.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的。

4.输出杨辉三角形。

如:

1

11

121

1331

14641

15101051

……

5.求一个二维数组的每行最大数。

**专题5面向对象

一、填空题

1.如果一个方法不返回任何值,则该方法的返回值类型为void。

2.如果子类中的某个方法名、返回值类型和_传递参数_______与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。

3.接口中所有的属性均为_公有__、__静态_____和_常量_____的

4. 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。

5.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。

6.一般Java程序的类主体由两部分组成:

一部分是成员变量,另一部分是成员方法。

7.分别用class关键字来定义类,用关键字来分配实例存储空间。

8.当一个类的修饰符为private时,说明该类不能被继承,即不能有子类。

9.在Java中,能实现多重继承效果的方式是。

二、选择题

1.方法内定义的变量()。

A.一定在方法内所有位置可见B.可能在方法的局部位置可见

C.在方法外可以使用D.在方法外可见

2.方法的形参(D)。

A.可以没有B.至少有一个

C.必须定义多个形参D.只能是简单变量

3.return语句(D)。

A.不能用来返回对象B.只可以返回数值

C.方法都必须含有D.一个方法中可以有多个

4.main()方法的返回值类型是(C。

A.booleanB.int

C.voidD.static

5.编译并运行下面的程序,运行结果是()。

publicclassA{

publicstaticvoidmain(Stringargs[]){

Aa=newA();

a.method(8);

}

voidmethod(inti){

System.out.println(“int:

”+i);

}

voidmethod(longi){

System.out.println(“long:

”+i);

}

A.程序可以编译运行,输出结果为:

“int:

8”

B.程序可以编译运行,输出结果为:

“long:

8”

C.程序有编译错误,因为两个method()方法必须定义为静态(static)的

D.程序可以编译运行,但是没有输出

6.能作为类及其成员的修饰符是()。

A.interfaceB.class

C.protectedD.public

7.下列方法定义中,方法头不正确的是()。

A.publicstaticx(doublea){…}B.publicstaticintx(doubley){…}

C.voidx(doubled){…}D.publicintx(){…}

8.构造方法在()时被调用。

A.类定义时B.使用对象的变量时

C.调用对象方法时D.创建对象时

9.下列哪个类声明是正确的()。

A.publicabstractclassCar{…}B.abstractprivatemove(){…}

C.protectedprivatenumber;D.abstractfinalclassH1{…}

10.下列不属于面向对象程序设计的基本特征的是()。

A.抽象B.封装

C.继承D.静态

11.请看下面的程序段

classPerson{

Stringname,department;

intage;

publicPerson(Stringn){name=n;}

publicPerson(Stringn,inta){name=n;age=a;}

publicPerson(Stringn,Stringd,inta){

//doingthesameastwoargumentsversionifconstructer

}

下面那个选项可以添加到//doingthesame……处()

A.Person(n,a)B.this(Person(n,a))

C.this(n,a)D.this(name.age)

12.请看下面的程序段

classTest{

privateintm;

publicstaticvoidfun(){

//somecode

}

}

方法fun()如何来访问变量m()

A.将privateintm改成protectedintmB.将privateintm改成publicintm

C.将privateintm改成staticintmD.将privateintm改成intm

13.有一个类A,对于其构造函数的声明正确的是()。

A.voidA(intx){…}B.publicA(intx){…}

C.AA(int

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2