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、要添加的数据信息如下:
添加的学生信息如上图,(从左到右的属性分别是: 姓名、性别、班级、分数)
最后,运行的效果如下: