java基础测试题(含答案和解析)

Posted < Keep Learning >

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础测试题(含答案和解析)相关的知识,希望对你有一定的参考价值。

 

 

 

|  得分: 满分:2分
1、【单选题】
(单选题)分析如下代码,输出结果正确的是(): class Test{ public static void main(String[] args){ int i=5; System.out.println(i++); System.out.println(i); } }

A.6 6

B.5 5

C.5 6

D.6 7

 

|  得分: 满分:2分
2、【单选题】
(单选题)在Java中有一个类Aoo,下面为其构造方法的声明,正确的是()。

A.void Aoo(){ }

B.Aoo(){ }

C.aoo(){ }

D.void aoo(){ }

 

|  得分: 满分:2分
3、【单选题】
(单选题)在Java中,下列代码的运行结果是()。 public static void main(String[] args){ int[] arr = new int[4]; System.out.println(arr[4]); }

A.编译错误

B.运行时异常

C.0

D.null

 

|  得分: 满分:2分
4、【单选题】
(单选题)在Java中,一个源程序文件中定义了3个类,其中public修饰的类只能有()个。

A.0

B.1

C.2

D.3

 

|  得分: 满分:2分
5、【单选题】
(单选题)下列Java代码的正确输出结果是()。 public class Test { public static void main(String[] args) { Aoo aoo = new Aoo(5); System.out.println(aoo.num); } } class Aoo{ int num; public Aoo(int num) { num=num; } }

A.0

B.5

C.编译错误

D.运行异常

 

|  得分: 满分:2分
6、【单选题】
(单选题)下列代码输出的结果是() int sum = 0; for (int i = 1; i < 30; i++) { if (i % 3 == 0) { sum += i; } else if (sum > 30) { break; } } System.out.println(sum);

A.120

B.48

C.45

D.30

 

|  得分: 满分:2分
7、【单选题】
(单选题)在Java中,可以创建长度为4的数组对象的是()。

A.int[] arr = new int[];

B.int[] arr = new int(4);

C.int[] arr = new int[] { 12,34,56,78 };

D.int[] arr = new int[4] { 12,34,56,78 };

 

|  得分: 满分:2分
8、【单选题】
(单选题)下列对方法的访问中,语法正确的是( )。

A.int i = 10; static int j = 20; void fun1(){} static void fun2(){ fun1(); i++; }

B.int i = 10; static int j = 20; void fun1(){} static void fun2(){ fun1(); j++; }

C.int i = 10; static int j = 20; void fun1(){ fun2(); i++; } static void fun2(){ i++; }

D.int i = 10; static int j = 20; void fun1(){ fun2(); j++; } static void fun2(){}

 

|  得分: 满分:2分
9、【单选题】
(单选题)在Java中, 以下()是public void Test()的重载方法。

A.void Test() { }

B.public int Test() { }

C.public void Test() { }

D.public void Test(int num) { }

 

|  得分: 满分:2分
10、【单选题】
(单选题)下列Java代码运行的结果是()。 public class Test { public static void main(String[] args) { Aoo[] aoo = new Aoo[2]; System.out.println(aoo[0]); } } class Aoo{ int x; int y; public Aoo(int x, int y) { this.x = x; this.y = y; } }

A.0

B.null

C.编译错误

D.运行异常

 

|  得分: 满分:2分
11、【单选题】
(单选题)java代码,如下: class Fu{ public void count(int i){ System.out.println(11/4); } } public class Zi extends Fu{ public void count(int i){ System.out.println(11%i); } public static void main(String[]args){ Fu fu = new Zi( ); fu.count(4); } } 编译运行,结果是( )。

A.2

B.3

C.2.75

D.0

 

|  得分: 满分:2分
12、【单选题】
(单选题)给出以下代码,请问如何声明totalPage使其为一个只读属性( )。 public class Page{ public int totalPage; }

A.声明totalPage变量为private。

B.声明Page类为private。

C.声明totalPage变量为private,并且建立一个用于获取totalPage变量值 的getTotalPage() 方法。

D.声明totalPage变量为static。

 

|  得分: 满分:2分
13、【单选题】
(单选题)给出下面的代码段 : public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // ... w=d; z=c; } } 在代码// ... 处写入如下哪个代码是正确的?( )。

A.Base(a,b);

B.x=a, y=b;

C.this(a); this(b);

D.this(a,b);

 

