Java基础试题及答案.doc
Java面向对象程序设计姓名:一、判断题(15)1Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。错 finalize()方法2对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。错 方法赋值采用相应的方法3有的类定义时可以不定义构造函数,所以构造函数不是必需要写的。对4类及其属性、方法可以同时有一个以上的修饰符来修饰。对5Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点错6抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。错7Final类中的属性和方法都必须被final修饰符修饰。错8最终类不能派生子类,最终方法不能被覆盖。对9子类要调用父类的方法,必须使用super关键字。错10一个Java类可以有多个父类。错二、选择题 (30)1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是(C)A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B 可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D 只能被同一个包中的类访问 2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D只能被同一个包中的类访问3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(D )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D只能被同一个包中的类访问4、下列关于修饰符混用的说法,错误的是(D )Aabstract不能与final并列修饰同一个类B abstract类中不可以有private的成员Cabstract方法必须在abstract类中D static方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是(B )A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout6、以下标识符中哪项是不合法的(C)A、 BigMeaning lessName B、$int C、1 s D、$17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B )A、public static void main() B、public static void main(String args)C、 public static int main(String arg)D、public void main(String arg )8、执行完以下代码int x = new int25;后,以下哪项说明是正确的(A )A、x24为0 B、x24未定义 C、x25为0 D、x0为空9、以下代码段执行后的输出结果为(B)int x=3; int y=10;System.out.println(y%x); %为 取余A、0 B、1 C、2 D、310、以下哪个表达式是不合法的(D )A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0三、改错题(20)判断下面的程序片断是否正确。若有错,指出错在哪里并改正;若正确,打“”。1、class MyClass int var=100;static int getVar()return var;错static int var=100;2、public class MyClassint data;void MyClass(int d) data=d;3、public class MyMainpublic static void main(String args ) System.out.println(MyClass1.data);class MyClass1int data=10;错 data改为静态的4、class IamAbstractfinal int f;double d;abstract void method();错 包含静态方法的类必须声明为静态类5、class parentprivate int mine;class child extends parentint getMine() return mine; 错 四、程序阅读(20) 1、阅读以下程序,输出结果为 。class Q1public static void main(String args )double d=1.23;Dec dec=new Dec( );dec.decrement(d);System.out.println(d);classs Decpublic void decrement(double decMe)decMe = decMe 0.1;结果为:1.232、以下程序的输出结果为 。public class Shortpublic static void main(String args ) StringBuffer s = new StringBuffer(“Hello”);if(s.length( )>5)&& (s.append(“there”) . equals(“False”);并且 逻辑符 如果前面不符合就不用判断后面System.out.println(“value is ”+s);输出 Value is Hello3、以下程序段的输出结果为 。int x=0,y=4, z=5;if ( x>2)if (y<5)System.out.println(“Message one”);else System.out.println(“Message two”);else if(z>5)System.out.println(“Message three”);else System.out.println(“Message four”);结果为:Message four4、以下程序段的输出结果为 。int j=2;switch ( j ) case 2:System.out.print(“Value is two.”);case 2+1 :System.out.println(“Value is three.”);break; default:System.out.println(“value is “+j);break;结果为Value is twoValue is threeWhile 如果不写break 将继续运行下一个 直到找到break才跳出循环五编程(15)1.用冒泡排序法对一维数组a中的元素按值从小到大进行排序。其中:Int a=20,3,-2,60,15;2.编程创建一个Student类,在其中包括属性(学号,班号,姓名,性别,年龄)和方法(获得学号,班号,姓名,性别,修改年龄)并创建对象s。添加构造方法初始化所有的属性,并增加一个toString()方法,把该类中的所有属性信息组合成一个字符串。创建两个Student 类的对象,比较二者年龄,输出其中年龄大的学生的姓名。