⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scjp试题集及解析.txt

📁 包括多年scjp认证考试的很多题库及答案
💻 TXT
📖 第 1 页 / 共 4 页
字号:
解析x>0时打印"first",x>-3&&x<=0时打印"second",x<=-3时打印"third"。
这个题目没有什么难的,只要理解if语句的语法就可以了。


19. Given the following expression about TextField which use a proportional 
pitch font. 
TextField t = new TextField("they are good",40);
Which statement is true? 
A. The displayed string can use multiple fonts.
B. The maximum number of characters in a line will be 40.
C. The displayed width is exactly 40 characters.
D. The user can edit the characters. 


翻译:给出以下关于一个使用适当的字符间距的字体的TextField的表达式。
…哪些叙述是对的?


A. 被显示的字符串可以使用多种字体。
B. 一行中最大的字符数是40
C. 显示的宽度正好是40个字符宽。
D. 用户可以编辑字符。 
答案D 


解析  TextField的该种形式的构造函数来说,前一个参数是文本域中初始的字符串的显示值,而后一个是推荐的显示宽度,以列数表示,在构造文本域的时候会将这个大小设置为最佳大小,如果容器的限制使得文本域不能显示这么多也没有办法,一般来说是比这个大小大的,而且即使宽度很小,你也可以在文本域的一行中输入很长的字符串,只有你不使用回车,在超过显示宽度后文本域会自动出现水平滚动条(没有被设置为关闭,缺省是不关闭的),而文本域的缺省编辑方式是可编辑的,一个文本域只能使用一种字体,这个字体可以在运行的过程中动态的改变,但是文本域中的所有字符串都将使用这个字体显示。


20. Which statements about the garbage collection are true? 
A. The program developer must create a thread to be responsible for free 
the memory.
B. The garbage collection will check for and free memory no longer needed.
C. The garbage collection allow the program developer to explicity and 
immediately free the memory.
D. The garbage collection can free the memory used java object at expect 
time. 


翻译:关于垃圾收集的哪些叙述是对的。


A. 程序开发者必须自己创建一个线程进行内存释放的工作。
B. 垃圾收集将检查并释放不再使用的内存。
C. 垃圾收集允许程序开发者明确指定并立即释放该内存。
D. 垃圾收集能够在期望的时间释放被java对象使用的内存。 
答案:B 


解析  JAVA将内存分配和释放的工组交给了自己,程序员不必做这些工作,它提供一个系统级的线程跟踪每个内存的分配,在JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存)。垃圾收集的过程在java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。可以调用System.gc()方法建议(suggest)JVM执行垃圾收集以使得可被释放的内存能立即被使用,当此方法返回的时候,JVM已经做了最大的努力从被丢弃的对象上回收内存空间。程序员不能指定收集哪些内存,一般而言也不用关心这个问题,除非是程序的内存消耗很大,特别是有很多临时对象时可以“建议“进行垃圾收集以提高可用内存。需要指出的是调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议,因为垃圾收集线程的优先级很低(通常是最低的)。

21、Which of the following assignment is not correct?

A. float f = 11.1;

B. double d = 5.3E12;

C. double d = 3.14159;

D. double d = 3.14D.

(a)office:office" />

题目:下面的哪些赋值语句是对的。

浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。

22、Given the uncompleted code of a class:

    class Person {

       String name, department;

       int age;

       public Person(String n){ name = n; }

       public Person(String n, int a){ name = n; age = a; }

       public Person(String n, String d, int a) {

         // doing the same as two arguments version of constructor 

         // including assignment name=n,age=a

         department = d;

       }

     }

Which expression can be added at the "doing the same as..." part of the constructor? 

A. Person(n,a);

B. this(Person(n,a));

C. this(n,a);

D. this(name,age).

(c)

题目:给出下面的不完整的类代码:


下面的哪些表达式可以加到构造方法中的"doing the same as..."处?

在同一个类的不同构造方法中调用该类的其它构造方法需要使用this(…)的形式,而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数被调用前不能引用类的成员。构造方法是一个类对象实例化的起点(虽然严格来说首先执行的并不是构造方法的第一个语句,而是内存的分配),因此在构造方法中不能将成员作为参数引用。

 

23、Which of the following statements about variables and their scopes are true?

 

A. Instance variables are member variables of a class.

B. Instance variables are declared with the static keyword.

C. Local variables defined inside a method are created when the method is executed.

D. Local variables must be initialized before they are used.

(acd)

题目:下面关于变量及其范围的陈述哪些是对的。

