黑马程序员技术交流社区

标题: 分享下练 [打印本页]

作者: 陆华山    时间: 2011-10-27 19:29
标题: 分享下练
第一章
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'






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2