Java练习题库(含答案)
一、Java语法基础(1-18)
1、在Java中,负责对字节码解释执行的是()。答案:B
A、垃圾回收器
B、虚拟机
C、编译器
D、多线程机制
2、下列描述中,正确的是()答案:A
A、Java程序的main方法必须写在类里面。
B、Java程序中可以有多个main方法。
C、Java程序中类名必须与文件名一样。(public修饰的才有这要求)
D、Java程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来。
3、下列描述中,正确的是()答案:A
A、Java中的标识符是区分大小写的
B、源文件名与public类名可以不相同
C、Java源文件扩展名为.jar
D、Java源文件中public类的数目不限
4、下列关于Java中变量命名规范的描述中,正确的是( ) 答案:B
A、变量由字母、下划线、数字、$符号随意组成。(数字不能开头)
B、变量不能以数字开头。
C、A和a在java中是同一个变量。
D、不同类型的变量,可以起相同的名字。
5、以下选项中,不是Java合法标识符的是( )  答案:C
A、 VOID
B、 x3x
C、 final
D、 abc$def
6、在Java中定义一个类时,所使用的关键字是()。答案:A
A、class
B、public
C、struct
D、class 或struct
7、下列关于运算符优先级别排序正确的是()答案:A
A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;
C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;
D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;
8、表达式(15+3*8)/4%3的值是( )答案:A
A、 0
B、 1
C、 2
D、 39
9、已知字符A对应的ASCII码值是65,那么表达式"A" + 1的值是()答案:C
A.、66 B、B C、A1 D、非法表达式,编译出错
10、下列关于boolean类型的叙述中,正确的是()答案:D
A、可以将boolean类型的数值转换为int类型的数值
B、可以将boolean类型的数值转换为字符串
C、可以将boolean类型的数值转换为char类型的数值
D、不能将boolean类型的数值转换为其他基本数据类型
11、下面关于for循环的描述正确的是( ) 答案:A
A、 for循环体语句中,可以包含多条语句,但要用大括号括起来。
B、 for循环只能用于循环次数已经确定的情况。
C、在for循环中,不能使用break语句跳出循环。
D、 for循环是先执行循环体语句,后进行条件判断。
12、以下关于循环语句描述正确的是( )。答案:D
A、for循环不可能产生死循环。
B、while循环不可能产生死循环。
C、for循环不能嵌套while循环。
D、即使条件不满足do……while循环体内的语句也至少执行一次。
13、下列关于Java中自动类型转换说法正确的是()答案:A
A、基本数据类型和String相加结果一定是字符串型。
B、 char类型和char类型相加结果一定是char类型。
C、 double类型可以自动转换为int。
D、 char + int + double +"" 结果一定是double。
14、下列选项中,数组初始化形式正确的是()。答案:A
A、int t1[][]={{1,2},{3,4},{5,6,7}};
B、int t2[3][2]={1,2,3,4,5,6};
C、int t3[3][]={1,2,3,4,5,6};
D、int t4[][2]={1,2,3,4,5,6};
15、设x和y均为int类型变量,则以下语句:x=x+y; y=x-y; x-=y;的功能是()。
答案:D
A、把x和y按从大到小排列
B、把x和y按从小到大排列
C、无确定结果
D、交换x和y中的值
16、以下语句中没有编译错误或警告提示信息的是()答案:B
A、byte b=300;
B、double d=89L;
C、char c=”c”;
D、short s=55L;
17、假设定义int a=9^3;那么a的值是多少?()答案:B
A、3
B、10
C、12
D、27
18、假设定义int a=9&3;那么a的值是多少?()答案:A
A、1
B、3
C、6
D、12
二、Java程序阅读与分析(1-21)
1、阅读以下程序,并回答问题。
public class JavaTest {
public static void changeStr(String str) {
str += "welcome";
}
public static void main(String[] args) {
String str = "1234";
changeStr(str);
System.out.println(str);
}
}
运行上面的程序后,控制台打印的信息是()答案:C  A、welcome B、welcome1234
C、1234
D、1234welcome
2、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
JavaTest test = new JavaTest();
int i = 0;
test.add(i);
i = i++;
System.out.println(i);
}
void add(int i) {
i++;
}
}
执行以上程序,控制台打印的结果是()答案:A
A、0
B、1
C、2
D、程序运行出错
3、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
int x = 5;
int y = 2;
System.out.println(x + y + "k" + x + y);
}
}
执行上面的程序,控制台打印的结果是()答案:C
A、52k52
B、52k7
C、7k52
D、7k7java库
4、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
int x = 1;
int y = x = x + 1;
System.out.println("y is " + y);
}
}
上面程序的执行结果是()答案:C
A、y is 0
B、y is 1
C、y is 2
D、程序报错
5、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
System.out.printf("%5d",123456);
}
}
上面程序的执行结果是()答案:A
A、123456
B、23456
C、12345
D、程序运行时报错
6、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
int a=365*24*60*60*1000;(计算结果已超出int类型最大值,自动截取低位部分)int b=365*24*60*60;
int c=a/b;
System.out.println(c);
}
}
上面程序的执行结果是()答案:C
A、1000
B、一个不等于1000的浮点数
C、一个不等于1000的整数
D、程序编译通过,但运行时出错
7、阅读以下程序,并回答问题。
class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base= new Child();
}
}
编译运行以上程序Java代码,输出结果是()。答案:D
A、Base method
B、Child methodB
C、Base method Child MethodB
D、编译错误
8、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
int a=3, b=4, x=5;
if( ++a==b ) x=++a*x;
System.out.println(x);
}
}
执行下面的程序,打印出的x的值为()答案:D
A、5
B、20
C、21
D、25
9、阅读以下程序,并回答问题。
public class JavaTest {
public static void main(String[] args) {
for (int i = 0;;) {
System.out.println("这是" + i);
break;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。