A.      实例变量是类的成员变量。

B.      实例变量用关键字static声明。

C.      在方法中定义的局部变量在该方法被执行时创建

D.     局部变量在使用前必须被初始化。

类中有几种变量,分别是:局部变量(英文可以为:local\automatic\temporary\stack variable)是定义在方法里的变量;实例变量(英文为:instance variable)是在方法外而在类声明内定义的变量,有时也叫成员变量;类变量(英文为:class variable)是用关键字static声明的实例变量,他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用new Xxxx()创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null(没有进行实际的初始化,对它的使用将引起NullPointException),类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。

 

24、public void test() {

      try { oneMethod();

            System.out.println("condition 1");

      } catch (ArrayIndexOutOfBoundsException e) {

            System.out.println("condition 2");

     } catch(Exception e) {

           System.out.println("condition 3");

     } finally {

           System.out.println("finally");

     }

   }

Which will display if oneMethod run normally?

A. condition 1

B. condition 2

C. condition 3

D. finally

(ad)

题目:在oneMethod()方法运行正常的情况下将显示什么?

如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行。

 

25、Given the following code:

public class Test {

   void printValue(int m){

     do { System.out.println("The value is" m);

        }

     while( --m > 10 )

   }

   public static void main(String arg[]) {

     int i=10;

     Test t= new Test();

     t.printValue(i);

   }

}

Which will be output?

A. The value is 8

B. The value is 9

C. The value is 10

D. The value is 11

(c)

题目:给出下面的代码:


输出将是什么?

此题考察的是do… while循环和 -- 操作符的知识,do…while最少被执行一次,在执行完do中的内容后判断while中的条件是否为true,如果为true的话就再执行do中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执行循环后面的内容,而—操作符的规则是在变量右边的 -- 将先进行运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减一再运算。

 

26、Which of the following statements about declaration are true?

A. Declaration of primitive types such as boolean, byte and so on does not allocate memory space for the variable.

B. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable.

C. Declaration of nonprimitive types such as String, Vector and so on does not allocate memory space for the object.

D. Declaration of nonprimitive types such as String, Vector ans so on allocates memory space for the object.

(ad)

题目:下面的有关声明的哪些叙述是对的。

A.      对原始数据类型例如boolean,byte的变量的声明不会为该变量分配内存空间。

B.      对原始数据类型例如boolean,byte的变量的声明将为之分配内存空间。

C.      非原始数据类型例如String,Vector的变量的声明不会为该对象分配内存。

D.     非原始数据类型例如String,Vector的变量的声明会为该对象分配内存。

对原始数据类型的变量的声明将为之分配内存并赋予一个缺省值,参见23题的叙述,而非原始数据类型的变量必须用new Xxxx()分配内存及初始化。但是严格来讲此题的答案有待确定,因为只有原始类型的实例变量和类变量的声明在类对象被创建/类被加载时完成内存的自动分配,而原始类型的局部变量必须显式初始化,从这点来看原始类型的局部变量没有被自动分配内存,SL275中只提出了非原始数据类型的变量必须使用new Xxxx()完成内存的分配而没有指出原始数据类型的变量是否在声明时即自动进行内存分配,而从局部变量不能在显式初始化前使用这点来看在声明时没有进行内存分配。因此答案a的正确性还有待官方的确定。

 

27、In the Java API documentation which sections are included in a class document?

A. The description of the class and its purpose

B. A list of methods in its super class

C. A list of member variable

D. The class hierarchy

(acd)

题目:在Java API文档中下面的哪些部分被包括在内

A.      类及用途的描述

B.      父类的方法的列表

C.      成员变量的列表

D.     类层次

类文档的内容主要是:类层次、类及用途描述、成员变量列表、构造方法列表、成员方法列表、从类层次上继承的方法列表、成员变量的详细说明、构造方法详细说明、成员方法详细说明。

 

28、Given the following code:

     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) }

Which line might cause an error during compilation?

A. line 4

B. line 6

C. line 7

D. line 8

(c)

题目:给出下面的代码:


哪些行在编译时可能产生错误。

这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。

 

29、Which of the following statements about variables and scope are true?

A. Local variables defined inside a method are destroyed when the method is exited.

B. Local variables are also called automatic variables.

C. Variables defined outside a method are created when the object is constructed.

D. A method parameter variable continues to exist for as long as the object is needed in which the method is defined.

(abc)

题目:下面有关变量及其作用域的陈述哪些是对的。

A.      在方法里面定义的局部变量在方法退出的时候被撤销。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -