Java面向对象编程练习题_第1页
Java面向对象编程练习题_第2页
Java面向对象编程练习题_第3页
Java面向对象编程练习题_第4页
Java面向对象编程练习题_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java面向对象编程练习题专题1初识Java一、填空题.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(JAVASE)、(JAVAEE)、(JAVAME)。.环境变量的设置,若JDK安装在“D:\JDK",则应设置Path为(D:JDK\bin)、classpath为(D:JDK\lib)。.Java源文件的扩展名为(.java),用Javac编译Java源文件,得到的字节码文件的扩展名为(.class)。.如果Java源文件中有多个类,那么只能有一个类是(publicclass)类。.Java程序可以分成两类,即(JavaApplication)和。2里2Applet)。二、选择题.作为Java应用程序入口的main方法,其声明格式是(bA.A.publicstaticintmain(Stringargs[])C.publicvoidmain(Stringargs[])2.下面命令正确的是(B)A.javaAppFirst.javaC.javaappfirst.classB.publicstaticvoidmain(Stringargs[])D.publicintmain(Stringargs[])B.javaAppFirstD.javacAppFirst3.设有一个Java小程序,源程序名为FirstApplet.java,其HTML文件为FirstApplet.html,则运行该小程序的命令为(DA.javaFirstApplet B.javacFirstApplet.javaC.appletviewerFirstApplet.java D.appletviewerFirstApplet.htmlJDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。A.bin B.jre C.include D.docJava语言是一种D语言。A.机器 B.汇编 C.面向过程的D.面向对象的6、Java程序的最基本组成单位是DA.函数 B.过程 C.变量 D.类

