java程序设计自考_java程序设计自考试题

2019-05-03 05:51樊志胜

一、选择题(每题3分,共30分)9、当例外抛出以后(C)。A.必须马上捕获这个例外,否则程序将会被终止。B.可以不捕获这个例外而将其抛出,这个例外可以一直抛下去不去处理。C.可以抛出或者捕获这个例外,但总之要有一个地方要捕获它。D.例外的捕获没有任何规定。解释:立即捕获是catch,表示在本函数立即处理;抛出是throw,抛出后由调用处处理或继续抛给上上级,但最终总有一个地方要处理这个异常。3、用于强制跳出循环结构的语句是break语句。解释:break是跳出循环,continue是代码执行到此继续下次循环。4、在Java程序中,通过类的继承只能实现单继承,但通过接口的实现可以达到多(或多重)继承的效果。解释:java通过extends只能继承一个父类,想实现多重继承要靠implements实现多个接口。但C++支持多重继承。2、下列程序编译运行后输出什么?publicclassaTest{publicstaticvoidmain(String[]args){int[]a={1,1,1};int[]aa=a;aa[0]=2;for(inti=0;i<3;i++){System.out.print(a[i]);}}}答:211解释:java的变量定义是java引用,aa和a都指向同一个数组,所以对aa的修改就是对a的修改。3、下列程序编译运行后输出什么?publicclassaTest{publicstaticvoidmain(String[]args){StringBuffersb=newStringBuffer("Helo");sb.append("World!");sb.insert(3,''l'');System.out.println(sb);}}答:HelloWorld!解释:append、insert返回的都是sb本身(可以看到append、insert的定义最后return的都是this),所以都会对sb造成影响。四、简答题(10分)1、请列举出面向对象的三个特点。(6分)答:封装、继承、多态、抽象……2、请说说java语言在生产,生活中的用途。(4分)答:JavaME:手机开发JavaSE:桌面程序开发JavaEE:网站开发,企业级应用五、改错题(每题5分,共10分)1、下列程序有一个错,请找出并说明错误原因。classSomething{publicintaddOne(finalintx){x=x+1;returnx;}}答:final表示x的值不允许再改变,所以不能对x再次赋值。2、下列程序有一个错,请找出并说明错误原因。classparent{privateinti;protectedintj;}classchildextendsparent{intgetI(){returni;}intgetJ(){returnj;}}答:在parent中,i是private的,对子类不可见,所以child里不能用getI方法得到i的值。六、编程题(15分)(1)编程创建一个Student类,在该类中定义三个私有属性:学号(int类型),姓名(String类型),年龄(int类型)。然后再定义以下公共方法:每个属性对应的get方法,一个无参构造函数(将属性初始化为0或者空字符串)以及一个含有学号、姓名、年龄三个参数的构造函数。(8分)classStudent{privateintnumber;privateStringname;privateintage;publicintgetNumber(){returnnumber;}publicStringgetName(){returnname;}publicintgetAge(){returnage;}publicStudent(){number=0;name="";age=0;}publicStudent(intnumber,Stringname,intage){this.number=number;this.name=name;this.age=age;}}(2)再定义一个只有main方法的类StudentAgeCompare,并在main方法中创建两个Student对象s1和s2。将s1和s2的属性(学号,姓名,年龄)用你定义的构造函数分别初始化为(1,lili,13)和(2,lucy,14)。(4分)classStudentAgeCompare{publicstaticvoidmain(String[]argv){Students1=newStudent(1,"lili",13);Students2=newStudent(2,"lucy",14);s1.equalAge(s2);//第三问的解答}}(3)编写程序比较二者年龄,输出其中学号较大的学生的姓名,若年龄一样,则输出“两人同岁”。(3分)classStudent{privateintnumber;privateStringname;privateintage;publicintgetNumber(){returnnumber;}publicStringgetName(){returnname;}publicintgetAge(){returnage;}publicStudent(){number=0;name="";age=0;}publicStudent(intnumber,Stringname,intage){this.number=number;this.name=name;this.age=age;}publicvoidequalAge(Students){if(this.age>s.age){System.out.println(this.name);}elseif(this.age

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值