JAVA基础练习题.docx
《JAVA基础练习题.docx》由会员分享,可在线阅读,更多相关《JAVA基础练习题.docx(10页珍藏版)》请在冰豆网上搜索。
![JAVA基础练习题.docx](https://file1.bdocx.com/fileroot1/2023-6/17/c75198ae-ceb1-4d82-acea-c0175cbc25c5/c75198ae-ceb1-4d82-acea-c0175cbc25c51.gif)
JAVA基础练习题
JAVA练习
1.以下方法fun的功能是求两参数之积。
intfun(inta,intb){returna*b;}
2.以下方法fun的功能是求两参数之积。
floatfun(inta,doubleb){return(float)a*b;}
4.以下方法m的功能是求两参数之积的整数部分。
intm(floatx,floaty){return(int)x*y;}
6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。
public___boolean_____isEven(inta)
{if(a%2==0)
return__true___;
else
returnfalse;
}
7.同一个类中多个方法具有相同的方法名,不同的____参数列表_________称为方法的重载。
二.选择题及答案
1.下列方法定义中,正确的是()。
D
A)intx(inta,b){return(a-b);}
B)doublex(inta,intb){intw;w=a-b;}
C)doublex(a,b){returnb;}
D)intx(inta,intb){returna-b;}
2.下列方法定义中,正确的是()。
D
A)voidx(inta,intb);{return(a-b);}
B)x(inta,intb){returna-b;}
C)doublex{returnb;}
D)intx(inta,intb){returna+b;}
3.下列方法定义中,不正确的是(D)。
A)floatx(inta,intb){return(a-b);}
B)intx(inta,intb){returna-b;}
C)intx(inta,intb);{returna*b;}
D)intx(inta,intb){return*(a+b);}
4.下列方法定义中,正确的是(A)。
A)intx(){charch='a';return(int)ch;}
B)voidx(){...returntrue;}
C)intx(){...returntrue;}
D)intx(inta,b){returna+b;}
5.列方法定义中,方法头不正确的是()。
D
A)publicintx(){...}
B)publicstaticintx(doubley){...}
C)voidx(doubled){...}
D)publicstaticx(doublea){...}
6.在某个类中存在一个方法:
voidgetSort(intx),以下能作为这个方法的重载的声明的是()。
C
A)publicgetSort(floatx)B)intgetSort(inty)
C)doublegetSort(intx,inty)D)voidget(intx,inty)
7.在某个类中存在一个方法:
voidsort(intx),以下不能作为这个方法的重载的声明的是()。
B
A)publicfloatsort(floatx)B)intsort(inty)
C)doublesort(intx,inty)D)voidsort(doubley)
8.为了区分类中重载的同名的不同方法,要求()。
A
A)采用不同的形式参数列表B)返回值类型不同
C)调用时用类名或对象名做前缀D)参数名不同
三.问答题及答案
1.方法可以没有返回值吗答:
可以
可以有多个返回值吗答:
不可以
2.一个方法如果没有返回值,方法头定义中的返回值类型为何答:
void
4.一个方法或一个复合语句内定义的变量是否可以在方法外或复合语句外使用这种变量称为什么变量
答:
不能局部变量
6.重载的方法可以通过它们的返回值类型的不同来区分吗
答:
不能
7.编译程序如何区分重载方法的调用
答:
根据参数列表的个数和类型
一、选择题
1定义类头时,不可能用到的关键字是C。
A)classB)privateC)extendsD)public
2.下列类定义中,不正确的是C。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
3.下列类头定义中,错误的是。
C
A)publicxextendsy{...}
B)publicclassxextendsy{...}
C)classxextendsyimplementsy1{...}
D)classx{...}
4.设A为已定义的类名,下列声明A类的对象a的语句中正确的是()。
D
A)floatAa;B)publicAa=A();
C)Aa=newint();D)staticAa=newA();
5.设A为已定义的类名,下列声明A类的对象a的语句中正确的是()。
A
A)publicAa=newA();B)publicAa=A();
C)Aa=newclass();D)aA;
6.设X、Y均为已定义的类名,下列声明类X的对象x1的语句中正确的是。
C
A)publicXx1=newY();B)Xx1=X();
C)Xx1=newX();D)intXx1;
7.设X、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是。
A
A)staticXx1;B)publicXx1=newX(int123);
C)Yx1;D)Xx1=X();
8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现:
答:
MyClassobj=newMyClass();
9.设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是。
A
A)voidX(intk){i=k;}B)X(intk){i=k;}
C)X(intm,intn){i=m;j=n;}D)X(){i=0;j=0;}
10.有一个类A,以下为其构造方法的声明,其中正确的是。
A
A)publicA(intx){...}B)staticA(intx){...}
C)publica(intx){...}D)voidA(intx){...}
11.有一个类A,以下为其构造方法的声明,其中正确的是。
B
A)voidA(intx){...}B)A(intx){...}
C)a(intx){...}D)voida(intx){...}
12.设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是。
B
A)X(intm){...}B)voidX(intm){...}
C)X(intm,intn){...}D)X(inth,intm,intn){...}
13.设i,j为类X中定义的double型变量名,下列X类的构造方法中不正确的是。
A
A)doubleX(doublek){i=k;returni;}C)X(){i=6;j=8;}
B)X(doublem,doublen){i=m;j=n;}D)X(doublek){i=k;}
14.设a,b为类MyClass中定义的int型变量名,下列MyClass类的构造方法中不正确的是。
A
A)doubleMyClass(doublek){a=k;returna;}
B)MyClass(){a=6;b=8;}
C)MyClass(doublem,doublen){a=m;b=n;}
MyClass(doublek){a=k;}
15定义类头时,不可能用到的关键字是A
。
A)protectedB)classC)extendsD)public
17.设B为已定义的类名,下列声明B类的对象b的语句中正确的是()。
D
A)floatBb;B)publicBb=B();
C)Bb=newint();D)staticBb=newB();
18.设ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是。
A
A)publicClassAca=newClassA();B)publicClassAca=ClassA();
C)ClassAca=newclass();D)caClassA;
19.设A、B均为已定义的类名,下列声明类A的对象a1的语句中正确的是。
C
A)publicAa1=newB();B)Aa1=A();
C)Aa1=newA();D)intAa1;
20.设A、B为已定义的类名,下列声明A类的对象a1的语句中正确的是A。
A)staticAa1;B)publicAa1=newA(int123);
C)Ba1;D)Aa1=A();
21.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现:
答:
Aa=newA();
22.设m,n为类A中定义的int型变量名,下列A类的构造方法中不正确的是。
A
A)voidA(intk){m=k;}B)A(intk){m=k;}
C)A(intm,intn){m=i;n=j;}D)A(){m=0;n=0;}
23.有一个类Person,以下为其构造方法的声明,其中正确的是。
A
A)publicPerson(intx){...}B)staticPerson(intx){...}
C)publica(intx){...}D)voidPerson(intx){...}
24.有一个类Student,以下为其构造方法的声明,其中正确的是。
B
A)voidStudent(intx){...}B)Student(intx){...}
C)s(intx){...}D)voids(intx){...}
25.设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是。
B
A)School(intm){...}B)voidSchool(intm){...}
C)School(intm,intn){...}D)School(inth,intm,intn){...}
二、填空题
2.下面是一个类的定义,请将其补充完整。
class__Student___
{
Stringname;
intage;
Student(____Strings,inti)
{
name=s;
age=i;
}
}
3.下面是一个类的定义,请将其补充完整。
class_____myclass_______面是一个类的定义,请将其补充完整.
______class_____A
{Strings;
__static___inta=666;
A(Strings1){s=s1;}
staticintgeta(){returna;}
}
2.在一个类定义中,用什么描述对象的状态答:
属性(变量)
用什么描述对象的行为答:
方法
3.什么方法是一个特殊的方法,用于对对象进行初始化
答:
构造方法
5.构造方法的方法名可由编程人员任意命名吗
答:
不能必须与类同名
6.类的构造方法名必须和类名相同吗
答:
是的
7.构造函数有返回值吗答:
没有
8.构造函数可以重载吗可以
11.类的访问控制权有几种
Publicdefault
12.用什么修饰符修饰的方法称为静态方法用什么修饰符修饰的属性称为静态属性
答:
static
17.非static方法中可以有this引用吗
答:
可以
20.类的私有属性和私有方法能不能被其子类直接访问
答:
不能
12.下列选项中,哪个是java语言所有类的父类C
A)StringB)VectorC)ObjectD)KeyEvent
14.下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是B
A)publicB)protectedC)privateD)final
15.下列选项中,表示数据或方法只能被本类访问的修饰符是C
A)publicB)protectedC)privateD)final
二、填空题
3.如果子类中的某个方法的名字、返回值类型和__参数列表_____与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
编程题;(提示:
用IF+for循环,可以用别的方法。
方法不限)
1打印
*****
***
*
***
*****