服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

scjp认证套题解析之一


   写作本文的目的是总结自己学习java的知识点,也可以方便其它人学习java,个人的感觉是java确实是一个很好的编程语言,而学习好java必须先掌握java的特点,而这些特点在scjp的套题中可以充分的体现出来,套题考核的知识点非常的到位,必须对java非常了解才可以做好这些题。

如果文中有错误之处,欢迎指正!如果有和本文相关的任何问题也欢迎来信联系。谢谢。

--------------------------------------------------------------------------------

   1. which of the following range of short is correct?
   a. -27 -- 27-1

   b. 0 -- 216-1

   c. ?215 -- 215-1

   d. ?231 -- 231-1
   翻译下面哪些是short型的取值范围。

   答案 c

   解析 短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整(integral)数(包括byte,short,int,long)全是有符号的。


   2. which declarations of identifiers are legal?
   a. $persons

   b. twousers

   c. *point

   d. this
   e. _endline
   翻译下面哪些是合法的标识符。

   答案 a,b,e

   解析 java的标识符可以以一个unicode字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字。

   3. which statement of assigning a long type variable to a hexadecimal value is correct?
   a. long number = 345l;

   b. long number = 0345;

   c. long number = 0345l;

   d. long number = 0x345l
   翻译哪些是将一个十六进制值赋值给一个long型变量。

   答案 d

   解析 十六进制数以0x开头,long型数以l(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。

   4.which of the following fragments might cause errors?
   a. string s = "gone with the wind";
   string t = " good ";
   string k = s + t;

   b. string s = "gone with the wind";
   string t;
   t = s[3] + "one";
   c. string s = "gone with the wind";
   string standard = s.touppercase();

   d. string s = "home directory";
   string t = s - "directory";

   翻译下面的哪些程序片断可能导致错误。

   答案 b,d

   解析 
   a:string类型可以直接使用+进行连接运算。

   b:string是一种object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。

   c:touppercase()方法是string对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(string类型)。

   d:string类型不能进行减(-)运算,错误。

   5. which are syntactically valid statement at// point x?
   class person {
   private int a;
   public int change(int m){ return m; }
   }
   public class teacher extends person {
   public int b;
   public static void main(string arg[]){
   person p = new person();
   teacher t = new teacher();
   int i;

   // point x
   }
   }

   a. i = m;

   b. i = b;

   c. i = p.a;

   d. i = p.change(30);

   e. i = t.b.
   翻译在// point x处的哪些申明是句法上合法的。

   答案 d,e

   解析
   a:m没有被申明过,不能使用。

   b:虽然b是类teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。

   c:a是类person的private成员,在类外不能直接引用。

   d:change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。

   e:b是类teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。(www.javaresearch.org)

扫描关注微信公众号