爱玩科技网
您的当前位置:首页Java基础笔试机试测试题带答案

Java基础笔试机试测试题带答案

来源:爱玩科技网


Java基础考试题

班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分)

1) 分析下面的Java程序段,编译运行后的输出结果是( )。

public class Test {

public static void changeString(StringBuffer sb) {

(\"stringbuffer2\");

}

public static void main(String[] args) {

StringBuffer sb = new StringBuffer(\"stringbuffer1\");

changeString(sb);

\"sb = \" + ());

}

}

A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1

C. sb = stringbuffer2 D. sb stringbuffer1stringbuffer2

2) 在Java中,包有多种用途,但不包含( )。

A. 将类组合成较小的单元,便于使用

B. 有助于避免命名冲突

C. 有助于提高运行效率

D. 允许在更广的范围内保护类、数据和方法

3) 在Java中,如果要在字符串类型s=\"java\"中,得到字母 'v' 句。

A)('v'); B)('v'); C)('v'); D)('v');

4)下列代码运行后,变量c的值是()。 int a=15,b=10;

double c=a/b;

a) b) c) 1 d) 0

=

)语

出现的位置,选(

5)main方法如下所示,该程序的运行结果是()。

public static void main(String [] args){

int i=0;

输出0 b) 输出1 c) 编译错误 d)

6)使用类的步骤包括以下三步,它们的先后顺序是()。 1.创建类

2.创建类的对象

3.访问对象的属性和方法

a) 213

b) 123 c) 321 d) 231

7)以下能对一维数组a正确初始化的语言是( )

a) int[2] a={1},{2}; b) int[1] a={10,20}; c) int[] a={0}; d) int[2] a={};

8) 给定如下代码片段,编译运行时的结果是()。

运行时出现异常

int i = 2;

switch(i){

case 0:

(”zero”);

break;

case 1:

(”one”);

case 2:

(“two”);

default:

(“default”);

}

a) 输出:zero

b) 输出:zero

default

c) 输出:two

default

d) 输出:two

9) 下列代码的运行结果是()。

int a=1; int b=2; int c=3;

if(a<0){

if(b<0){

c=10;

}

else{

c=20;

}

}

(c);

a) 输出:10 b) 输出:20

c) 输出:3

10) 分析下面的代码片段,编译运行后的输出结果是()。

d) 编译报错

for(int i=0;i<6;i++){

int k= ++i;

while(k<5){

break;

}

}

a) 024

b) 02 c) 123

11) 执行下面的循环后,x值为()。

public static void main(String[] args){int x=1;

for(int y=1 ; y<=50 ; y++){

if (x==10){

break;

}

if (x%2==1){

d) 13

x+=3;

continue;

}

x+=3;

}

1 b) 10

c) 13 d) 50

12) 下列不可作为java语言修饰符的是()

A) a1 B) $1 C) _1 D) 11

13) 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是()

A) B) C) a1 D) 都对

14) 整型数据类型中,需要内存空间最多的是()

A) short B) double C) int D) char

15) 以下选项中循环结构合法并能正常运行的是( )

A、while (int i<7)

{ i++;

is “+i);

}

B、 int j=3;

while(j)

{

j is “+j);

}

C、int j=0;

for(int k=0; j + k !=10; j++,k++)

{ j is “+ j + “k is”+ k);

}

D、 int j=0;

do{

if (j = = 3) {

break;

}

}while (j<10);

16)下面的方法,正确的调用是:

public float aMethod(double a,double b){ }

A、aMethod(10,20,30)

B、aMethod(,)

C、aMethod(’a’ , ‘b’)

D、aMethod(\"\" , \"\")

17) Java语言属于______。

A 面向过程的语言 B 面向对象的语言

C 面向机器的语言

D 面向操作系统的语言

18) Java中用于提供输入函数Scanner的包是______。

A 包

B 包 C 包 D 包

19) 下列数据类型中______属于Java基本数据类型。

A String

B StringBuffer C class D char

20) 下列______是回车字符的正确转义字符。

A /n

B /t C \ D \\n

21) 对于一个3位的正整数m,取出它的个位数字t(t为整型)的表达式是______。

A )t = m/100%10 B) t = m%10

C) t = m/l0%10

D) t = m/10

22) 下列选项中不属于JAVA基本数据类型的是( )。

a) char b) int c) double d) String

23) 正确的输出结果是( )。

int i ;

for(i = 0;i<4; i+=2){

(i+",");

}

(i);

a) 0,2 b) 0,2,4 c) 0,2,4,6 d) 0,1,2,3

24). 下列代码执行之后,输出的结果为______。

public class ex24

{

public static void main(String[] args)

{

int x=12;

int m=11;

int y=13;

int temp= x > y x : y;

temp= temp > m temp : m;

(temp);

}

}

A 1

B 12 C 13 D 11

25) 下列程序段执行后,x5的结果是______。

public class ex25

{

public static void main(String[] args)

{

int xl = 8;

int x2 = 12;

int x3=7;

int x4;

int x5;

x4 = x1 > x2 x1 : x2+ x1;

x5 = x4 > x3 x4 : x3;

}

}

A 11

B 20 C 10 D 12

26) 下列程序执行的结果是______。

public class ex26

{

public static void main(String[] args)

{

int a=3; int b=5; int c=4;

if ( ( ! (a==b)) && (a!=b) && (a < b| | b < a) ) (\"good!\");

else if (a * a + c * c== b * b )

System. (b);

else{

(a+c);

}

}

}

A 7

B 5 C 25 D good!

27)下列数组的初始化正确的是( )。

score={90,12,34,77,56}

[] score=new score[5]

[] score=new int[5]{90,12,34,77,56}

score[]=new int[]{90,12,34,77,56}

28) 阅读下面代码,它完成的功能是( )。

String[] a={\"我们\您好\小河边\我们\读书\

for(int i=0 ; i< ; i++)

{

if(a[i].equals(\"我们\"))

{

a[i]=\"他们\";

}

}

a.查找 b.删除 c.修改 d.查找并修改

29)java源程序文件的扩展名为( )。

a) .dat b) .txt c) .bin d) .java

30)下列关于带参数的方法正确的是( )。

a) 方法的参数可以为一个或多个

b) 方法返回值的数据类型要和参数的数据类型一致

c) 当方法有多个参数时,多个参数的数据类型必须一致

d) 方法的返回值类型定义为void时,表示方法体必须return一个返回值

31)给定如下所示的代码,要使这段代码能够编译成功,横线处应该填入( )。

public___count(int i,double d){

return i*d;

}

a) void b) int c) char d) double

32)编译运行结果是( )。

class Class1{

public static void main(String[] args){

int age=5;

Run(age);

(age);

}

public void Run(int age){

age=age+55;

}

}

a) 605 b) 555 c) 506 d)

33)该代码的运行结果是( )。

编译出错

public static void main(String[] args){

for(int i=1; i<=3; i++){

switch(i){

case1:

(i);

break;

default:

(i*2);

break;

}

}

}

a) 146 b) 123 c) 246 d)

34)分析如下的代码,编译运行时将输出( )。 String s=new String ("wudaTest");

有编译错误

int i=1;

int j=4;

(i,j));

a) uda b) wuda c) udaT d) wud

35)给定如下代码片段,编译运行的结果是( )。

int i=0;

switch(i){

case 0:

case 1: case 2: }

a) 程序编译出错 b) 程序可以执行,但没有内容被输出

c) 1 d) 12

36)分析下面的源程序,编译后的运行结果是( )。

public class Test{

public static void main (String[] args){

int[] numbers=new int[]{2,1,3};

(numbers);

for(int index=1 ; index < ; index++){

(numbers[index]);

}

}

}

a) 21 b) 23 c) 13 d) 运行时报数组越界错误

37)下面一段代码中break语句起到( )的作用,请选择表述最准确的一项。

int pointer=0;

while(poinrer<=10){

switch(poinrer%3){

case 1:

pointer+=1; break;

case 2:

pointer+=2; break;

default:

pointer+=3; break;

}

}

a) 结束当次循环,使控制权直接转移到控制循环的条件表达式

b) 从嵌套循环内部跳出最里面的循环

c) 终止switch语句的语句序列

d) 退出循环

38)下列代码的运行结果是( )。

class Test{

public static void main(String[] args){

int a=21;

int b=22;

int c=23;

if(a>b‖b>c){

(++b);

}else{

(a+b+c);

}

}

}

a) 21 b) 22 c) 23 d) 66

39)关于带参数的方法,下列选项中的说法错误的是( )。

a) 使用带参数的方法分为两步:1、定义带参数的方法;2、调用带参数的方法

b) 带参数方法的返回值不能为void

c) 带参数方法的参数个数可以为一个或多个

d) 带参数方法的参数可以是任意的基本类型数据或引用类型数据

40) 编译运行后的输出结果是( )。

public static void main (String[] args){

int a=100;

while(a != 0){

(a);

a=a/4

}

}

a) 1002561 b) 10025 c) 100 d) 25

41)编译运行后,输出结果是( )。

public class Test{

static int count=9;

public static void countl(){

count=10;

ln("count1="+count);

}

public static void count2(){

ln("count2="+count);

}

public static void main(String[] args){

count1();

count2();

}

}

a) count1=9

count2=9

b) count1=10

count2=9

c) count1=10

count2=10

d) count1=9

count2=10

42) 假设int类型的变量x、y和z,它们的初始值分别为10、20和30,则布尔表达式x<10‖y>10&&z<10的值为______。

A false

B 1 C true D 无法判断

43) 下列关于类的说法,错误的是______。

A 对于一个类来说,只能生成1到2个对象

B 类是定义属性和方法的模板

C 由程序员编写,作为程序的一部分,其目的是产生对象

D 类定义的是一种对象类型,是同类对象共有的属性和方法

44) 使用运算符______来创建新对象。

A instanceof

B class C new D

45) 分析下面的代码运行后打印出来的结果:____________。

int a = 1;

int result1 = (a++) + (++a) + (++a);

a++;

int result2 = a/2 + a%2;

B:7,4 C:8,4 D:7,3

.

选择题答案:

1 D11 B 21 B 31 D 41

2 C12 D 22 D 32 D 42 A 3 C13 A 23 B 33 A 43 A 4 B14 C 24 C 34 A 44 C 5 A15 C 25 B 35 D 45 A 6 B16 B 26 D 36 B 7 C17 B 27 D 37 A 8 C18 A 28 D 38 D 9 C19 D 29 D 39 B 10 D20 D 30 A 40 A C 二、填空题(5*2 = 10分)

46) 如何定义一个ArrayList的集合: ArrayList array;

47) 如果需要给一个int数组中的元素进行排序,可以通过Java中已有的 (array) 方法进行排序。

48) 集合ArrayList和HashSet 中存储元素的区别是:ArrayList中的元素是带下标的且是有序的;HashSet中的元素是元序且无下标的

49) HashMap存储元素的特点是:键值对方式存储

50) 自定义一个方法的基本格式是:方法修饰符 + 方法返回类型 + 方法名 +(参数列表) 二、机试题(时间小时,100满分)

题目1:通过二重循环打印下面的图形效果:

题目:编写学生成绩计算类,计算学生平均分,并打印出成绩不及格的学生信息

要求:

1.定义一个HashMap类保存学生信息,学生信息包括:姓名、性别、班级、成绩

2.创建一个测试类(带main函数的),添加几个学生信息的学生类,用ArrayList保存

3、要添加的数据信息如下:

添加的学生信息如上图,(从左到右的属性分别是: 姓名、性别、班级、分数)

最后,运行的效果如下:

因篇幅问题不能全部显示,请点此查看更多更全内容