三、简答题(十分重要).Java语言有哪些特点?.JDK安装完成后,如何设置环境变量?.简述Java应用程序和小应用程序的区别。.简述Java应用程序的开发过程专题2标识符、表达式、数据类型一、填空题.Java逻辑常量有两个:(ture)和(£^?)。.写出下列表达式的运算结果,设a=2,b=-4,c=true。TOC\o"1-5"\h\z-a%b++ -2a>=1&&a<=10 ?a:b 2cA(a>b) false(-a)<<a -8(double)(a+b)/5+a/b -0.43、比较两个数相等的运算符是:,一4、Java中的八种基本数据类型分别是:char、、int 、10ng、、shore_、flaot、 double、byte和boolean。:、选择题.下面这些标识符哪个是错误的(CA.Javaworld B._sum C.2JavaProgramD.$abc.下列哪一组运算符的优先级顺序是从高到低排列的(B)D.<、<<、++D.doubled=2.0;A.I、&、!B.&、a、||D.<、<<、++D.doubled=2.0;3、下面哪个赋值语句不会产生编译错误(CA.chara=’abc’;B.byteb=152; C.floatc=2.0;.下面哪个单词是Java语言的关键字(DA.FalseB.FOR C.ForD.for.执行下面程序后,哪个结论是正确的(Dinta,b,c;a=1;b=3;c=(a+b>3?++a:b++);A. a的值为2,b的值为3,c的值为1 B. a的值为2, b的值为4,c的值为2C. a的值为2,b的值为4,c的值为1 D. a的值为2, b的值为3,c的值为2.设各个变量的定义如下,哪些选项的值为true(C)inta=3,b=3;booleanflag二true;A.++a==bB.++a==b++C.(++a==b)||flagD.(++a==b)&flag7.表达式(int)6.5/7.5*3的值的类型为(C)?A.short B.intC.doubleD.float.设a,b,x,y,z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(DA.x>y&&b<aB.-z>x-y C.y==++xD.y+x*x++.下面语句输出的结果为(BSyste.out.println(5A2);A.6B.7C.10D.25.对下面的语句执行完后正确的说法是:(Dintc="c'/3;System.out.println(c);A.输出结果为21B.输出结果为22C.输出结果为32D.输出结果为33.以下选项中变量a已定义类型,合法的赋值语句为(DA.a=int(y);B.a==1;C.a=a+1=3;D.++a;.执行下列程序段后,ch,x,y的值正确的是:(Aintx=3,y=4;booleanch;ch=x<yII++x==--y;A.true,3,4B.true,4,3C.false,3,4D.false,4,3.下列标识符中,正确的是BA、1_BackB、$_MoneyC、$-moneyD、2-Forward.现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,得到的结果类型应该是BA、int类型B、double类型C、float类型D、10ng类型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.725x+z7x+z25x+z25x+zx+y=25x+y=25x+y=7x+y=25x+z=25x+z=7x+z=25x+z=716、设有定义inta=12;则执行a*=12;语句后,a的值为:-AA.144B.12C.24D.017、下列标识符中,合法的一个是CA.$#@!$ B.$我们$ C.$22$ D.2$$218、执行下列程序段后,b,x,y的值分别是Bintx=6,y=8;booleanb;b=x>y&&++x=--y;A.true,6,8B.false,6,8C.e,7,7 D.false,7,719、下列程序运行的结果是DpublicclassA{publicstaticvoidmain(Stringargs[]){intx=7%3;while(x){x--;)System.out.println(x);))A.0 B.1 C.true D.编译错误三、编程题1.使用Math.pow()方法,求出2的32次方的值。专题3流程控制语句一、填空题.在switch语句中的表达式的类型必须是(int型)或者(Boolean)。.break在循环语句中的作用是(跳出整个循环)。.分支语句包括(双重分支)和(多重分支)。.while循环语句的循环次数(不限),do-while语句的循环次数(至少一次),for语句的循环次数(不限 )。二、选择题.下面程序片段输出的是什么(Cinta=3,b=1;if(a=b)Syste.out.println(“a=”+a);A.a=1B.a=3C.编译错误,没有输出 D.正常运行,但没有输出.下面语句执行后,x的值为(Cinta=4,b=5,x=3;if(++a==b)x=x*a;A.3B.12C.15D.20.请看下面的程序代码: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>0 D.x>=20.请看下面的程序代码:switch(n){case0:Syste.out.println(“first”);Syste.out.println("second");break;default:Syste.out.println(“end”);

当n为何值时,程序段将输出字符串"second”(DA. 0B.1 C.2 D.以上都可以.下列语句执行后,j的值是(D)intj=3,i=3;while(--i!=i/j)j=j+2;A. 4B.5 C.6 D.7.下列语句执行后,x的值是(D)intx=2;do{x+=x;}while(x<17);A.4 B.16 C.32 D.256.执行下列语句后,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=5 D.i=5,j=6.下列语句执行后,k的值是(Bintj=4,i,k=10;for(i=2;i!=j;i++)k=k-i;A. 4B.5 C.6 D.7.下列语句执行后,c的值是(Ccharc=’\0’;for(c=’a’;c<’z’;c+=3){if(c>=’e’)break;}A. ’e’B.f C.’g’ D.’h’.若变量都已经正确说明,则以下程序段输出为(Aa=10;b=50;c=30;if(a>b)a=b;b=c;c=a;System.out.println("a="+a+”b="+b+”c="+c);B.a=10b=30c=10DB.a=10b=30c=10D.a=50b=30c=30C.a=50b=30c=10.以下程序段输出是(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 -1 2A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4 D.i=2,j=-1,k=2.以下程序的输出是(B)intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;b++;break;)a++;break;a++;b++;)System.out.println(“a=”+a+”,b=”+b); 20A.a=1,b=0B.a=2,b=0C.a=1,b=1D.a=2,b=213.以下程序段输出是(Cinti=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=714、下列程序运行的结果是CpublicclassA{publicstaticvoidmain(Stringargs[]){charc='d';for(inti=1;i<=4;i++){switch(i){c='a';System.out.print(c);break;c='b';System.out.print(c);

break;c='c';System.out.print(c);default:System.out.print("!");)))D.D.abc!!A.! B.dbc! C.abc!三、编程题.输入4个数,将这4个数按从小到大输出。.输入一个年份值,判断是否是闰年,输出相应的信息。.输入一元二次方程系数,若有实数根,求根并输出,否则输出“不是二次方程或没有实数根”的信息。.编写程序,计算邮局汇款的汇费:如果汇款金额小于100元,汇费为1元,如果金额在100元与500元之间,按1%收取汇费,如果金额大于500元,汇费为50元。.求某年某月的天数..求从1到100之间所有奇数的平方和(用for、while和do……while编写程序)。.求S=1+2+3+-+n之和,S<1000的最大n的值。.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?.输出九九乘法表。.输出1000之内的所有完数。所谓完数指的是:如果一个数恰好等于它的所有因子之和,这个数就称为完数。.输出100以内的全部素数。.求1!+2!+3!+……+10!.求2+22+222+2222+22222。专题4数组一、填空题.定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明、创建和赋值:(inty[]={1,2,3,4,5})。.设有整型数组的定义:“intx[][]={{12,34},{-5},{3,2,6}};”则x.length的值为(9).求取二维数组a[][]的第i行元素个数的表达式是()。4、一个一维数组有10个元素,则该数组可用的下标范围是0-95、StringS[]={“安徽”,“江苏”,“山东”};则5[1]的值是:江苏6、当声明一个数据组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是整形,数组元素下标的使用范围是 0-4二.选择题1.设有定义语句“inta[]={66,88,99};",则以下对此语句的叙述错误的是(CA.定义了一个名为a的一维数组B.a数组有3个元素C.a数组的元素的下标为1〜3D.数组中的每个元素是整数.设有定义“int[]a=newint[4];”则数组a的所有元素是(B)A.a0、a1、a2、a3 B.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].下面哪个选项正确地声明了一个字符串数组(C)A.char[]strB.char[][]strC.String[]strD.String[10]str4、假设有这样的数组创建:inta[]={1,2,3,4,5,6,7};则该数组长度为D_A.4 B.5 C.6 D.75、下列二维数组的创建中错误的是Ainta[][]=newint[3][];int[][]a=newint[3][4];inta[][]={{1,2},{3,4}};int[][]a=newint[][];三、编程题.编写一个程序,计算一维数组中的最大值、最小值及其差值。.将一个数组中的数逆序重新存放。.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的。.输出杨辉三角形。如:

1112113311464115101051.求一个二维数组的每行最大数。**专题5面向对象一、填空题.如果一个方法不返回任何值,则该方法的返回值类型为voi^.如果子类中的某个方法名、返回值类型和—传递参数与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。.接口中所有的属性均为—公有__、_静态和_常量 的.方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。.一般Java程序的类主体由两部分组成:一部分是成员变量,另一部分是成员方法.分别用class—关键字来定义类,用关键字来分配实例存储空间。.当一个类的修饰符为private—时,说明该类不能被继承,即不能有子类。.在Java中,能实现多重继承效果的方式是。二、选择题方法内定义的变量()。A.方法内定义的变量()。A.一定在方法内所有位置可见C.在方法外可以使用方法的形参(D)。A.可以没有C.必须定义多个形参B.可能在方法的局部位置可见D.在方法外可见B.至少有一个D.只能是简单变量return语句(D)。A.不能用来返回对象C.方法都必须含有return语句(D)。A.不能用来返回对象C.方法都必须含有main()方法的返回值类型是9。A.booleanvoidB.只可以返回数值一个方法中可以有多个B.intD.static编译并运行下面的程序,运行结果是()。publicclassA{A.publicstaticvoidmain(Stringargs[]){Aa=newA();a.method(8);)voidmethod(inti){System.out.println(“int:"+i);)voidmethod(longi){System.out.println("long:"+i);)程序可以编译运行,输出结果为:“int:8”B.程序可以编译运行,输出结果为:“long:8”C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出能作为类及其成员的修饰符是()。A.interfaceC.protected下列方法定义中,方法头不正确的是A.publicstaticx(doublea){…}C.voidx(doubled){…}构造方法在()时被调用。A.类定义时C.调用对象方法时下列哪个类声明是正确的()。publicabstractclassCar{…}C.protectedprivatenumber;B.classD.public()。publicstaticintx(doubley){…}D.publicintx(){…}B.使用对象的变量时D.创建对象时B.abstractprivatemove(){…}D.abstractfinalclassH1{…}.下列不属于面向对象程序设计的基本特征的是()。A.抽象 B.封装C.继承D.静态

C.继承.请看下面的程序段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).请看下面的程序段classTest{privateintm;publicstaticvoidfun(){//somecode}}方法fun()如何来访问变量m( )A.将privateintm改成protectedintmC.将privateintm改成staticintm有一个类A有一个类A,对于其构造函数的声明正确的是()。A.voidA(intx){…}C.AA(intx){…}.请看下面的程序段publicclassTest{longa[]=newlong[10];pubicstaticvoidmain(Stringargs[]){System.out.println(a[6]);}}哪一个选项是正确的( )。A.不输出任何内容C.当编译时有错误出现B.将privateintm改成publicintmB.将privateintm改成publicintmD.将privateintm改成intmB.publicA(intx){…}D.intA(intx){…}B.输出0D.当运行时有错误出现A. extends B. finalC. this D. finalize.声明为static的方法不能访问()类成员。A.超类 B.子类C.非static D.用户自定义类

.定义类A如下:(重要)classA{inta,b,c;publicvoidB(intx,inty,intz){a=x;b=y;c=z;})下面对方法B的重载哪些是正确的()。publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}publicvoidB(intx,inty){a=x;b=y;c=0;}publicB(intx,inty,intz){a=x;b=y;c=z;}.编译运行下面的程序,结果是()。(重要)publicclassA{publicstaticvoidmain(Stringargs[]){Bb=newB();b.test();}voidtest(){System.out.print(“A”)}}classBextendsA{voidtest(){super.test();System.out.print(“B”)}B.代码可以编译运行,并输出结果:B.代码可以编译运行,并输出结果:ABD.编译没有错误,但会产生运行时异常B.Directord=newManager();D.Managerm=newDirector();以下说法正确的是()。A.产生编译错误C.代码可以编译运行,但没有输出.已知类关系如下:ClassEmployee{}ClassManagerextendsEmployee{}ClassDirectorextendsEmployee{}则下列语句正确的是:()。A.Employeee=newManager();C.Directord=newEmployee();.接口是Java面向对象的实现机制之一,Java支持多重继承,一个类可以实现多个接口Java只支持单重继承,一个类可以实现多个接口Java只支持单重继承,一个类可以实现一个接口Java支持多重继承,但一个类只可以实现一个接口.下列方法的声明中不合法的是

floatarea(){...}voidarea(){...}floatarea(){...}voidarea(){...}C.area{…}DC.area{…}22、下面哪个包是编程时不需要导入就可以直接使用的A.A.B.java.lang23、调用构造方法是在—。A.类定义时C.调用对象的方法时C.java.sql D.java.utilB.创建对象时D.使用对象的变量时24、在子类构造方法的哪个地方可以调用其父类的构造方法—。A.任何地方B.构造方法的第一条语句C.构造方法的最后一条语句D.无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是—。A.继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B.继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D.继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量。A.static B.super C.this D.new27、什么样的方法不能被重写—。A.私有(private)方法 B.最终(final)方法C.受保护(protected)的方法 D.以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个—。A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D.抽象类中的变量定义时必须初始化,而接口中不是29、从下列程序中你发现了几处错误—。abstractclassA{abstractvoidf(){};publicabstractvoidk();}classBextendsA{protectedvoidf(){ }voidk(){System.out.print("Iamsubclass");}publicstaticvoidmain(String[]args){Aa=newA();a.f();a.k();}}A.1 B.2 C.3 D.430、下列程序运行的结果是一。interfaceInterfaceA{Strings="good";voidf();}classClassAimplementsInterfaceA{publicvoidf(){System.out.print(s);}}classClassB{voidg(InterfaceAa){a.f();}}publicclassE{publicstaticvoidmain(String[]args){ClassBb=newClassB();b.g(newClassA());}}A.good B.编译正确,但无运行结果

C.编译错误:b.g(newClassA())D.以上都不对31、下列类的声明中不合法的是一。A.classPeople()「,,} B.class植物{…}C.classA{…} D.publicclass共有类{…}32、能作为类的修饰符,也能作为类成员的修饰符的是一。C.Float D.staticB.C.Float D.staticB.this.xthis.yD.无解33、试完成下述程序片段—。publicclassPoint{intx,y;publicPoint(intx,inty){()=x;()=y;}}A.Point.xPoint.yC.super.xsuper.y34、在JAVA中,下列说法正确的是:一个子类可以有多个父类,一个父类也可以有多个子类一个子类可以有多个父类,但一个父类只可以有一个子类一个子类只可以有一个父类,但一个父类可以有多个子类D.上述说法都不对35、Father和Son是两个java类,下列哪一选项正确的标识出Father是Son的父类?A.classSonimplementsFather B.classFatherimplementsSonC.classFatherextendsSon D.classSonextendsFather36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。下列哪种说法不属于方法参数的不同—。A.形式参数的个数不同。 B.形式参数的类型不同。C.形式参数的名字不同。 D.形式参数类型的排列顺序不同。37、下列有关抽象类与接口的叙述中正确的是哪一个—A.抽象类中必须有抽象方法,接口中也必须有抽象方法B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D.抽象类中的变量定义时必须初始化,而接口中不是38、从下列程序中你发现了几处错误—。abstractclassA{abstractvoidf(){};publicabstractvoidk();}classBextendsA{protectedvoidf(){ }voidk(){System.out.print("Iamsubclass");}publicstaticvoidmain(String[]args){Aa=newA();a.f();a.k();}}A.1 B.2 C.3 D.439、关于接口的定义和实现,以下描述正确的是—。A.接口定义的方法只有定义没有实现B.接口定义中的变量都必须写明final和staticC.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码D.如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public三、阅读程序题1、写出运行结果:。publicclassComputer{Stringmainbord,cpu;publicComputer(Strings1,Strings2){mainbord二s1;cpu=s2;}publicstaticvoidmain(String[]args){Computerc=newComputer("华硕","Intel");System.out.println("mainbord:"+c.mainbord+”,cpu:"+c.cpu);2、写出运行结果: publicclassExamA{privatestaticintarr[]=newint[5];publicstaticvoidmain(Stringargs[]){for(inti=arr.length-1;i>=0;i--)arr[i]=2*i+1;Stringoutput="0";intsum=0;for(inti=0;i<arr.length;i++){sum+=arr[i];output+="+"+arr[i];)output+="="+sum;System.out.println(output);System.exit(0);3、写出运行结果: publicclassPerson{Stringname;intage;publicPerson(Stringname,intage){二name;this.age二age;publicstaticvoidmain(String[]args){Personc=newPerson("Peter",17);System.out.println(+"is"+c.age+"yearsold!");)4、写出运行结果: publicclassabc{publicstaticvoidmain(Stringargs[]){SubSubClassx=newSubSubClass(10,20,30);x.show();classSuperClass{inta,b;SuperClass(intaa,intbb){a=aa;b=bb;)voidshow(){System.out.println("a="+a+"b="+b);))classSubClassextendsSuperClass{intc;SubClass(intaa,intbb,intcc){super(aa,bb);c=cc;))classSubSubClassextendsSubClass{inta;SubSubClass(intaa,intbb,intcc){super(aa,bb,cc);a=aa+bb+cc;)voidshow(){System.out.println("a="+a+"b="+b+"c="+c);)).下面是一个类的定义,请将其补充完整class{Stringname;intage;Student(name,inta){.name二name;age=a;)).下面是一个类的定义,请将其补充完整class{Strings;inta=3;A(Strings){this.s二s;)staticintgetA(){returna;四、编程题1.按要求编写一个Java应用程序:(1)定义一个接口CanCry,描述会吼叫的方法publicvoidcry()。(2)分别定义狗类(Dog)和猫类(Cat),实现CanCry接口。实现方法的功能分别为:打印输出“我是狗,我的叫声是汪汪汪"、“我是猫,我的叫声是喵喵喵”。(3)定义一个主类G,①定义一个voidmakeCry(CanCryc)方法,其中让会吼叫的事物吼叫。②在main方法中创建狗类对象(dog)、猫类对象(cat)、G类对象(g),用g调用makecry方法,让狗和猫吼叫。2、编写一个Java程序,并满足如下要求:1)编写一个Car类,具有:属性:品牌(mark) String类型功能:驾驶(voiddrive())2)定义Car类的子类SubCar,具有:属性:价格(price)、速度(speed) int型功能:变速(voidspeedChange(intnewSpeed)),把新速度赋给speed3)定义主类E,在其main方法中创建SubCar类的两个对象:aodi和benchi的对象并测试其对象的特性。4)输出效果如下:本车的品牌是奥迪奥迪车的价格是SCI奥迪车原来的速度是限本车正在驾驶奥迪车现在的速度是12口本车的品牌是奔驰奔驰车的价格是1皿奔驰车原美的选度是“本车正在驾驶奔驰车现在的速度是12口.某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。包括如下属性和对属性进行操作的方法。Stringxm;//姓名Stringxb;//性别intnl;//年龄Stringjtzz;//家庭住址Stringxl;//学历.编写程序,提供实现各种数学计算的方法。包括如下几项。(1)两个数的加、减、乘、除。(2)求某数的相反数、倒数、绝对值。(3)取两数中较大的和较小的。(4)对浮点数(double型)的计算功能。如:给定浮点数d,取大于或等于d的最小整数,取小于或等于d的最大整数,计算最接近d的整数值,计算d的平方根、自然对数log(d)等。(5)计算以double型数a为底数,b为指数的幕。.编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。.定义一个接口,接口中有3个抽象方法如下。“longfact(intm);"方法的功能为求参数的阶乘。“longintPower(intm,intn);”方法的功能为求参数m的n次方。“booleanfindFactor(intm,intn);"方法的功能为判断参数m加上参数n的和是否大于100。定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。.创建一个接口IShape,接口中有一个求取面积的抽象方法“publicdoublearea()”。定义一个正方形类Square,该类实现了IShape接口。Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。定义一个主类,在主类中,创建Square类的实例对象,求该正方形对象的面积。.定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。(1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。(2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是……自己想吧)。(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。(4)编写主函数分别对上述3类具体人物进行测试。专题6字符串、日期时间类一、填空题.已知String对象s="hello”,运行语句“System.out.println(s.concat("World!"));"后,s的值为()TOC\o"1-5"\h\z.使用十=将字符串s2添加到字符串s1后的语句是( ).比较s1种的字符串和s2种的字符串的内容是否相等的表达式是:( ).已知sb为StringBuffer的一个实例,且sb="abcde",则sb.reverse()Bsb的值为:( ).获取当前系统时间( ).已知StringBuffersb二newStringBuffer("abc"),则sb.reverse()后,sb的值为7、Strings1=“China”;intn=s1.length();n的值为(10)二.选择题.已知String对象s=”abcdefg”,则s.substring(2,5)的返回值为()。B.”cde”AB.”cde”C."cdef” D."def”.若有下面的代码:Strings="people”;Stringt=''people”;Charc[]={'p','e','o','p',T,'e'};下面哪一选项的语句返回值为假()?A. s.equals(t) B. t.equals(c)C. s==t D. t.equals(newString("people")).已知s为一个String对象,s="abcdefg",则s.charAt(1)的返回值为()。A.a B.bC.f D.g.若有下面的代码:Strings="good”;下面选项语句书写正确的是:()。A.s十二"student"; B.charc=s[1];

C.intlen二s.length D.Stringt=s.toLowerCase();5、假设Strings="Nicetomeetyou",则下面返回"to"的语句为。A.s.substring(6,8); B.s.substring(5,9);C.s.substring(5,7); D.s.substring(6,7);6、调用下面哪个方法时会改变原有对象—。A. String的trim() B. String的length()C. StringBuffer的reverse() D. StringBuffer的length()7、已知inti=123,通过以下哪种方式可以得到字符串"123"。A. Integer.parseInt(i); B. String.valueOf(i);C. Long.parseLong(i); D. Float.parseFloat(i);8、由"a".compareTo("b")得到的数值。A.>0 B. =0 C. <0 D.不确定9、已知Strings="Thisisastring",则s.indexOf("is")的值为。A.1 B. 2 C. 3 D.410、已知inti=123,通过以下哪种方式可以得到字符串"123"A.Integer.parseInt(i);C.Long.parseLong(i);11、以下程序段执行的结果为—Stringstr1,str2;str1="Byebye";str2="Byebye";System.out.print(str1.equals(str2));System.out.println(str1==str2);String.valueOf(i);D.Float.parseFloat(i);falsetrueD.falsefalseA.abcB.abdeC.acdeD.adeAString.valueOf(i);D.Float.parseFloat(i);falsetrueD.falsefalseA.abcB.abdeC.acdeD.ade三、编程题.实现把“ILoveJava!”的字符全部转换为小写并输出到控制台。.使用String类中的split()函数,统计出“thisismyhomework!Imustfinishit!”中单词的个数。(注意:单词之间用一个空格来分隔。).给出两个日期,计算它们之间相隔的天数。.实现将当前日期信息以4位年份、月份全称、两位日期形式输出。专题7异常处理一.填空题.一个try语句块后必须跟( )语句块,( )语句块可以没有.自定义异常类必须继承( )类及其子类.异常处理机制允许根据具体的情况选择在何处处理异常,可以在( )捕获并处理,也可以用throws子句把他交给( )处理二.选择题1.finally语句块中的代码( )A.总是被执行B.当try语句块后面没有catch时,finally中的代码才会执行C.异常发生时才执行D.异常没有发生时才被执行2.抛出异常应该使用的关键字是( )throwcatchC.finallyD.throws.自定义异常类时,可以继承的类是( )ErrorAppletException及其子类D.AssertionError.在异常处理中,将可能抛出异常的方法放在( )语句块中A.throwsB.catchC.tryD.finally.对于try{ }catch子句的排列方式,下列正确的一项是( )A.子类异常在前,父类异常在后B.父类异常在前,子类异常在后C.只能有子类异常

D.父类异常与子类异常不能同时出现6.使用catch(Exceptione)的好处是()A.只会捕获个别类型的异常B.捕获try语句块中产生的所有类型的异常C.忽略一些异常D.执行一些程序三.简答题.try/catch/finally如何使用?.Throw/throws有什么联系和区别?.如何自定义异常类?.谈谈final、finally的区别和作用.如果g{}里有一个return语句,那么紧跟在这个try后的自口加丫{}里的代码会不会被执行?.Error和Exception有什么区别?(重要).什么是RuntimeException?列举至少4个RuntimeException的子类四.编程题.编写程序,要求输入若干整数,输入的同时计算前面输入各数的乘积,若乘积超过100000,则认为是异常,捕获并处理这个异常,输出信息。.编写一个登录界面,要求帐户名只能由1至10位数字组成,密码只能有6位,任何不符合帐户名和密码要求的情况都视为异常,必须捕获并处理异常.设计自己的异常类表示对负数求平方根的错误;在类Test的主方法中,从键盘输入一个数,若输入的数不小于0,则输出它的平方根;若小于0,则抛出自定义异常;在程序中处理异常并输出提示信息“输入错误,不能对负数求平方根”专题8多线程一、填空题1.Java语言实现多线程的方法有两种,它们是( )和( ).线程有.线程有5种状态,它们是( )、(.在java中,线程同步是通过(.新创建的线程默认的优先级是(.当一个线程睡眠时,sleep()方法不消耗)、( )、()和( ))关键字实现的)( )时间二.选择题.一个Java程序运行后,在系统中这个程序便可以作为一个( )A.线程B.进程C.进程或线程 D.不可预知.设已经编好了一个线程类MyThread,要在main()中启动该线程,需使用以下哪个方法( )newMyThreadMyThreadmyThread=newMyThread();myThread.start();MyThreadmyThread=newMyThread();myThread.run();newMyThread.start();.以下哪个方法不能使线程进入阻塞状态( )A.sleep()B.wait()C.suspend()D.stop().可以使用( )方法设置线程的优先级A.getPriority()B.setPriority()C.yield()D.wait().线程是Java的()机制A.检查B.解释执行C.并行D.并发.以下方法用于定义线程执行体的是( )A.start()B.init()C.run()D.main()一个线程如果调用了sleep()方法,能唤醒它的方法是( )A.notify()B.resume()C.run() D.以上都不是三、编程题.设计四个线程对象对同一个数据进行操作,两个线程执行减操作,两个线程执行加操作.制作两个线程对象,要求用同步块的方式使第一个线程运行2次,然后将自己阻塞起来,唤醒第二个线程,第二个线程再运行2次,然后将自己阻塞起来,唤醒第一个线程……两个线程交替执行。专题9图形用户界面编程一.填空题.AWT的组件库被更稳定、通用、灵活的库取代,该库称为( ).()用于安排容器上的GUI组件.设置容器的布局管理器的方法是( )

.当释放鼠标按键时,将产生( )事件.Java为那些声明了多个方法的Listener接口提供了一个对应的( ),在该类中实现了对应接口的所有方法TOC\o"1-5"\h\z.ActionEvent事件的监听器接口是(),注册该时间监听器的方法名是( ),事件处理方法名是( ).图形用户界面通过( )相应用户和程序的交互,产生事件的组件称为().Java的Swing包中定义菜单的类是().向容器内添加组件使用()方法.对话框有两种类型,分别是( )和( ).工具栏一般放在窗口的()位置.若要使表格具有滚动条,需要将表格添加到( )组件中。.paint()方法的参数是()类的实例.drawRect(intx1,inty1,intx2,inty2)中,x2和y2分别代表矩形的()和()二.选择题1.窗口JFrame使用()方法可以将jMenuBar对象设置为主菜单A.setHelpMenu(jMenuBar)A.setHelpMenu(jMenuBar)C.setJMenuBar(jMenuBar).下面属于容器类的是(A.Color类C.JFrame类.使用()类创建菜单对象A.DimensionJMenuItem4.使用(B.add(jMenuBar)D.setMenu(jMenuBar))JMenu类JTextField类B.JMemuD.JTextArea)方法创建菜单中的分隔条A.A.setEditableC.add D.addSeparatorJPanel和JApplet的默认布局管理器是()A.CardLayout B.FlowLayoutC.BorderLayout D.GridLayoutJFrame的默认布局管理器是()A.CardLayout B.FlowLayoutC.BorderLayout D.GridLayout按钮可以产生ActionEvent事件,实现哪个接口可以处理此事件(A.FocusListenerBA.FocusListenerActionListener D.WindowListener8.容器使用()方法将组件添加到容器B.add()AB.add()C.setComponent() D.Add()9.向JTextArea的( )方法传递false参数可以防止用户修改文本A. setEditable B. changeListenerC. add D. addSeparatorTOC\o"1-5"\h\z为了能够通过选择输入学生性别,使用组件的最佳选择是( )A. JCheckBox B. JRadioButtonC. JComboBox D. JList当选中一个复选框,即在前面的方框上打上对勾,引发的事件是( )A. ActionEvent B. ItemEventC. SelectEvent D. ChangeEvent窗口关闭时会触发的事件是( )A.ContainerEvent B.ItemEventC. WindowEvent D. MouseEvent下面哪种对话框可以接受用户输入( )A.showConfirmDialog B.showInputDialogC. showMessageDialog D. showOptionDialogaddActionListener(this)方法中的this参数表示的意思是( )A.当有事件发生时,应该使用this监听器this对象类会处理此事件this事件优先于其他事件D.只是一种形式以下类中,具有绘图能力的类是()A.Image B.GraphicsC.Font D.ColorGraphics类中提供的绘图方法分为两类:一类是绘制图形,另一类是绘制()A.屏幕B.文本C.颜色D.图像三、编程题.设计一个图形界面的猜数字游戏程序.设计一个将华氏温度转换为摄氏温度的程序,按钮完成温度的转换。公式:摄氏温度=(华氏温度-32)*5/9.设计一个C/S考试系统的界面(如下图),单击“确认”按钮后,使“开始考试”按钮可用,并使“学号”、“姓名”后的文本框及“确认”按钮不可用;单击“开始考试”按钮后使“下一题”按钮可用,同时设置“开始考试”按钮不可用。.设计一个窗口,里面有两个文本框和一个按钮,在第一个文本框中输入一个数,当单击按钮时,在另一个文本框中显示该数字的平方根,要求能处理异常。.下面的程序实现了在窗口中绘制一个以(70,70)为圆心,50为半径,边框是绿色的圆,圆心是红色的。请将程序补充完整:classExamextendsFrame{publicvoidpaint(Graphicsg){g.setColor(Color.green);g.drawOval(20,20,100,100);g.setColor(Color.red); ;)).下面的程序实现了在窗体的坐标(50,50)处以红色显示“红色文字”请将程序补充完整:classExamextendsFrame{publicvoidpaint(Graphicsg){ ;g.drawString(“红色文字”,50,50)))专题10(模块7)输入输出、填空题.根据流的方向,流可以分为两类:( )和( ).根据操作对象的类型,可以将数据流分为( )和( )两种.在java.io包中有4个基本类:InputStream、OutputStream、Reader和( )类.在Java语言中,实现多线程之间通信的流是().()类是java.io包中一个非常重要的非流类,封装了操作文件系统的功能。.()类用于将Java的基本数据类型转换为字符串,并作为控制台的标准输出.Java包括的两个标准输出对象分别是标准输出对象( )和标准错误输出.FileInputStream实现对磁盘文件的读取操作,在读取字符的时候,它一般与()和( )一起使用二.选择题.Java语言提供处理不同类型流的类所在的包是( )A.java.sql B.java.utilC.java.mathD.java.io.创建一个DataOutputStream的语句是( )newDataOutputStream("out.txt”)newDataOutputStream(newFile("out.txt”));newDataOutputStream(newWriter("out.txt”));3.下面语句正确的是( )3.下面语句正确的是( )RandomAccessFileraf=newRandomAccessFileraf=new

C.RandomAccessFileraf=new

D.RandomAccessFileraf=newRandomAccessFile("myfile.txt","rw");RandomAccessFile(newDataInputStream());RandomAccessFile("myfile.txt");RandomAccessFile(newFile("myfile.txt"));TOC\o"1-5"\h\z4.下面哪个方法返回的是文件的绝对路径( )A.getCanonicalPath() B.getAbsolutePath()C.getCanonicalFile() D.getAbsoluteFile().在File类提供的方法中,用语创建目录的方法是( )A.mkdir()B.mkdirs()C.list() D.listRoots().程序如果要按行输入/输出文件中的字符,最合理的方法是采用( )BufferedReader和BufferedWriter类InputStream和OutputStream类FileReader和FileWri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论