(5)(double)(a+b)/5+a/b
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=;D.doubled=;
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)*3的值的类型为(B)
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)
2);7C22C3C712813C12C0C1C5C16C4C5C0’50c30c30c30c2C0C7C6.求从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}};”则的值为()
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~3 D.数组中的每个元素是整数
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();
(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){
2....
}
A.B.
C.D.无解
34、在JAVA中,下列说法正确的是:
。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类只可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
35、Father和Son是两个java类,下列哪一选项正确的标识出Father是Son的父类
A.classSonimplementsFatherB.classFatherimplementsSon
C.classFatherextendsSonD.classSonextendsFather
36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。
下列哪种说法不属于方法参数的不同。
A.形式参数的个数不同。
B.形式参数的类型不同。
C.形式参数的名字不同。
D.形式参数类型的排列顺序不同。
37、下列有关抽象类与接口的叙述中正确的是哪一个。
A.抽象类中必须有抽象方法,接口中也必须有抽象方法
B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法
C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法
D.抽象类中的变量定义时必须初始化,而接口中不是
38、从下列程序中你发现了几处错误。
abstractclassA{
abstractvoidf(){};
publicabstractvoidk();
}
classBextendsA{
protectedvoidf(){}
voidk(){
}
publicstaticvoidmain(String[]args){
Aa=newA();
();
();
}
}
A.1B.2C.3D.4
39、关于接口的定义和实现,以下描述正确的是。
A.接口定义的方法只有定义没有实现
B.接口定义中的变量都必须写明final和static
C.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码
D.如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public
三、阅读程序题
1、写出运行结果:
。
publicclassComputer{
Stringmainbord,cpu;
publicComputer(Strings1,Strings2){
mainbord=s1;
cpu=s2;
}
publicstaticvoidmain(String[]args){
Computerc=newComputer("华硕","Intel");
cpu:
"+;
}
}
2、写出运行结果:
。
publicclassExamA{
privatestaticintarr[]=newint[5];
publicstaticvoidmain(Stringargs[]){
for(inti=;i>=0;i--)
arr[i]=2*i+1;
Stringoutput="0";
intsum=0;
for(inti=0;i<;i++){
sum+=arr[i];
output+="+"+arr[i];
}
output+="="+sum;
(0);
}
}
3、写出运行结果:
。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
=name;
=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
}
}
4、写出运行结果:
。
publicclassabc{
publicstaticvoidmain(Stringargs[]){
SubSubClassx=newSubSubClass(10,20,30);
();
}
}
classSuperClass{
inta,b;
SuperClass(intaa,intbb){
a=aa;b=bb;
}
voidshow(){
);
}
}
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(){
);
}
}
5.下面是一个类的定义,请将其补充完整
class______{
Stringname;
intage;
Student(______name,inta){
=name;
age=a;
}
}
6.下面是一个类的定义,请将其补充完整
class______{
Strings;
______inta=3;
A(Strings){
=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)),把新速度赋给speed
3)定义主类E,在其main方法中创建SubCar类的两个对象:
aodi和benchi的对象并测试其对象的特性。
4)输出效果如下:
3.某公司正进行招聘工作,被招聘人员需要填写个人信息,编写“个人简历”的封装类。
包括如下属性和对属性进行操作的方法。
Stringxm;//姓名
Stringxb;//性别
intnl;//年龄
Stringjtzz;//家庭住址
Stringxl;//学历
4.编写程序,提供实现各种数学计算的方法。
包括如下几项。
(1)两个数的加、减、乘、除。
(2)求某数的相反数、倒数、绝对值。
(3)取两数中较大的和较小的。
(4)对浮点数(double型)的计算功能。
如:
给定浮点数d,取大于或等于d的最小整数,取小于或等于d的最大整数,计算最接近d的整数值,计算d的平方根、自然对数log(d)等。
(5)计算以double型数a为底数,b为指数的幂。
5.编写一个抽象类Shape,声明计算图形面积的抽象方法。
再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。
6.定义一个接口,接口中有3个抽象方法如下。
(1)“longfact(intm);”方法的功能为求参数的阶乘。
(2)“longintPower(intm,intn);”方法的功能为求参数m的n次方。
(3)“booleanfindFactor(intm,intn);”方法的功能为判断参数m加上参数n的和是否大于100。
定义类实现该接口,编写应用程序,调用接口中的3个方法,并将调用方法所得的结果输出。
7.创建一个接口IShape,接口中有一个求取面积的抽象方法“publicdoublearea()”。
定义一个正方形类Square,该类实现了IShape接口。
Square类中有一个属性a表示正方形的边长,在构造方法中初始化该边长。
定义一个主类,在主类中,创建Square类的实例对象,求该正方形对象的面积。
8.定义一个人类,包括属性:
姓名、性别、年龄、国籍;包括方法:
吃饭、睡觉,工作。
(1)根据人类,派生一个学生类,增加属性:
学校、学号;重写工作方法(学生的工作是学习)。
(2)根据人类,派生一个工人类,增加属性:
单位、工龄;重写工作方法(工人的工作是……自己想吧)。
(3)根据学生类,派生一个学生干部类,增加属性:
职务;增加方法:
开会。
(4)编写主函数分别对上述3类具体人物进行测试。