1、Java习题二1. 指出下列程序的运行结果public class Example String str=new String(good); charch=a,b,c; public static void main(String args) Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+ and ); Sytem.out.print(ex.ch); public void change(String str, char ch) str=test ok; ch0=g; 传值和传地址 good
2、 and abc good and gbc test ok and abc test ok and gbc2. 给出下面代码: 静态数组, arrpublic class Person static int arr = new int10;public static void main(String a) System.out.println(arr1); 哪个语句是正确的? 编译时将产生错误; 编译时正确,运行时将产生错误; 输出零; 输出空。3下列哪些语句关于内存回收的说明是正确的? 程序员必须创建一个线程来释放内存; 内存回收程序负责释放无用内存 内存回收程序允许程序员直接释放内存 内存
3、回收程序可以在指定的时间释放内存对象 41) 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) line 4 line 6 line 7 局部变量必须初始化,成员变量不需初始化,数组不需初始化 line 85指出下列哪些方法与方法public void add(int a)为合理的重载方法。 public int add(int a)
4、 public void add(long a) public void add(int a,int b) public void add(float a) 6给出下面代码段 1) public class Test 2) int m, n; 3) public Test() 4) public Test(int a) m=a; 5) public static void main(String arg) 6) Test t1,t2; 7) int j,k; 8) j=0; k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) 12) 哪行将引起一个
5、编译时错误? 1 ine 32 line 53 line 64 line 107main()方法的返回类型是: int void Boolean static8System类在哪个包中? 1 java.util2 java.io3 java.awt4 java.lang9给出下面代码: public class Test static int a = new a10; public static void main(String args) System.out.println(a10); 那个选项是正确的? 译时将产生错误; 编译时正确,运行时将产生错误; 输出零; 输出空。10String
6、 s = hello; String t = hello; char c = h,e,l,l,o ; 下列哪些表达式返回true? 1 s.equals(t);t2 t.equals(c);f3 s=t;t4 t.equals(new String(hello);t11下述哪些说法是正确的? 1 实例变量是类的成员变量 2 实例变量是用static关键字声明的3 方法变量在方法执行时创建4 方法变量在使用之前必须初始化( 见test24.java)12String s = new String(xyz);创建了几个String Object? 1个13int 和 Integer 有什么区别?1
7、4Java有没有goto?是关键字吗? 无15用最有效率的方法算出2乘以8等於几? 2 0 ) 5) j = i * 2;6) System.out.println ( The value of j is + j );7) k = k + 1;8) i-;9) 10) 哪些行在编译时可能产生错误。1 line 42 line 63 line 74 line 827下面有关变量及其作用域的陈述哪些是对的?1 在方法里面定义的局部变量在方法退出的时候被撤销。2 局部变量也叫自动变量。3 在方法外面定义的变量(实例变量)在对象被构造时创建。4 在方法中定义的方法的参变量只要该对象被需要就一直存在。2
8、8类的设计要求它的某个成员变量不能被外部类直接访问。应该使用下面的哪些修饰符获得需要的访问控制?1 public2 no modifier3 protected4 private29下面有关java代码安全性的叙述哪些是对的?1 字节码校验器加载查询执行需要的所有类。2 运行时解释器执行代码。3 在运行时,字节码被加载,验证然后在解释器里面运行。4 类加载器通过分离本机文件系统的类和从网络导入的类增加安全性。SL275中描述的Java程序运行的过程是这样的:类加载器(class loader)加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性,这可以限制任何的特
9、洛伊木马程序,因为本机类总是先被加载,一旦所有的类被加载完,执行文件的内存划分就固定了,在这个时候特定的内存地址被分配给对应的符号引用,查找表(lookuo table)也被建立,由于内存划分发生在运行时,解释器在受限制的代码区增加保护防止未授权的访问;然后字节码校验器(byte code verifier)进行校验,主要执行下面的检查:类符合JVM规范的类文件格式,没有违反访问限制,代码没有造成堆栈的上溢或者下溢,所有操作 代码的参数类型都是正确的,没有非法的数据类型转换(例如将整型数转换成对象类型)发生;校验通过的字节码被解释器(interpreter)执行,解释器在必要时通过运行时系统执
10、行对底层硬件的合适调用。后三个答案是SL275中的原话。30给出下面的代码 public class Personstatic int arr = new int10;public static void main(String a) System.out.println(arr1;)1 编译时将发生错误。2 编译时正确但是运行时出错。3 输出为0。4 输出为null31给出下面的代码public class Person double d1; public static void main(String args) float f1=0.2f; System.out.println(f1);
11、 System.out.println(f2);有错吗?若有,错在哪里?32给出下面的代码class Person private String name; Private int age; void private去掉 Person(String name,int age) this.name=name; this.age=age;void getInfo() System.out.println(“I am chinese”);class TestPerson public static void main(String args) Person p1=new Person(); P1.g
12、etInfo(); Person p2=new Person(“张三”,21); System.out.println(p2.name);有错吗?若有,错在哪里?34class StaticCode static String country; static country=China; System.out.println(StaticCode is loading); class TestStaticCode static System.out.println(TestStaticCode is loading); public static void main(String args)
13、System.out.println(begin executing main method); new StaticCode(); new StaticCode(); TestStaticCode is loadingbegin executing main methodStaticCode is loading程序是否有错?若有,错在哪里,若没有,程序执行的结果是什么?为什么?35class Outer private int size=10; public class Inner public void doStuff() System.out.println(+size); class
14、 TestInner public static void main(String args) Outer outer=new Outer();Outer.Inner inner= new outer.Inner();/outer.new Inner() inner.doStuff(); 程序是否有错?若有,错在哪里?36class InOutString str=new String(Between);public void amethod(final int iArgs)int abc=8;class Bicyclepublic void sayHello()System.out.println(str);System.out.println(iArgs);System.out.println(abc);方法中定义的内部类只能访问方法的final变量 /End of Bicycle class/End of amethod/End of InOut class程序是否有错?若有,错在哪里,若没有,程序执行的结果是什么?为什么?37编写一个Java程序,定义一个表示学生的类Student,包括成员变量“学号”、“班级”、“姓名”、“性别”、“年龄”;方法“获得学号”、“获得班级”、“获得性别”、“获得姓名”、“获得年龄”和“修改年龄”。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1