考试酷java第四章
第四章
1. 关于内部类,下列说法不正确的是( )。
内部类不能有自己的成员方法和成员变量 B(int x) {}
2. 有一个类B,下面为其构造方法的声明,正确的是( )。
3. 为AB类定义一个无返回值的方法f,使得使用类名就可以访问该方法,该方法头的形式为( )
static void f() 4. 在Java语言中,哪一个包中的类是自动导入的?( ) java.lang 5. 定义外部类时不能用到的关键字是( )。
protected 6. 下列哪种类成员修饰符修饰的变量只能在本类中被访问?( private
7. 定义一个公有double型常量PI,哪一条语句最好?( public final static double PI=3.14;
8. 下面关于方法的说法,不正确的是( )。 如果一个类定义了构造方法,也可以用该类的默认构造方法 9. 下面关于类的说法,不正确的是( )。
类就是对象
10. 给出下面的程序代码: public class X4_1_3 { private float a;
public static void m ( ){ } }
如何使成员变量a被方法m( )访问( )
将private float a改为static float a
11. 给出下面程序代码: byte[] a1, a2[]; byte a3[][]; byte[][] a4;
下列数组操作语句中哪一个是不正确的?( )
a2 = a1
) )
12. 下面代码运行后的输出结果为( )。 public class X6_1_5 {
public static void main(String[] args) { AB aa = new AB(); AB bb; bb = aa;
System.out.println(bb.equals(aa)); } }
class AB{ int x = 100; }
true
13. 设有下列数组定义语句: int a[] = {1, 2, 3};
则对此语句的叙述错误的是( )。
a数组元素的下标为1~3 s += \"you\";
定义数组时必须分配内存 x[19]为0
14. 已知有定义:String s=\"I love\",下面哪个表达式正确?( ) 15. 关于数组,下列说法中不正确的是( )。
16. 执行语句:int[] x = new int[20];后,下面哪个说法是正确的?( )
1. Applet由浏览器自动调用的主要方法DA,B,C和
分别对应了Applet从初始化、启动、暂停到消亡的生命周期的各
Init
start
A个阶段 。
stop
destroy
B2. 数组是一种 数据类型,在Java中,数组是作为 C来处理,并可的。数组是有限元素的有序集合,数组中的元素具有相同的 用统一的
复合
D和
对象
E来唯一确定其元素。
数据类型 数组名 下标
3. 在数组定义语句中,如果[]在数据类型和变量名之间时,[]之后定义的所有变量都是
A 类型,当[]在变量名之后时,只有[]之前的变量
B是
类型,之后没有[]的则不是数组类型。
数组
AB数组
4. 利用 C类中的类中的D方法可以实现数组元素的复制;利用和 E方法可以实现对数组元素sort()
binarySearch()
A的排序、查找等操作。
System
arraycopy()
Arrays
5. Java语言提供了两种具有不同操作方式的字符串类:B类和
类。它们都是 String
StringBuffer
C的子类。
java.lang.Object
A
6. System类是一个功能强大、非常有用的特殊的类,它提供了B、
系统信息等重要工具。这个类不能 DC ,即不能创建类型,引用时以类名
System类的对象,所以它所有的属性和方法都是 System为前缀即可。
标准输入/输出
运行时
实例化
Astatic
7. 方法体内定义变量时,变量前不能加 B;局部变量在使用前必须,否则编译时会出错;而类变量在使用前可以不用赋值,它们都有一
C个
的值。
默认
A修饰符 明确赋值
8. 创建包时需要使用关键字
package
A 。
B9. 定义类时需要口时需要关键字
class
C关键字,继承类时需要 。
implements
关键字,实现接
extends
10. 引用static类型的方法时,可以使用BA做前缀,也可以使用
做前缀。
类名
对象名
AB
11. 静态数据成员既可以通过问它。
对象名 类名
来访问,也可以通过直接访12. 从用户的角度看,Java源程序中的类分为两种:BA和。
系统定义的类
用户自己定义的类
AB
13. static方法中只能引用 类型的数据成员和 C类型的成员方法;而非static类型的方法中既可以引用 员方法,也可以引用
static
D类型的数据成员和成类型的数据成员和成员方法。
非static
Astatic
14. 如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个默认构造方法。这个方法没有
形式参数 Object类
java.lang
A,也没有任何具体语句
,不能完成任何操作。
15. 是所有类的直接或间接父类,它在 包中。 16. 数组初始化包括
静态
动态
A初始化和 B初始化两种方式。
17. 静态数据成员被保存在类的内存区的单元中,而不是保存在某B个对象的内存区中。因此,一个类的任何对象访问它时,存取到的都是同/不同)的数值。
公共存储
A(相相同
18. 类中的
构造
方法是一个特殊的方法,该方法的方法名和类名相同。[
19. 当程序中需要引用java.awt.event包中的类时,导入该包中类的语句为
A。
import java.awt.event.*
A
20. 一个类主要包含两个要素:
数据成员
和成员方法 24. public class X6_3_1 { public static void main(String[] args) { int a[]={12,39,26,41,55,63,72,40,83,95}; int i1=0,i2=0; for(int i=0;i 6 4 25. public class X6_3_2 { public static void main(String[] args) { int a[]={36,25,48,14,55,40,32,66}; int b1,b2; b1=b2=a[0]; for(int i=1;i if ( b1 >b2 ) b2=b1; b1=a[i]; } System.out.println(b1+\"\\"+b2); } } 66 55 26. public class X6_3_3 { public static void main(String[] args) { int a[]={36,25,48,14,55,40,32,66 }; int b1,b2; b1=b2=a[0]; for (int i=1;i 14 25 27. public class X6_3_4 { public static void main(String[] args) { String str = \"abcdabcabfgacd\"; char[] a =str.toCharArray(); int i1 =0, i2=0, i; for(i=0;i 4 3 28. public class X6_3_5 { public static void main(String[] args) { String str =\"abcdabcabdaeff\"; char[] a = str.toCharArray(); int b[] = new int[5],i; for(i=0;i for(i =0; i<5; i++) System.out.print(b[i]+\"\\"); System.out.println(); } } 4 3 2 2 3 29. public class X6_3_6 { public static void main(String[] args) { int a[] = {76,83,54,62,40,75,90,92,77,84}; int b[] = {60,70,90,101}; int c[]=new int[4],i; for (i=0; i for (i=0; i<4; i++) System.out.print(c[i]+\"\\"); System.out.println(); } } 2 1 5 2 30. public class X6_3_7 { public static void main(String[] args) { int a[][] = {{1,2,7,8},{5,6,11,12},{9,10,3,4}}; int m = a[0][0]; int ii = 0, jj = 0; for (int i=0;i System.out.println(ii+\"\\"+jj+\"\\"+a[ii][jj]); } } 1 3 12 31. public class X6_3_8 { public static void main(String[] args) { String[] a = {\"student\" ,\"worker\" ,\"cadre\" ,\"soldier\" ,\"peasant\" }; String s1,s2; s1 = s2 = a[0]; for( int i = 1; i System.out.println(s1+\"\\"+s2); } } worker cadre 1. 已知一个数值矩阵A为 ,另一个矩阵B为 ,求 出A与B的乘积矩阵C[3][4]并输出出来,其中C中的每个元素C[i][j]等于 。 2.从键盘上输入4行4列的一个实数矩阵到一个二维数组中,然后求出主对角线上元素之乘积以及副对角线上元素之乘积。 3. (风扇类Fan)设计一个名为Fan的类来表示一个风扇。这个类包括: 三个名为SLOW MEDIUM和FAST而值为1、2和3的常量表示风扇的速度 一个名为speed的int类型私有数据域表示风扇的速度(默认为SLOW) 一个名为ON的boolean类型私有数据域表示风扇是否打开(默认为false) 一个名为radius的double类型私有数据域表示风扇的半径(默认为5) 一个名为color的String类型私有数据域表示风扇的颜色(默认为blue) 这四个数据域的访问器和修改器 一个创建默认风扇的无参构造函数 一个名为toString()的方法返回描述风扇的字符串。如果风扇是打开的,那么该方法在一个组合的字符串中返回风扇的速度、颜色和半径。如果风扇没有打开,该方法返回一个有“fan is off”和风扇颜色及半径组合成的字符串。 画出该类的UML图。实现这个类。编写一个测试程序,创建两个Fan对象。将第一个对象设置为最大速度、半径为10,颜色为yellow、状态为打开。将第二个对象设置为中等速度、半径为5,颜色为blue、状态为关闭。通过调用它们的toString方法显示这些对象。 4. (股票类Stock)设计一个名为Stock的类。这个类包括: 一个名为symbol的字符串数据域表示股票代码 一个名为name的字符串数据域表示股票名称 一个名为previousClosingPrice的double型数据域,它存储的是前一日的股票值 一个名为currentPrice的double型数据域,它存储的是当时的股票值 创建一支有特定代码和名字的股票的构造方法 一个名为getChangePercent()的方法返回从previousClosingPrice变化到currentPrice的百分比 画出该类的UML图。实现这个类。编写一个测试程序,创建一个Stock对象,它的股票代码是Java, 股票名字为Sun Microsystem Inc,前一日收盘价是4.5。设置新的当前值为4.35,然后显示市值变化的百分比。 5. 首先让计算机随机产生出10个两位正整数,然后按照从小到大的次序显示出来。 6. 编一个程序,程序中包含以下内容: 一个圆类(Circle),包含: 属性:圆半径radius;常量:PI。 方法:构造方法;求面积方法area();求周长方法:perimeter()。 主类(X4_3_1),包含: 主方法main(),在主方法中创建圆类的对象c1和c2并初始化,c1的半径为100,c1的半径为200,然后分别显示两个圆的面积和周长。 7. 有一个数列,它的第一项为0,第二项为1,以后每一项都是它的前两项之和,试产生该数列的前20项,并按逆序显示出来。 8. 编一个程序,程序中包含以下内容: 一个学生类(Student),包含: 属性:学号s_No,姓名s_Name,性别s_Sex,年龄s_Age。 方法:构造方法,显示学号方法showNo(),显示姓名方法showName(),显示性别方法showSex(),显示年龄方法showAge(),修改年龄方法modifyAge()。 主类(X4_3_2),包含: 主方法main(),在其中创建两个学生对象s1和s2并初始化,两个对象的属性自行确定,然后分别显示这两个学生的学号、姓名、性别、年龄,然后修改s1的年龄并显示修改后的结果。 9. 从键盘上输入一个字符串,试分别统计出该字符串中所有数字、大写英文字母、小写英文字母以及其他字符的个数并分别输出这些字符。 10. 课后习题8.2 11. 从键盘上输入一个字符串,利用字符串类提供的方法将大写字母转变为小写字母,小写字母转变为大写字母,再将前后字符对换,然后输出最后结果。 (注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注) 因篇幅问题不能全部显示,请点此查看更多更全内容