|  得分: 满分:2分
14、【单选题】
(单选题)分析如下Java代码,如果想在控制台上输出"B类的test()方法", 则在1处应填入( )。 class A { public void test() { System.out.println("A类的test()方法"); } } class B extends A { public void test() { System.out.println("B类的test()方法"); } public static void main(String args[]) { // 1 } }

A.A a = new B(); a.test();

B.A a = new A(); a.test();

C.B b = new A(); b.test();

D.B.test();

 

|  得分: 满分:2分
15、【单选题】
(单选题)下面的程序输出结果是( )。 public class A implements B { int k = 20; public static void main(String args[]) { int i; B c1 = new A(); i = c1.k; System.out.println("i=" + i); } } interface B { int k = 10; }

A.i=20

B.程序有编译错误

C.i=10

D.i=true

 

|  得分: 满分:2分
16、【单选题】
(单选题)下列程序输出结果是( )。 public class Test { static int i = 0; public int aMethod() { i++; return i; } public static void main(String args[]) { Test test = new Test(); test.aMethod(); int j = test.aMethod(); System.out.println(j); Test test1 = new Test(); System.out.println(test1.i); } }

A.2 2

B.2 0

C.0 2

D.1 2

 

|  得分: 满分:2分
17、【单选题】
(单选题)下列程序运行结果是( )。 public class Test { String str=new String("tedu"); char[]ch={‘x‘,‘y‘,‘z‘}; public static void main(String args[]){ Test t = new Test(); t.change(t.str,t.ch); System.out.print(t.str+" and "); System.out.print(t.ch);} public void change(String str,char ch[]){ str="tarena"; ch[0]=‘w‘; } }

A.tedu and xyz

B.tarena and xyz

C.tedu and wyz

D.tarena and wyz

 

|  得分: 满分:2分
18、【单选题】
(单选题)在java中,下列程序的输出结果是( )。 class Point { int x; boolean y; void output(){ System.out.println(x); System.out.println(y); } public static void main(String[] args) { Point point =new Point(); point.output(); } }

A.编译错误

B.0 true

C.0 false

D.0 0

 

|  得分: 满分:2分
19、【单选题】
(单选题)关键字abstract可以和下列( )关键字一起使用

A.final

B.private

C.public

D.static

 

|  得分: 满分:2分
20、【单选题】
(单选题)Java代码的运行结果是( )。 class Account { private String name; // 名字 private int state; // 账号状态 private String idCard; // 身份证号 public void Account() { name = "李强"; state = 0; idCard = "109..."; System.out.println("执行构造方法。");} public void show() { System.out.println ("账务账号的名字是" + name + ",状态是" + state + ",身份证号是" + idCard + "。"); } public static void main(String[] args) { Account acc = new Account(); acc.show();} }

A.账务账号的名字是null,状态是1,身份证号是109...。

B.执行构造方法。 账务账号的名字是null,状态是1,身份证号是null。

C.账务账号的名字是null,状态是0,身份证号是null。

D.执行构造方法。 账务账号的名字是李强,状态是1,身份证号是109...。

 

|  得分: 满分:2分
21、【单选题】
(单选题)如下两个数组定义 char[] arr1 = {‘a‘,‘c‘,‘d‘}; char[] arr2 = {‘g‘,‘h‘,‘j‘}; 能将两个数组正确合并的选项是( )。

A.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,0, arr2.length);

B.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length-1, arr2.length);

C.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length+1, arr2.length);

D.int length = arr1.length+arr2.length; char[] arr3 = new char[length]; System.arraycopy(arr1, 0, arr3, 0, arr1.length); System.arraycopy(arr2, 0, arr3,arr1.length, arr2.length)

 

|  得分: 满分:2分
22、【单选题】
(单选题)下列运算结果正确的是( )。

A.int x = 4590; x = x / 1000 *1000; x的结果是4590

B.int x = 3; x = x++; x的结果是4

C.short x = 3; x = x+4; x的结果是7

D.int x = 2; boolean b = x>3 && x<6; b的结果是false

 

|  得分: 满分:2分
23、【单选题】
(单选题)执行完下面程序片段后( )的结论是正确的。 int a, b, c; a = ‘a‘; b = ‘b‘; c = (a + b > 180 ? a++ : b++); // 已知字符‘a‘,字符‘b‘对应的ASCII值97,98

A.a=97,b=98,c=99

B.a=98,b=99,c=99

C.a=97,b=98,c=98

D.a=98,b=98,c=97

 

|  得分: 满分:2分
24、【单选题】
(单选题)下列程序输出结果是( )。 int a = 0; while (a < 5) { switch (a) { case 0: case 3: a = a + 1; case 1: case 2: a = a + 2; default: a = a + 3; } } System.out.print(a);

A.5

B.0

C.6

D.2

 

|  得分: 满分:2分
25、【单选题】
(单选题)关于以下应用程序的说明,正确的是( )。 1. class StaticClass 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

 

