https://blog.csdn.net/zz2097831284/article/details/120068760解析链接
一、选择题(每题2分,共40分)
1.在Java中,以下描述错误的是( )
A..class是源文件
B..java是编译前的源文件
C..class是编译后的字节码文件
D.Java程序需编译后方可运行
2.下列的标识符符合Java命名规范的是( )
A.package com.Bi.hr
B.public class xyz
C.int I
D.void setCustomerName()
3.下列有关实参和形参说法正确的是()
A.形参是指在定义方法时参数列表中的参数
实参是指在调用方法时所传入的实际数据
B.形参变量的作用域是在整个类中都可以使用
C.实参只能是字面量值不可以是变量
D.形参不可以用 final 修饰
4.能够给一个byte型变量赋值的范围是( )。
A. 0~65535
B.(-128)~127
C.(-32, 768)~32, 767
D. (-256)~255
5.存储一个24X24点阵的汉字(每个点1bit),需要多少字节( )
A.24
B.48
C.72
D.144
6.java中char类型的取值范围是()
A.0 ... 32767
B.0 ... 65535
C.–256 ... 255
D.–32768 ... 32767
“
7.找出下列代码哪行有错误
1.public class HelloWorld{
2. public static void main(String[] args) {
3. double avg1=78.5;
4. int rise=5;
5. int avg2=avg1+rise;
6. System.out.println("考试平均分:"+avg1);
7. System.out.println("调整后的平均分:"+avg2);
8. }
9.}
A.3
B.4
C.5
D.6
8.在下面程序的第 7 行补充上下列哪个方法,会导致在编译过程中发生
错误( )
1) class Super{
2) public float getNum(){
3) return 3.0f;
4) }
5) }
6) public class Sub extends Super{
7) // TODO ...
8) }
A.public float getNum(){retun 4.0f;}
B.public void getNum(){}
C.public void getNum(double d){}
D.public double getNum(float d){retun 4.0f;}
9.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排
序,经过两趟排序后的结果为()
A.{314,298,508,123,145,486}
B.{298,314,508,123,486,145}
C.{298,123,314,508,486,145}
D.{123、298,314,508,486,145}
10.下列数组的初始化正确的是()
A.int[ ] score = new int[ ];
B.int score[ ] = new int[ ] { 34, 90, 87, 54, 24 };
C.int[ ] score = new int[ 4 ] { 90, 12, 34, 77 };
D.int score = { 78, 23, 44, 78 };
11.当编译并运行下面程序时会出现什么结果( )
public class MyAr{
public static void main(String argv[]){
int[] i = new int[5];
System.out.println(i[5]);
}
}
A.编译错误
B.运行错误
C.输出0
D.输出“null”
12.选择下面代码的运行结果:( )
public class Test{
public void method(){
for(int i = 0; i < 3; i++){
System.out.print(i);
}
System.out.print(i);
}
}
A.0122
B.0123
C.编译错误
D.没有任何输出
13.以下for循环的执行次数是( )。
for(int x=0,y=0;(y!=0)&&(x<4);x++);
A.无限次
B.一次也不执行
C.执行四次
D.执行三次
14.编译运行以下程序后,关于输出结果的说明正确的是( )
publicclass Conditional{
publicstaticvoid main(String args[]){
int x=4;
System.out.println("value is "+ ((x>4) ? 99.9 : 9));
}
}
A.输出结果为:value is 99.99
B.输出结果为:value is 9
C.输出结果为:value is 9.0
D.编译错误
15.关于以下说法正确的是( )
1.class StaticStuff
2.{
3. static int x=10;
4. static {x+=5;}
5. public static void main(String args[])
6. {
7. System.out.println("x=" + x);
8. }
9. static {x/=3;}
10.}
A.4 行与 9 行不能通过编译,因为缺少方法名和返回类型
B.9 行不能通过编译,因为只能有一个静态初始化器
C.编译通过,执行结果为:x=5
D.编译通过,执行结果为:x=3
16.下面关于 import, class 和 package 的声明顺序哪个正确( )
A.package, import, class
B.class, import, package
C.import, package, class
D.package, class, import
17.关于以下程序代码的说明正确的是( )
1.class HasStatic{
2. private static int x=100;
3. public static void main(String args[]){
4. HasStatic hs1=new HasStatic();
5. hs1.x++;
6. HasStatic hs2=new HasStatic();
7. hs2.x++;
8. hs1=new HasStatic();
9. hs1.x++;
10. HasStatic.x--;
11. System.out.println("x="+x);
12. }
13.}
A.5 行不能通过编译,因为引用了私有静态变量
B.10 行不能通过编译,因为 x 是私有静态变量
C.程序通过编译,输出结果为:x=103
D.程序通过编译,输出结果为:x=102
18.给出以下代码,请问如何声明totalPage使其为一个只读属性( )。
public class Page{
public int totalPage;
}
A.声明totalPage变量为private。
B.声明Page类为private。
C.声明totalPage变量为private,并且建立一个用于获取totalPage变量值
的getTotalPage() 方法。
D.声明totalPage变量为static。
19.下列程序中,出现编译错误的行数是( )。
1 class Fu{
2 Fu(int x){
3 System.out.println("fu .."+x);
4 }
5 }
6 class Zi extends Fu{
7 Zi(){
8 System.out.println("zi run");
9 }
10 Zi(int x){
11 this();
12 System.out.println("zi..."+x);
13 }
14 }
A.11
B.2
C.7
D.10
20.下列程序运行后,输出结果是( )。
public class Point{
private int x,y;
Point(int x,int y){
this.x = x;
this.y = y;
}
public static void main(String[] args) {
Point p1 = new Point(13,14);
Point p2 = new Point(17,16);
System.out.println(p1.x+p2.y);
}
}
A.27 B.31 C.33 D.29
二、多选题(每题3分,共15分)
1.下列说法错误的有( )
A.数组是一种对象
B.数组属于一种原生类
C.int number=[]={31,23,33,43,35,63}
D.数组的大小可以任意改变
2.关于类、对象、引用以下描述正确的是( )。
A.Person person = new Person("张三");
person是一个对象,是内存中的一块区域,是Person类的一个实例
B.Person person = new Person("张三");
person并不是真正的对象,而是指向所创建的对象的引用
C.Person person;
person = new Person("张三");
person = new Person("李四");
person是引用类型的变量,指向了“张三”和“李四”两个对象
D.Person person;
person = new Person("张三");
person = new Person("李四");
person是引用类型的变量,最后指向了“李四”这个对象
3.下面选项中哪两个可以在 A 的子类中使用( )
class A {
protected int method1 (int a, int b) {
return 0;
}
}
A.public int method1(int a, int b) { return 0; }
B.private int method1(int a, int b) { return 0; }
C.private int method1(int a, long b) { return 0; }
D.public short method1(int a, int b) { return 0; }
4.下面哪个函数是public void method(){...}的重载函数( )
A.public void method(int m){...}
B.public int method(){...}
C.public void method2(){...}
D.public int method(int m, float f){...}
5.byte b1=1,b2=2,b3,b6,b8;
final byte b4=4,b5=6,b7;
b3=(b1+b2);
b6=b4+b5;
b8=(b1+b4);
b7=(b2+b5);
System.out.println(b3+b6);
下列代码片段中,存在编辑错误的语句是()
A.语句2
B.语句1
C.语句3
D.语句4
三、简答题(每题5分,共25分)
1.重写和重载的区别?
2.静态变量与实例变量的区别?
3.简述final关键字的用法
4.this和super的区别
5.分别简述什么是JDK、JRE、JVM,以及他们之间的关系。
四、编程题(每题10分,共20分)
1. 封装一个方法randomArr(int n){},随机生成长度为n、元素是0--100以内的数组并返回,数组的长度由参数来决定。
2. 封装sortBubble(int[] arr)方法,将传入的数组进行冒泡排序并返回。