第一章
1:简述Java 从代码到运行的全过程
2:简述虚拟机的工作机制
3:简述java的垃圾回收机制
4:简述java的安全机制
5:简述path、classpath、JAVA_HOME各自的含义和配置方式
第二章
1:叙述标识符的定义规则,指出下面的标识符中那些是不正确的,并说明理由
here , _there, this, it, 2to1, _it
2:Java中共有那些基本数据类型?分别用什么符号来表示,各自的取值范围是多少?
3:复习所有的Java关键字
4:指出正确的表达式
A byte b=128;
B char c=65536;
C long len=0xfffL;
D double dd=0.9239d;
5:下面哪几个语句将引起编译错?
A. float f=4096.0;
B. double d=4096.0;
C. byte b=4096;
D. char c=4096;
6:简述Java 中的运算符,以及他们的运算次序。
7:创建一个switch 语句,为每一种case 都显示一条消息。并将switch 置入一个for循环里,令其尝试每一种case。在每个case后面都放置一个break,并对其进行测试。然后,删除break,看看会有什么情况出现。
8:执行下列代码后的x 和y 的结果分别是什么?
int x,y,a=2;
x=a++;
y=++a;
9:下面的程序输出结果是:a=6 b=5
请将程序补充完整。
public class A{
public static void main(String args[]){
int a=5,b=6;
a= _a+b_____;
b=a-b;
a=__a-b_____;
System.out.println("a="+a+" b="+b);
}
}
10:下面哪个语句序列没有错误,能够通过编译?
A.
int i=0;
if (i) {
System.out.println(“Hi”);
}
B.
boolean b=true;
boolean b2=true;
if(b==b2) {
System.out.println(“So true”);
}
C.
int i=1;
int j=2;
if(i==1|| j==2)
System.out.println(“OK”);
D.
int i=1;
int j=2;
if (i==1 &| j==2)
System.out.println(“OK”);
11:阅读以下代码行:
boolean a=false;
boolean b=true;
boolean c=(a&&b)&&(!b);
int result=c==false?1:2;
这段程序执行完后,c与result的值是:
A c=false; result=1;
B c=true; result=2;
C c=true; result=1;
D c=false; result=2;
12:下列代码哪行会出错?
1) public void modify() {
2) int i, j, k;
3) i = 100;
4) while ( i > 0 ) {
5) j = i * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) i--;
9) }
10) }
A 第 4行
B 第 6行
C 第 7行
D 第 8行
13:指出下列程序的运行结果。
int i = 9;
switch (i) {
default:
System.out.print("default");
case 0:
System.out.print("zero"); break;
case 1:
System.out.print("one");
case 2:
System.out.print("two");
}
A default
B defaultzero
C 编译错
D 没有任何输出
14: 将1 到1000 之间的奇数打印出来。
15: 判断一个数能否同时被3和5 整除。
16: 输入10个数,找出最大一个数,并打印出来。
17: 给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90 分以上为’A’,80~89 分为’B’,70~79 分为’C’,60~69 分为’D’,60分以下为’E’。
18: 输出图案:
*
**
***
****
*
**
***
****
19: 使用for 语句打印显示下列数字形式:n=4
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
第三章
1:写一个MyPoint 完全封装类,其中含有私有的int类型的x 和y 属性,分别用公有的getX 和setX、getY 和setY 方法访问,定义一个toString 方法用来显示这个对象的x、y 的值,如显示(1,2),最后用main 方法测试。
2:在MyPoint 类中增加equals()、toString()方法,根据命令行参数个数测试:若不传参数,则显示(0,0);若传一个参数,则打印(此参数值,0);若传两个参数,则打印(第一个参数值,第二个参数值)。
3: 有一个序列,首两项为0,1,以后各项值为前两项值之和。写一个方法来实现求这个序列的和
4:请编写一个方法实现如下功能:将1至7 的数字转换为星期日到星期六的字符串。
5:请编写一个方法实现如下功能:有任意三个整数a,b,c,请输出其中最大的
6:请编写一个方法实现如下功能:将任意三个整数a,b,c按从小到大的顺序输出。
7:请编写一个方法实现如下功能:用程序找出每位数的立方和等于该数本身值的所有的3 位数。(水仙花数)
8:请编写一个方法实现如下功能:计算1 加到n ( n>=2的整数)的总和。
9:请编写一个方法实现如下功能:得到一个整数的绝对值。
第四章
1:创建一个构造方法重载的类,并用另一个类调用
2:创建Rodent(啮齿动物):Mouse(老鼠),Gerbil(鼹鼠),Hamster(大颊鼠)等的一个继承分级结构。在基础类中,提供适用于所有Rodent 的方法,并在衍生类中覆盖它们,从而根据不同类型的Rodent 采取不同的行动。创建一个Rodent 数组,在其中填充不同类型的Rodent,然后调用自己的基础类方法,看看会有什么情况发生。
3:编写MyPoint的一个子类MyXYZ,表示三维坐标点,重写toString方法用来显示这个对象的x、y、z 的值,如显示(1,2,3),最后用main方法测试
4:当你试图编译和执行下面的程序时会发生什么?
class Mystery{
String s;
public static void main(String[] args){
Mystery m=new Mystery();
m.go();
}
voidMystery(){
s="constructor";
}
void go(){
System.out.println(s);
}
}
选择下面的正确答案:
A 编译不通过
B 编译通过但运行时产生异常
C 代码运行但屏幕上看不到任何东西
D 代码运行,屏幕上看到constructor
E 代码运行,屏幕上看到null
5:当编译和运行下列程序段时,会发生什么?
class Person {}
class Woman extends Person {}
class Man extends Person {}
public class Test{
public static void main(String argv[]){
Man m=new Man();
Woman w=(Woman) new Man();
}
}
A 通过编译和并正常运行。
B 编译时出现例外。
C 编译通过,运行时出现例外。
D 编译不通过
6:对于下列代码:
1 class Person {
2 public void printValue(int i, int j) {//... }
3 public void printValue(int i){//... }
4 }
5 public class Teacher extends Person {
6 public void printValue() {//... }
7 public void printValue(int i) {//...}
8 public static void main(String args[]){
9 Person t = new Teacher();
10 t.printValue(10);
11 }
12}
第10 行语句将调用哪行语句?
A line 2
B line 3
C line 6
D line 7
7:下列代码运行结果是什么?
public class Bool{
static boolean b;
public static void main(String []args){
int x=0;
if(b){
x=1;
}
else if(b=false){
x=2;
}
else if(b){
x=3;
}
else{
x=4;
}
System.out.println(“x= ”+x);
}
}
8:在命令行输入java X Y的结果是:
public class X{
public void main(String []args){
System.out.println(“Hello ”+args[0]);
}
}
A. Hello X Y
B. HelloX
C. HelloY
D. 不能编译
E. 运行时有异常
9:下列代码编译并运行的结果是:
public class Test{
public static void main(String []args){
class T1 extends java.lang.Thread{}
class T2 extends T1{}
class T3 implements java.lang.Runnable{}
new T1().start();
new T2().start();
new Thread(new T3()).start();
System.out.println(“Executing”);
}
}
A. 编译失败
B. 程序能运行但永远永不终止
C. 能运行并输出“Executing”
D. 运行时有异常
10:代码运行结果是什么?
public class Test{
public static void main(String []args){
double num=7.4;
int a=(int)Math.abs(num+0.5);
int b=(int)Math.ceil(num+0.5);
int c=(int)Math.floor(num+0.5);
int d=(int)Math.round(num+0.5);
int e=(int)Math.round(num-0.5);
int f=(int)Math.floor(num-0.5);
int g=(int)Math.ceil(num-0.5);
int h=(int)Math.abs(num-0.5);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
System.out.println("d="+d);
System.out.println("e="+e);
System.out.println("f="+f);
System.out.println("g="+g);
System.out.println("h="+h);
}
}
11:完成此段代码可以分别添加哪两个选项?
1. public class Test{
2.
3. public static void main(String []args){
4.
5. System.out.println(“c=”+c);
6. }
7.}
a)在第2行加上语句static char c;
b) 在第2 行加上语句char c;
c) 在第4 行加上语句static char c;
d) 在第4 行加上语句char c=’f’;
12:下列代码运行结果是什么?
public class A{
puvlic static void main(Stirng []args){
int m=2;
int p=1;
int t=0;
for(;p<5;p++){
if(t++>m){
m=p+t;
}
}
System.out.println(“t equals ”+t);
}
}
A. 2
B. 4
C. 6
D. 7
13:已知如下的命令执行java MyTest a b c 请问哪个是正确的?
A、args[0] = "MyTest a b c"
B、args[0] = "MyTest"
C、args[0] = "a"
D、args[1]= 'b'
|