|  得分: 满分:2分
26、【单选题】
(单选题)下面代码输出结果是( )。 int x = 0, y = 0; do { if (x % 3 == 0) { x++; continue; } x++; y = y + x; } while (x < 4); System.out.println(y);

A.0

B.3

C.5

D.7

 

|  得分: 满分:2分
27、【单选题】
(单选题)给出以下代码,请问该程序输出( )结果。 class Example{ static int i=1; static { ++i; } public static void main (String[]args){ increment(i,5); display(i); } static void increment(int n, int m){ n+=m; } static void display (int n) { System.out.print(n); } static{ ++i; } }

A.1

B.3

C.6

D.7

 

|  得分: 满分:2分
28、【单选题】
(单选题)for循环语法格式如下: for(表达式1;表达式2;表达式3){循环体} 以下说法正确的是:

A.每次循环都要执行表达式1

B.表达式2可以返回任何数据类型

C.3个表达式均可省略,使用如下格式for(;;){循环体}

D.循环体中必须有合法的java语句

 

|  得分: 满分:2分
29、【单选题】
(单选题)将给定的数组变成如下格式的字符串,下列选项中,正确的是( )。 例如:[1,3,4]->"[1,2,3]"

A.String str = "["; for (int x=0; x<=arr.length ; x++){ if(x!=arr.length-1) str = str + arr[x] + ","; else str = str + arr[x] + "]"; }

B.String str = "["; for (int x=0; x

C.String str = "["; for (int x=0; x

D.String str = "["; for (int x=0; x<arr.length+1 ; x++){ if(x!=arr.length-1) str = str + arr[x] + ","; else str = str + arr[x] + "]"; }

 

|  得分: 满分:2分
30、【单选题】
(单选题)下列程序输出结果是( )。 char c = ‘a‘; // ‘a‘ 的int值为97 if(c>100){ System.out.println(‘A‘); }else if(c>90){ System.out.println(‘B‘); }else if(c>80){ System.out.println(‘C‘); }else{ System.out.println(‘D‘); }

A.A

B.B

C.C

D.D

 

|  得分: 满分:2分
31、【多选题】
(多选题)下列正确的表达式是 ( )。

A.byte b = 128;

B.boolean b = null;

C.long l=0xfffL;

D.double d =0.9239d;

 

|  得分: 满分:2分
32、【多选题】
(多选题)对于如下类中的study()方法,请选择如下选项中,属于方法重载的是( ) public class Student{ public String study(String content){} }

A.public void study(int days){}

B.public String study(String content,String title){}

C.public String study(){}

D.public void study(String title){}

 

|  得分: 满分:2分
33、【多选题】
(多选题)下列属于JAVA语言的特点是( )。

A.跨平台

B.支持多线程

C.面向对象

D.可以直接访问操作系统

 

|  得分: 满分:2分
34、【多选题】
(多选题)Java中的继承,如下说法正确的是( )。

A.Java支持接口之间的多继承,也支持类之间的多继承。

B.Java中只支持单继承,即一个类只能有一个父类.

C.当两个类存在所属关系(is a),才使用继承(is a,是一个。 说明该类是某类的一个特殊例子,简单之称为继承。)

D.使用继承,可以使类之间产生关系,提供了多态的特性。

 

|  得分: 满分:2分
35、【多选题】
(多选题)下列对面向过程和面向对象描述正确的是( )

A.面向对象以功能为核心,使用函数封装。

B.面向过程以功能为核心,使用函数封装。

C.面向对象以事物为核心,将具体的数据和功能封装到事物中。

D.面向过程以事物为核心,将具体的数据和功能封装到事物中。

 

|  得分: 满分:2分
36、【多选题】
(多选题)循环统计1到100之间能被7整除的整数的个数, 代码输出正确的是:()。

A.int y = 1; int count = 0; while(y<=100){ if(y/7==0) count++; y++; } System.out.println(count);

B.int y = 1; int count = 0; while(y<=100){ if(y%7==0) count++; y++; } System.out.println(count);

C.int count = 0; for(int i=1;i<=100;i++){ if(i%7==0) count++; } System.out.println(count);

D.int count = 0; for(int i=1;i<=100;i++){ if(i/7==0) count++; } System.out.println(count);

 

|  得分: 满分:2分
37、【多选题】
(多选题)给出以下代码,请问该程序的运行结果是什么? class A{ private int x=0; static int y=1; protected int z=2; } class B extends A{ void method(){ System.out.println(x); System.out.println(y); System.out.println(z); } } 下列说法正确的是( )。

A.程序编译错误,因为类B不能访问变量x。

B.程序编译成功,打印输出012。

C.程序编译错误,如果移走System.out.println(x)这条语句, 可使编译程序通过。

D.程序编译错误,因为变量x未在类B中定义。

 

|  得分: 满分:2分
38、【多选题】
(多选题)对如下数组,说法正确的是( )。 int [] arr = {12,23,34,45,56,67};

A.获取数组中第三个元素的语法是arr[3]

B.获取数组中第三个元素的语法是arr[2]

C.该数组的最后一个元素的下标值为arr.length

D.该数组的最后一个元素的下标值为arr.length-1

 

|  得分: 满分:2分
39、【多选题】
(多选题)下列关于JDK的说法正确的是( )

A.开发一个Java程序,需要完整的JDK

B.运行一个Java程序,需要完整的JDK

C.运行一个Java程序,只需要JDK中的JRE

D.以上说法都不对

 

|  得分: 满分:2分
40、【多选题】
(多选题)下列选项中可以实现无限循环的是:()。

A.for(;;){}

B.while(true){}

C.do{}while(true);

D.for(int i=0;i++){}

 

|  得分: 满分:2分
41、【多选题】
(多选题)如下变量的定义,double d = 1.5;int x=1,y=2,z=3;则正确的switch语句是( )

A.switch((int)d){ case 1:System.out.println(x);break; case 2:System.out.println(y);break; }

B.switch(d){ case 1.5:System.out.println(x);break; case 2.0:System.out.println(y);break; }

C.switch(x+y){ case 1:System.out.println(x);break; case 2:System.out.println(y);break; }

D.switch(x+y){ case 1:System.out.println(x);break; case z:System.out.println(y);break; }

 

|  得分: 满分:2分
42、【多选题】
(多选题)下列程序中不会出现编译错误的是( )

A.short s1 = 3; short s2 = 5; s1 += s2;

B.short s1 = 3; short s2 = 5; s1 = s1+s2;

C.short s1 = 3; short s2 = 5; s1 = s1 * s2;

D.short s1 = 3; short s2 = 5; s1 *= s2 ;

 

|  得分: 满分:2分
43、【多选题】
(多选题)下列关于do....while循环说法正确的是:

A.do....while循环,循环体至少执行一次

B.do....while循环和while循环只是语法不同,没区别

C.do....while循环先执行循环体,再执行boolean表达式,如果为true再执行循环体

D.以上说法都正确

 

|  得分: 满分:2分
44、【多选题】
(多选题)下列关于成员变量默认值的描述中,正确的是( )。

A.byte类型的数据默认值是0

B.int类型的数据默认值是0

C.long类型的数据默认值是0

D.float类型的数据默认值是0.0f

 

|  得分: 满分:2分
45、【多选题】
(多选题)下列选项中不会出现语法编译错误的是:()。

A.long l = 999999;

B.long l = 9999999999L;

C.byte b = 90+40;

D.int i = ‘A‘+‘中‘;

 

|  得分: 满分:2分
46、【多选题】
(多选题)下列关于Linux操作系统,描述正确的是( )。

A.Linux 是一个开源的操作系统 是一个类似Unix的操作系统

B.Linux 是主流的服务器操作系统,广泛应用于互联网、云计算、智能手机等领域

C.Linux 中的相对路径,使用“.”表示上一级目录,“..”表示当前路径

D.Linux 中使用"pwd"命令显示当前工作目录的内容

 

|  得分: 满分:2分
47、【多选题】
(多选题)有以下代码 abstract class MyAbstractClass{ public abstract void m1(); //1 abstract protected void m2(){} //2 } class MySubClass extends MyAbstractClass{ void m1(){} //3 protected void m2(){} //4 } 问:这段代码哪些地方有错误?( )

A.//1

B.//2

C.//3

D.//4

 

|  得分: 满分:2分
48、【多选题】
(多选题)Java接口中定义方法,正确的是( )。

A.public void imethod();

B.void imethod();

C.protected void imethod();

D.private void imethod();

 

|  得分: 满分:2分
49、【多选题】
(多选题)在Java接口中,下列选项里有效的方法声明是( )。

A.protected void fun();

B.static void fun();

C.void fun();

D.public void fun();

 

|  得分: 满分:2分
50、【多选题】
(多选题)请选出属于JDK的组成部分( )。

A.支持JAVA程序运行的一组类库

B.JVM

C.支持JAVA程序开发的一组开发工具

D.一组软件测试工具

以上是关于java基础测试题(含答案和解析)的主要内容,如果未能解决你的问题,请参考以下文章

java基础知识周测试题带答案

大佬分享:180+道Java面试题目!含答案解析!

2020最常见的200+Java面试题汇总(含答案解析)

java测试题

2021阿里+头条+腾讯等大厂Java笔试题分享,含答案解析

一道java基础理论题