admin 管理员组文章数量: 887021
2024年1月17日发(作者:国家安全ppt模板下载免费)
1. 下列关于计算机系统和Java编程语言的说法,正确的是(C)
A. 计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B. Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C. 在程序中书写注释不会影响程序的执行,可以多写一些详细的注释。
D. Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
2. 下列选项中符合Java命名规则的标识符是(D)
A. 2japro B. &Class C. const D. _123
3. 下列在Java语言中关于数据类型和包装类的说法,正确的是(B)
A. 基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型。
B. long和double都占了64位(64bit)的存储空间。
C. 默认的整数数据类型是int,默认的浮点数据类型是float。
D. 和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。
4. 下面赋值语句中正确的是(A)
A. double d=5.3e12; B. float f=11.1;
C. int i=0.0; D. Double oD=3;
5. 如果int x=20, y=5,则语句n(x+y +""+(x+y)+y); 的输出结果是(D)
A. 2530 B. 55 C. 2052055 D. 25255
6. 如下Java语句 double x=2.0; int y=4; x/=++y; 执行后,x的值是(C)
A. 0.5 B. 2.5 C. 0.4 D. 2.0
7. 下列关于Java语言中String和char的说法,正确的是(C)
A. String是Java定义的一种基本数据类型。
B. String是以“0”结尾的char类型的数组char[]。
C. 使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。
D. Char类型在Java语言里面存储的是ASCII码。
8. 下列关于Java中类的构造方法的描述,正确的是(B)
A. 构造方法的返回类型为void
B. 可以定义一个类而在代码中不写构造方法。
C. 在同一个类中定义的重载构造方法不可以相互调用。
D. 子类不允许调用父类的构造方法。
9. 下列关于Java类中方法的定义,正确的是(D)
A. 若代码执行到return语句,则将当前值返回,而且继续执行return语句后面的语句。
B. 只需要对使用基本数据类型定义的属性使用getter和setter,体现类的封装性。
C. 方法的返回值只能是基本数据类型。
D. 在同一个类中定义的方法,允许方法名称相同而形参列表不同,并且返回值数据类型也不同。
10. 关于Java语言中的final关键字的使用,下列说法正确的是(C)
A.在使用final关键字定义的方法里面使用final关键字定义变量。
B.使用final关键字定义变量,必须在变量定义的同时给定变量的具体数值,完成变量初始化。
C.final关键字可以用来修饰方法,表明此方法不可以被子类重写。
D.使用final关键字定义变量,必须同时使用static关键字。
11. 以下关于Object类的说法正确的是(A)
A. Java中所有的类都直接或间接继承自Object,无论是否明确的指明,无论其是否是抽象类。
B. Java中的接口(interface)也继承了Object类
C. 利用“==”比较两个对象时,Java调用继承自Object的equals方法,判断是否相等。
D. 如果类的定义中没有重新定义toString()方法,则该类创建的对象无法使用toStrig()方法。
12. 下列代码的执行结果是(B)
public class Test {
public static int a = 1;
public static void main(String[] args) {
int a = 10;
a++; Test.a++;
Test t=new Test();
n("a=" + a + " t.a=" + t.a);
}
}
A. a=10 t.a=3 B. a=11 t.a=2 C. a=12 t.a=1 D. a=11 t.a=1
13. 以下关于abstract关键字的说法,正确的是(D)
A. abstract 可以与final 并列修饰同一个类。
B. abstract 类中不可以有private的成员。
C. abstract 类中必须全部是abstract方法。
D. abstract方法必须在abstract 类中。
14. 下列关于继承的描述正确的是(C)
A. 在Java中允许定义一个子类的引用,指向父类的对象。
B. 在Java中一个子类可以继承多个抽象类,在extends关键字后依次列出,用逗号隔开。
C. 在Java中继承是通过extends关键字来描述的,而且只允许继承自一个直接父类。
D. 在Java中抽象类之间不允许出现继承关系,所有的抽象类都相互独立。
15. 下列关于包(package)的描述,正确的是(D)
A. 包(package)是Java中描述操作系统对多个源代码文件组织的一种方式。
B. import语句将所对应的Java源文件拷贝到此处执行。
C. 包(package)是Eclipse组织Java项目特有的一种方式。
D. 定义在同一个包(package)内的类可以不经过import而直接相互使用。
16. 关于下面代码 int[] x=new int[25]; 描述正确的是(C)
A. x[25]存放了数据“0”。 B. x[24] 存放了数据“0”。
C. 若访问x[25],程序将抛出异常。 D. x[1]访问此数组的第一个元素。
17. 如下的Java程序
}
public class Test {
public static void main(String[] args) {
n(args[0]);
}
若采用命令行“java Test one two three”调用,则程序输出的结果为:B
A. Test B. one C. two D. java
18. 对于文件的描述正确的是(D)
A. 文本文件是以“.txt”为后缀名的文件,其他后缀名的文件是二进制文件。
B. File类是Java中对文件进行读写操作的基本类。
C. 无论文本文件还是二进制文件,读到文件末尾都会抛出EOFException异常。
D. Java中对于文本文件和二进制文件,都可以当作二进制文件进行操作。
19. 对于Java中异常的描述正确的是(D)
A. 用throws定义了方法可能抛出的异常,那么调用此方法时一定会抛出此异常。
B. 如果try块中没有抛出异常,finally块中的语句将不会被执行。
C. 抛出异常意味着程序发生运行时错误,需要调试修改。
D. Java中所有的可不检测(unchecked)异常都来自RuntimeException类或其子类。
20. 对于如下代码段
class A{public A foo(){return this;}}
class B extends A{public A foo(){return this;}}
class C extends B
{
}
可以放入到横线位置,使程序正确编译运行,而且不产生错误的选项是(C)
A. public void foo(){} B. public int foo(){return 1;}
C. public A foo(B b){return b;} D. public A foo(){return A;}
二、读程序题(四选三,共计24分)
1.
public class ReadOne {
public static void main(String[] args) {
int count = 0;
for (int index = 0; index <= 20; index++) {
switch (index++ % 4) {
case 0:
count = ++index;
case 1:
count += index;
break;
default:
n(count);
}
}
}
}
2.
public class ReadTwo {
public static final int N=4;
public static void main(String[] args) {
int[][] m = new int[N][N];
Calc(m, N);
Print(m);
}
public static void Calc(int[][] m, int num) {
}
int k = N;
for (int i = 0; i <= num / 2; i++) {
for (int j = i; j < num - i; j++)
m[i][j] = k++;
for (int j = i + 1; j < num - i; j++)
m[j][num - i - 1] = k++;
for (int j = num - i - 2; j >= i; j--)
m[num - i - 1][j] = k++;
for (int j = num - i - 2; j > i; j--)
m[j][i] = k++;
}
}
public static void Print(int[][] m) {
for (int i = 0; i < ; i++) {
for (int j = 0; j < m[i].length; j++)
(m[i][j]+"t");
n();
}
}
3. public class ReadThree {
static public void main(String[] args) {
ExceptionScope demo = new ExceptionScope();
1();
}
}
class ExceptionScope {
public void level1() {
n("Level 1 beginning.");
try {
level2();
} catch (Exception problem) {
n("Exception Unknown");
}
n("Level 1 ending.");
}
public void level2() {
n("Level 2 beginning.");
String[] codes = { "A370", "A37A",""};
char zone;
int number;
for (int i = 0; i <= ; i++) {
try {
zone = codes[i].charAt(0);
number = nt(codes[i].substring(1, 4));
n("zone: " + zone + "tnumber: " + number);
} catch (StringIndexOutOfBoundsException exception) {
n("Improper code length ");
} catch (NumberFormatException exception) {
n("Improper numeric value");
} finally {
n("processing" + i);
}
}
n("Level 2 ending.");
}
}
4. public class ReadFour {
public static void main(String[] args) {
String s = "1234";
List(Array(), (), 0);
}
private static void swap(char[] a, int x, int y) {
char temp = a[x];
a[x] = a[y];
a[y] = temp;
}
public static void List(char[] array, int n, int k) {
if (n == k) {
if (array[2] != '4') {
String str = new String(array);
//indexOf(String str)方法返回包含str字串的第一次出现的位置,
//如果返回值为负数,表示没有找到这样的匹配
if (f("23") < 0 && f("32") < 0)
n(str);
}
} else {
for (int i = k; i < n; i++) {
swap(array, k, i);
List(array, n, k + 1);
swap(array, i, k);
}
}
}
}
三、写程序题(共计36分)。
1. 数字625是一个奇特的整数,因为625的平方是390625,最后三位数字还是625。请书写一个程序, 找出所有三位正整数中具有这样特征的数。(本题6分)
public class WriteOne {
public static void main(String[] args) {
//请在此处书写合适的代码完成此程序
}
}
2. 下列程序通过数组s [],完成对两个形状面积的计算,请在给定的位置书写合适的代码,完成此程序。
abstract class Shape{
private String name;
public Shape(String _name) {
name = _name;
}
public String getName() {
return name;
}
//请在此处完成对抽象类中相关方法的定义(本题2分)
}
class Circle extends Shape {
private double rad;
Circle(double _rad) {
//请在此书写代码,将继承自父类的name属性赋值为“Circle” (本题2分)
rad = _rad;
}
public double getArea() {
return rad * rad * ;
}
}
class Rectangle extends Shape {
private double width;
private double length;
Rectangle(double width, double length) {
//请在此完成构造方法,并且将继承自父类的name属性赋值为“Rectangle”(本题4分)
}
//从方法的定义开始,请在此完整的完成求矩形面积的方法 (本题4分)
}
public class ShapeDemo {
public static void main(String[] args) {
//请在此完成对数组s []的定义(本题2分)
}
}
s [0] = new Rectangle(1.5, 2.5);
s [1] = new Circle(1.5);
for (int i = 0; i < 2; i++)
n(s [i].getName()+"'Area is+"Area is+" + s [i].getArea());
3. 根据链表节点ListNode的描述,完成链表类LinkedList中的若干方法。
class ListNode {
public int data;
public ListNode link;
public ListNode(int newData, ListNode linkValue) {
data = newData;
link = linkValue;
}
}
public class List {
private ListNode head;
// 以下举例中,假设已经有一个链表,按序为 5-->3-->2-->4-->1
public void addANodeToStart(int newData){
//在链表开始的位置插入data数值为newData的节点(本题3分)
//例如调用addANodeToStart(6),将形成链表6-->5-->3-->2-->4-->1
}
public int length() {
//返回整个链表中节点的个数,比如本例中调用length(),得到的返回值为5(本题3分)
}
public void InsertBehind(int vdata, int newdata) {
// 寻找一个链表的节点中data数值等于vdata的节点,并在此节点后插入一个新的节点,其data的数值为newdata(本题5分)
//例如调用InsertBehind(3,10),将形成链表5-->3-->10-->2-->4-->1
}
public void RemoveLessThan(int max) {
// 删除链表的所有节点中data数值小于max的节点(本题5分)
// 例如调用RemoveLessThan(3),将形成链表5-->3-->4
这就像我们身处喧嚣的闹市,却在渴望山清水秀的僻静之地。心若静,何处都是水云间,都是世外桃源,都是僻静之所,心若浮躁,不管你居所何处,都难宁静。
其实,很多人惧怕喧嚣,却又怕极了孤独,人实在是矛盾的载体。然而,人的最高境界,就是孤独。受得了孤独,忍得了寂寞,扛得住压力,才能成为生活的强者,才不会因为生活的暗礁而失去对美好事物的追求。
常常喜欢静坐,没有人打扰,一个人,也有一个人的宿醉。面对这喧嚣尘世,安静下来的时光,才是最贴近心底的那一抹温柔,时光如水,静静流淌。
即便独自矗立夜色,不说话,也很美。这恬淡时光,忘却白日的伤感,捡起平淡,将灵魂在宁静的夜色里放空。
回头看看曾经走过的路,每一个脚印,都是丰富而厚重的,是对未来的希望,是对生活的虔诚。
我们都是生活里的平凡之人,不管一天中多么努力,多么辛苦,老天总是会给你时不时的开个玩笑,可能有些玩笑,来的有点猛,有点不知所措,但是又怎么样呢?
生命里,没有一帆风顺,总有一些
看不见的暗礁等着你,既然注定要撞上,那就努力寻找岸的方向。
版权声明:本文标题:-山东大学Java高级程序语言期末考试题(含答案) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1705421518h484108.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论