Java面向对象编程练习题.docx
- 文档编号:4422121
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:25
- 大小:30.98KB
Java面向对象编程练习题.docx
《Java面向对象编程练习题.docx》由会员分享,可在线阅读,更多相关《Java面向对象编程练习题.docx(25页珍藏版)》请在冰豆网上搜索。
Java面向对象编程练习题
Java面向对象编程练习题
专题1初识Java
一、填空题
1.自从Sun推出Java以来,按应用围可分为三个版本,分别是〔SE〕、〔EE〕、〔ME〕。
2.环境变量的设置,假设JDK安装在“D:
\JDK〞,那么应设置Path为〔〕、classpath为〔〕。
3.Java源文件的扩展名为〔〕,用Javac编译Java源文件,得到的字节码文件的扩展名为〔〕。
4.如果Java源文件中有多个类,那么只能有一个类是〔〕类。
5.Java程序可以分成两类,即〔〕和〔〕。
二、选择题
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,其class文件为FirstApplet.calss,那么运行该小程序的命令为〔B〕
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安装完成后,如何设置环境变量?
Path配置:
1〕我的电脑—属性—高级—环境变量—系统变量
2〕新建变量名:
path变量值:
jdk中bin的路径
配置ClassPath:
1〕我的电脑—属性—高级—环境变量—系统变量
2〕新建变量名:
classpath变量值:
.;jdk中lib的路径;
3.简述Java应用程序和小应用程序的区别。
4.简述Java应用程序的开发过程
专题2标识符、表达式、数据类型
一、填空题
1.Java逻辑常量有两个:
〔true〕和〔false〕。
2.写出以下表达式的运算结果,设a=2,b=-4,c=true。
〔1〕-a%b++-2
〔2〕a>=1&&a<=10?
a:
btrue
〔3〕c^(a>b)false
〔4〕(-a)< 〔5〕(double)(a+b)/5+a/b-0.4 3、比拟两个数相等的运算符是: ==。 4、Java中的八种根本数据类型分别是: char、int、long、short、boolean、float、double和byte。 二、选择题 1.下面这些标识符哪个是错误的〔C〕 A.JavaworldB._sumC.2JavaProgramD.$abc 2.以下哪一组运算符的优先级顺序是从高到低排列的〔B〕 A.|、&、! B.&、^、||C.! 、%、++D.<、<<、++ 3、下面哪个赋值语句不会产生编译错误〔D〕 A.chara=’abc’;B.byteb=152;C.floatc=2.0;D.doubled=2.0; 4.下面哪个单词是Java语言的关键字〔D〕 A.FalseB.FORC.ForD.for 5.执行下面程序后,哪个结论是正确的〔A〕 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的值的类型为〔B〕? A.shortB.intC.doubleD.float 8.设a,b,x,y,z均为int型变量,并已赋值,以下表达式的结果属于非逻辑值的是〔D〕 A.x>y&&b 9.下面语句输出的结果为〔B〕 2);//二进制比拟0101^0010=0111 A.6B.7C.10D.25 10.对下面的语句执行完后正确是: 〔D〕 intc=’c’/3; A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为33 11.以下选项中变量a已定义类型,合法的赋值语句为〔A〕 A.a=int(y);B.a==1;C.a=a+1=3;D.++a; 12.执行以下程序段后,ch,x,y的值正确的选项是: 〔D〕 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"; } } 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的值分别是D。 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--; } } } A.0B.1C.trueD.编译错误 三、编程题 1.使用Math.pow()方法,求出2的32次方的值。 publicclassTip{ publicstaticvoidmain(String[]args){ doublei=2; doublet=0; t=Math.pow(2,32); System.out.print(t); } } 专题3流程控制语句 一、填空题 1.在switch语句中的表达式的类型必须是〔int〕或者〔char〕。 2.break在循环语句中的作用是〔跳出循环〕。 3.分支语句包括〔if〕和〔switch〕。 4.while循环语句的循环次数〔n〕,do-while语句的循环次数〔n+1〕,for语句的循环次数〔n〕。 二、选择题 1.下面程序片段输出的是什么〔C〕 inta=3,b=1; 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.请看下面的程序代码: 当程序输出“second〞时,x的围是〔〕 A.x<=0B.x<20&&x>=0C.x>0D.x>=20 4.请看下面的程序代码: switch(n){ case1: } 当n为何值时,程序段将输出字符串〞second〞〔〕 A.0B.1C.2D.以上都可以 5.以下语句执行后,j的值是〔〕 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的值是〔〕 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的值是〔〕 intj=4,i,k=10; for(i=2;i! =j;i++)k=k-i; A.4B.5C.6D.7 9.以下语句执行后,c的值是〔〕 charc=’\0’; for(c=’a’;c<’z’;c+=3){ if(c>=’e’)break; } A.‘e’B.’f’C.’g’D.’h’ 10.假设变量都已经正确说明,那么以下程序段输出为〔〕 a=10;b=50;c=30; if(a>b)a=b;b=c; c=a; A.a=10b=50c=10B.a=10b=30c=10 C.a=50b=30c=10D.a=50b=30c=30 11.以下程序段输出是〔〕 intx=1,y=0,a=0,b=0; i=(--a==b++)? --a: ++b; j=a++;k=b; 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.以下程序的输出是〔〕 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++; } 20 A.a=1,b=0B.a=2,b=0C.a=1,b=1D.a=2,b=2 13.以下程序段输出是〔〕 inti=0,j=0,a=6; if((++i>0)||(++j>0))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、以下程序运行的结果是。 publicclassA{ publicstaticvoidmain(Stringargs[]){ charc='d'; for(inti=1;i<=4;i++){ switch(i){ case1: c='a'; break; case2: c='b'; break; case3: c='c'; default: } } } } 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的声明、创立和赋值: 〔〕。 2.设有整型数组的定义: “intx[][]={{12,34},{-5},{3,2,6}};〞那么x.length的值为〔〕 3.求取二维数组a[][]的第i行元素个数的表达式是〔〕。 4、一个一维数组有10个元素,那么该数组可用的下标围是。 5、StringS[]={“〞,“〞,“〞};那么S[1]的值是: 。 6、当声明一个数据组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是,数组元素下标的使用围是。 二.选择题 1.设有定义语句“inta[]={66,88,99};〞,那么以下对此语句的表达错误的选项是〔〕 A.定义了一个名为a的一维数组B.a数组有3个元素 C.a数组的元素的下标为1~3D.数组中的每个元素是整数 2.设有定义“int[]a=newint[4];〞那么数组a的所有元素是〔〕 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.下面哪个选项正确地声明了一个字符串数组〔〕 A.char[]strB.char[][]strC.String[]strD.String[10]str 4、假设有这样的数组创立: inta[]={1,2,3,4,5,6,7};那么该数组长度为。 A.4B.5C.6D.7 5、以下二维数组的创立中错误的选项是。 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.如果一个方法不返回任何值,那么该方法的返回值类型为。 2.如果子类中的某个方法名、返回值类型和_传递参数_______与父类中的某个方法完全一致,那么称子类中的这个方法覆盖了父类的同名方法。 3.接口中所有的属性均为_公有__、__静态_____和_常量_____的 4. 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。 5.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。 6.一般Java程序的类主体由两局部组成: 一局部是,另一局部是。 7.分别用关键字来定义类,用关键字来分配实例存储空间。 8.当一个类的修饰符为时,说明该类不能被继承,即不能有子类。 9.在Java中,能实现多重继承效果的方式是。 二、选择题 1.方法定义的变量〔〕。 A.一定在方法所有位置可见B.可能在方法的局部位置可见 C.在方法外可以使用D.在方法外可见 2.方法的形参〔〕。 A.可以没有B.至少有一个 C.必须定义多个形参D.只能是简单变量 3.return语句〔〕。 A.不能用来返回对象B.只可以返回数值 C.方法都必须含有D.一个方法中可以有多个 4.main()方法的返回值类型是〔。 A.booleanB.int C.voidD.static 5.编译并运行下面的程序,运行结果是〔〕。 publicclassA{ publicstaticvoidmain(Stringargs[]){ Aa=newA(); a.method(8); } voidmethod(inti){ “int: 〞+i); } voidmethod(longi){ “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(intx){…}D.intA(intx){…} 14.请看下面的程序段 publicclassTest{ longa[]=newlong[10]; pubicstaticvoidmain(Stringargs[]){ } } 哪一个选项是正确的〔〕。 A.不输出任何容B.输出0 C.当编译时有错误出现D.当运行时有错误出现 15.关键字〔〕说明一个对象或变量在初始化后不能修改。 A.extendsB.final C.thisD.finalize 16.声明为static的方法不能访问〔〕类成员。 A.超类B.子类 C.非staticD.用户自定义类 17.定义类A如下: 〔重要〕 classA{ inta,b,c; publicvoidB(intx,inty,intz){a=x;b=y;c=z;} } 下面对方法B的重载哪些是正确的〔〕。 A.publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;} B.publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;} C.publicvoidB(intx,inty){a=x;b=y;c=0;} D.publicB(intx,inty,intz){a=x;b=y;c=z;} 18.编译运行下面的程序,结果是〔〕。 〔重要〕 publicclassA{ publicstaticvoidmain(Stringargs[]){ Bb=newB(); b.test(); } voidtest(){ } } classBextendsA{ voidtest(){ super.test(); } } A.产生编译错误B.代码可以编译运行,并输出结果: AB C.代码可以编译运行,但没有输出D.编译没有错误,但会产生运行时异常 19
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 编程 练习题