




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA笔试题精华版1.0public class Test2 public static void main(String args) Float a = new Float(3.4); System.out.println(a.SIZE); a = new Float(34000); System.out.println(a.SIZE); 让我们来看看此程序会输出什么呢?我们先来看看JDK的解释吧.public static final int SIZEThe number of bits used to represent a float value.意思是说:通常去描述一个float值的位数.这个是一个常量,来看看源码吧:public static final int SIZE = 32;final int 变量一旦被定义就不能被改变1.写出下面代码的结果public class TestString public static void link(String a) a += World; public static void main(String args) String a = Hello; link(a); System.out.println(a); 答: 这道题考两个方面:1).String对象的内容是不能改变的,a+=World并不是把a所指对象改变,而是先生成一个临时String对象,其值为a+World,然后在把这个临时对象赋给a.2).Java中函数参数传递方式为Call by value,link方法中会生产a的一个拷贝,同样指向a所指的对象,综合以上两点,得出结果为 Hello2.写出下面代码的结果System.out.println(ja+va = java);答:=用来比较对象的引用,而equals()用来比较对象的内容,但是如果是字符串常量,用=也可以比较内容是否相等,ja+va和java都是字符串常量,因此结果为true同理,下面代码结果也是truefinal String str = java;System.out.println(str=java)1.选出用法错误的:a: Stirng a =Gone With Wind;String t= Wind;String m;m=a-t;B: Stirng a =Gone With Wind;String m ;m=a3+one;C: Stirng a =Gone With Wind;Sting m;m=a.toUpperCase();D: 不记得了选AB.2.选出能正确赋值的:public class A private int a;public void change(int m) return m;public class B extends Apublic int b;public static void main() A aa = new A();B bb = new B();int k;/px在px处可以正确赋值的有:A k= m; B k=b; C k=aa.a; D k=bb.change(30); E k=bb.a选C3.此程序会输出什么?package com;class A public A() a1(); public void a1() System.out.println(A-a1); public class B extends A int bb = 0; public B() bb = 1000; public void a1() System.out.println(bb is + bb); System.out.println(B-a1); public static void main(String args) new B(); 答案:bb is 0B-a1看看执行顺序就明白了.package com;class A /3 public A() a1(); public void a1() System.out.println(A-a1); public class B extends A int bb = 0; /2 public B() /5 bb = 1000; /4 public void a1() System.out.println(bb is + bb); System.out.println(B-a1); public static void main(String args) /1 new B(); 在方法被a1()被重写的情况下,父类的a1是没有机会被调用的.posted on 2007-12-15 10:43 上善若水 阅读(235) 评论(3) 编辑 收藏所属分类: Java笔试与面试Comments# re: JAVA笔试题(金山软件)未登录lovejava比较喜欢面试题.Posted 2007-12-16 11:21 回复 更多评论 # re: JAVA笔试题(金山软件)未登录古风public class Apublic int a;public int change(int m)return m;public A()System.out.println(constructA);a1();public void a1()System.out.println(A - a1);public class B extends Aint bb = 0;public B()System.out.println(constructB);bb = 1000;System.out.println(bb = + bb);public void a1()System.out.println(bb is + bb);System.out.println(B - a1);public static void main(String args)new B();执行结果:constructAbb is 0B - a1constructBbb = 1000.public class Test public static void changeStr(String str)str=welcome;public static void main(String args) String str=1234;changeStr(str);System.out.println(str);此题结果为:1234;比较简单分析下内存就行了.2.public class ForTest static boolean foo(char c) System.out.println(c); return true; public static void main(String args) int i = 0; for(foo(A);foo(B)&(i2);foo(C) i +; foo(D); 此题结果为:ABDCBDCB这道题考查的for循环的执行顺序.for(int i = 0; i 10; i +)首先先执行int i = 0;注意这个只是初始化一次,就是在第一次的时候.接着执行i 10;然后执行方法体里面的内容,最后才执行i+;第二次及以后就直接执行i 10;然后方法体;最后i +;如此顺序直到结束为止.3.1. class A 2. protected int method1(int a, int b) return 0; 3. Which two are valid in a class that extends class A? (Choose two)A. public int method1(int a, int b) return 0; B. private int method1(int a, int b) return 0; C. private int method1(int a, long b) return 0; D. public short method1(int a, int b) return 0; E. static protected int method1(int a, int b) return 0; 此题考查的是继承重写问题当一个子类重写父类的方法时,重写的方法的访问权限必须大于等于父类的访问权限在此题中父类中的方法访问权限为protected,子类只能是protected或public.这时是符合题意的由于选项的形参和父类的不一样,没有重写的效果,所以在子类出现也是没问题的所以此题选:AC.1. public class Outer2. public void someOuterMethod() 3. / Line 34. 5. public class Inner6. public static void main( Stringargv ) 7. Outer o = new Outer();8. / Line 89. 10. Which instantiates an instance of Inner?A. new Inner(); / At line 3B. new Inner(); / At line 8C. new o.Inner(); / At line 8D. new Outer.Inner(); / At line 8/new Outer().new Inner()此题选A.内部类的实例化可以在普通方法里也可以在static方法里实例化如下:package com.test.a;public class Outer Inner i = new Outer.Inner(); public void method() new Inner(); public class Inner public static void main(String args) Outer o = new Outer(); Inner i = o.new Inner(); static void a() Outer o = new Outer(); Inner i = o.new Inner(); public class Jtestint m=1;int i=3;void Jtest()m=2;i=4;public static void main(String args)Jtest app=new Jtest();System.out.println(app.m+,+app.i);写出输出.结果是1,3;因为在这里void Jtest();并没有并调用,它只是一个方法,而非构造方法,这样的编写是有警告的,不过可以运行.public class Jtestint m=1;int i=3;Jtest()m=2;i=4;public static void main(String args)Jtest app=new Jtest();System.out.println(app.m+,+app.i);写出输出:结果是2,4;调用了构造方法,不加修饰符,默认访问权限是package access,在Java里没有关键字表示,就是包内的能访问,包外就不行了(即使导入也不行).public class Test static void oper(int b) b = b + 100; public static void main(String args) int a = 99; oper(a); System.out.println(a); 输出为99.我们来分析一下内存:int a = 99;首先在栈里面开辟一块空间保存a比如:a:xxxx然后调用oper(a);这时把a 的值99赋给int b;b在内存里也开辟了自己的空间,此时值也是99.然后执行oper(a);方法体,b = b + 100;此时b的值为199,a的值为99.public class Test public static void main(String args) String a=new String(A); String b=new String(B); oper(a,b); System.out.print(a+,+b); static void oper(String c,String d) c.concat(B); d=c; 此程序输出:A和B.原因就是String是final类型的.并不会被改变.public class Test public static void main(String args) String a = new String(A); String b = new String(B); a.concat(aa); System.out.println(a + , + b); 这个还是会输出A,B原因同上.package intervie;public class Test public static void main(String args) String a = new String(A); String b = new String(B); a = a.concat(aa); System.out.println(a + , + b); 做了下改动,再来看看.结果就不同了.输出的是Aaa,B因为String 是final类型的.所以执行到a = c.concat(aa);会在heap里新创建一个对象,而a指向它.这是一新的地址,同String a 这个已经不同了.所以输出的是后一个.即改变后的值.public class Test static void oper(StringBuffer c,StringBuffer d) d = c.append(B); public static void main(String args) StringBuffer a = new StringBuffer(A); StringBuffer b = new StringBuffer(B); oper(a, b); System.out.println(a + , + b); 此程序会输出:AB,Bpackage org;public class Test public static void main(String args) A a = new B(); a.print(); class A private int i = 1; public A() int i = 2; public void print() System.out.println(The result is: + i); class B extends A private int i = 3; public B() int i = 6; public void print() System.out.println(The result is: + i); 输出结果是:3此题考查的是多态.在这里是父类的引用指向子类的对象.父类的引用只能访问子类和父类共有的方法.这个程序我通过Eclipse和Debug程序观察
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年本科《传感器与测试技术》期末试题及答案
- 安顺市2025-2026学年八年级上学期语文期中模拟试卷
- 中国专家共识解读:成人颅脑损伤院前急诊诊治指南(2025版)
- 活蚕沟站区车辆工队2025年第二季度每日一题
- 社区消防知识培训课件演讲稿
- 河南省洛阳市偃师区2024-2025学年四年级下学期期末质量检测英语试题
- 社区村镇工作基础知识培训课件
- 农牧机械出租合同范本
- 股权出让协议合同范本
- 公司劳务合同范本简单
- 中职宿舍规矩管理制度
- 燃气生产调度管理制度
- 2025至2030年中国真空电机行业市场行情监测及前景战略研判报告
- 2025-2030中国棉花产业行情走势与市场共同发展前景预测报告
- 数学名师工作室三年发展规划
- 2025-2030中国分体式滑雪板行业市场现状供需分析及投资评估规划分析研究报告
- 废玻璃再生资源化项目投资可行性报告
- 2024生产安全事故应急预案
- 医院后勤管理的安全风险防控措施
- 雾化吸入技术课件
- 家具商场联营合同协议
评论
0/150
提交评论