当前位置:首页 > (部选)JAVA各章习题及答案
super(a); h=b;
} }
public double area() { }
System.out.print(\ \ return 2*Math.PI*r*r+2*Math.PI*r*h;
public class EX5_3_2 { } 【运行结果】
Calculate the area of circle: 28.274333882308138 Calculate the area of cylinder: 87.96459430051421
5.编写一个人类Person,其中包含姓名、性别和年龄的属性,包含构造方法以及显示姓名、性别和年龄的方法。再编写一个学生类Student,它继承Person类,其中包含学号属性,包含构造方法以及显示学号的方法。最后编写一个主类X5_3_5,包含main()方法,在main()方法中定义两个学生s1和s2并给他们赋值,最后显示他们的学号、姓名、性别以及年龄。 【编程分析】本题主要考察类的继承问题。
第一步:定义Person类。
第二步:定义Student类,该类继承Person类。 第三步:定义主类。 【参考程序】
public class X5_3_5 {
public static void main(String[] args) { }
class Person{ 21
String name; String sex; int age;
public Person(String n,String s,int a){ name = n; sex = s; age = a; }
void show(){
Student s1=new Student(\ Student s2=new Student(\ s1.show(); s1.showID(); s2.show(); s2.showID();
public static void main(String args[]) { }
Circle cl=new Circle(3); Cylinder cd=new Cylinder(2,5); System.out.println(cl.area()); System.out.println(cd.area());
}
}
System.out.println(\ System.out.println(\ System.out.println(\}
class Student extends Person{ } 【运行结果】
name: Zhangsan sex: Male age: 20 sID: 102A name: Lisi sex: Female age: 18 sID: 108S
第2-4章(数组概念及应用) 一、选择题
1.给出下面程序代码:
byte[] a1, a2[]; byte a3[][]; byte[][] a4;
下列数组操作语句中哪一个是不正确的?( A ) A.a2 = a1
B.a2 = a3
C.a2 = a4
D.a3 = a4
【解析】只有维数相同的数组才能相互赋值。 2.关于数组,下列说法中不正确的是( C )。
A.数组是最简单的复合数据类型,是一系列数据的集合 B.数组元素可以是基本数据类型、对象或其他数组 C.定义数组时必须分配内存 D.一个数组中所有元素都必须具有相同的数据类型 【解析】数组元素可以是基本数据类型、对象或其他数组。 3.设有下列数组定义语句:
int a[] = {1, 2, 3};
则对此语句的叙述错误的是( C )。
A.定义了一个名为a的一维数组 B.a数组有3个元素C.a数组元素的下标为1~3 D.数组中每个元素的类型都是整数 【解析】数组元素的下标是从0开始的。
4.执行语句:int[] x = new int[20];后,下面哪个说法是正确的?( C ) A.x[19]为空
B.x[19]未定义
C.x[19]为0
D.x[0]为空
【解析】此语句定义了x数组后,x[0]~x[19]的值全部为0。 5.下面代码运行后的输出结果为( A )。
public class X6_1_5 {
public static void main(String[] args) { 22
String sID;
public Student(String n,String s,int a,String sid){ super(n,s,a); sID = sid; }
void showID(){
System.out.println(\}
AB aa = new AB(); AB bb; bb = aa; System.out.println(bb.equals(aa)); } }
class AB{ int x = 100; } A.true B.false C.编译错误 6.已知有定义:String s=\,下面哪个表达式正确?( A ) A.s += \
D.100
【解析】同一个类的两个对象可以相互赋值,赋值后两个对象具有相同的存储空间,因此是相同的。
B.char c = s[1];C.int len = s.length; D.String s = s.toLowerCase();
【解析】字符串对象可以执行“+=”运算,但不能用s[1]这种方式取其中的字符,也不能用length求它的长度,可以用length()求其长度,因此B、C不正确,不能再次定义s字符串,因此D不正确。 二、填空题
1. Object类 是所有类的直接或间接父类,它在 java.lang 包中。
2.System类是一个功能强大、非常有用的特殊的类,它提供了 标准输入/输出 、 运行时 系统信息等重要工具。这个类不能 实例化 ,即不能创建System类的对象,所以它所有的属性和方法都是 static 类型,引用时以类名System为前缀即可。 4.数组是一种 复合 数据类型,在Java中,数组是作为 对象 来处理的。数组是有限元素的有序集合,数组中的元素具有相同
的 数据类型 ,并可用统一的 数组名 和 下标 来唯一确定其元素。
5.在数组定义语句中,如果[]在数据类型和变量名之间时,[]之后定义的所有变量都是
数组 类型,当[]在变量名之后时,只有[]之前的变量是 数组 类型,之后没有[]的则不是数组类型。 6.数组初始化包括 静态 初始化和 动态 初始化两种方式。 三、写出下列程序的运行结果 1.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 2.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 【运行结果】 66 55 3.public class X6_3_3 { 23 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 ( a[i] 【运行结果】 14 25 4.public class X6_3_4 { public static void main(String[] args) { String str = \ char[] a =str.toCharArray(); int i1 =0, i2=0, i; for(i=0;i 【运行结果】 4 3 5.public class X6_3_5 { public static void main(String[] args) { String str =\ char[] a = str.toCharArray(); int b[] = new int[5],i; for(i=0;i 【运行结果】 4 3 2 2 3 6.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 while (a[i] >= b[j] ) j ++; c[j] ++; } for (i=0; i<4; i++) System.out.print(c[i]+\ System.out.println(); } } 【运行结果】 24
共分享92篇相关文档