2016 – 2017 学年第一学期 期末考试试卷   课程名称:Java程序设计 试卷类型:A卷 共10页  考试形式:闭卷 

一、单选题(每题1分,共1×15=15分)

1、Java 程序执行起点的main方法,其形参为( )

A. String args              B. String[] args
   C. Char arg               D. StringBuffer [] args

2、按照Java命名约定,合理的标识符为( )

A. package com.myPackage;

B. public class  dog

C. int  Index

D. void  SetCustomerName()

3、不符合Java语言规定的变量名是( )

A. 123variable            B. variable123

C. variable_$_123         D. $variable$$$

4、与其他选项不相等的选项是( )

A. 10    B. 010            C. 0XA        D.0b1010

5、属于Java关键字的选项是( )

A.@Override   B.as    C.default  D.NULL

6、无需在程序中import就可以直接使用简单类名的类,属于包()

A.java.applet                   B.java.lang

C.java.awt                        D. .java.util

7、不属于Java赋值操作符的是( )

A. =     B. >>=     C.>>>=     D. >=

8、int i= 0; i+=2.6; 则i的值为( )

A.2.0  B.2.6   C.2   D.3

9、int [ ][ ]  x=new int[4][2],则 x.length 的值为( )

A. 0        B. 4              C. 2              D. 8

10、根据结合性,4+5+"="+1+2的值为( )

A. 12             B. "9=3"         C. "45=12"                D. "9=12"

11、表达式的值为false的选项是( )

A. new String() instanceof Object

B. "Java "instanceof String

C.  null instanceof String

D.newint[2]  instanceof Object

12、int i= 5,则(i = 2)>1? ++i: i--表达式的值为( )

A. 0              B. 1         C. 2              D. 3

13、下面语句执行后,i 的值为( )

inti=16;

while(i > 3 ) { i/=2; }

A. 16            B.8        C. 4              D. 2

14、求两个变量doublex,y之积的整数部分,合理的语句是( )

A.double d=(int)x*y;

B. doubled=(int)x* (int)y;

C. doubled=x*(int)y;

D. double d =(int)(x*y);

15、如果选择一个面向对象的最重要的概念,你认为是( )

A. 重载              B. 类层次     C.  回调           D. 多态

二、填空题(每空1分,共1×25=25分)本题答案如下

1、引用类型包括类类型、 和 。(接口,数组)

2、整型常量默认为 类型,而123L属于 类型。(int,long)

3、将高级语言源程序翻译给机器,存在两种基本的策略: 与。Java同时采用了这两种策略,源程序文件被编译为文件,该文件的扩展名为 。(编译,解释,类/class,.class)

4、不同于基于 的命令编程范式和基于λ运算的 ,面向对象编程范式没有直接的源于可计算理论的模型。(图灵机,函数编程范式)

5、状态变化是命令范式的焦点,正如SICP中指出:“广泛采用 的程序设计被称为命令式程序设计”。(赋值)

6、如Dog d = new SmartDog();语句,把一个子类引用赋值给父类的引用变量,称为。此时d的声明类为,d的实际类为 。(向上造型,Dog,SmartDog)

7、计算机科学家证明,使用 、 和循环结构足以表达所有程序。(顺序,分支)

8、父类中,不能够被改写的方法是 方法。而 和 方法,即使子类编写了签名完全相同的方法,但是它们与改写机制无关。(final,static,private)

9、Java中仅仅定义接口而没有方法体的方法,被称为 ,在C++中等价的概念为。(抽象方法,纯虚函数)

10、使用访问修饰符限定 ,这一机制称为 。(类的接口,封装)

11、遵循LSP的继承形式包括特化继承,,接口继承和。(扩展继承,多继承)

三、程序填空(每题3分,共3×10=30分)

1、给定代码

1.    public static int test_a1 (int[]  arg){

2.        int sum=0;

3.        for(intx : arg){

4.            if( x % 3 == 0 ) sum += x;

5.        }

6.        return sum;

7.    }

则test _a1 (new int[]{ 1 , 2 , 3, 4 , 5, 6})的返回值是。

2、 给定代码

1.        public static boolean test_a2(String  s){

2.            String str = new String("abc");

3.            return str==s;//str.equals(s);

4.    }

则test _a2 ("abc")的返回值是。

3、给定符号函数代码

1.        public static  int sign(int i){

2.            int  x;

3.            if (i<=0)

4.                if (i<0)

5.                    x=-1;

6.                else x=0;

7.            else x=1;

8.            return x;

9.    }

则使用条件表达式简化上面的代码为

publicstatic  int sign(int i){

return ;

}

4、给定类层次

  1. package OO;
  2. import static tips.Print.pln;//System.out.println
  3. public class Sup{
  4. public void show(Sup obj)    {pln("Sup/Sup"); }
  5. }
  6. package OO;
  7. import static tips.Print.pln;
  8. public class Sub extends Sup{
  9. @Override public void show(Sup obj) {pln("Sub/Sup"); }
  10. public void show(Sub obj){pln("Sub/Sub"); }
  11. }

则执行下面代码的输出为

public static void main(){

Sub f =new Sub();

f.show(f);

}

5. 给定代码

  1. package OO.init;
  2. import static tips.Print.pln;//System.out.println
  3. public class Person{
  4.     private int age ;
  5.     public Person(){
  6.         this(0);
  7.     }
  8.     public Person(int age){
  9.         this.age = age;
  10.     }
  11.     public static void main(String[] args) {
  12.         Person p = new Person(10);
  13.         System.out.println(p.age);
  14.     }
  15. }

执行main的输出为 。

6、给定代码

  1. package OO.init;
  2. import static tips.Print.pln;//System.out.println
  3. public class SuperClass{
  4.     private int x;
  5.     public SuperClass(){ pln("sup-no-arg"); }
  6.     public SuperClass(int x){ pln("sup-int");}
  7. }
  8. class Sub extends SuperClass{
  9.     private int y;
  10.     public Sub(){pln("sub-no-arg");    }
  11.     public Sub(int y){ pln("sub-int");}
  12.     public static void main(String[] args) {
  13.         new Sub();
  14.     }
  15. }

执行main的输出为

7、给定代码

  1. package OO;
  2. public class X{
  3.     public int add( int i){
  4.         return i++;
  5.     }
  6.     public static void main(String[] args) {
  7.         int i =8;       
  8.         int k = new X().add(i);
  9.         System.out.println(i+" "+k);
  10.     }
  11. }

执行main的输出为 。

8、下面程序的功能是递归求阶乘,请填空

  1.     public static long  factorial (int n){
  2.         long x;
  3.         if (n<0 || n == 0)  x=1;
  4.         else  x=;
  5.         return x;
  6.     }

9、给定代码

  1. public interface Playable{
  2.     public String play();
  3. }
  4.  
  5. public interface Game{
  6.     default public String play(){
  7.         return "play Game";
  8.     }
  9. }
  10.  
  11. public class Ball{
  12.     public String play(){
  13.         return "play Ball";
  14.     }
  15. }
  16. class Football extends Ball implements Playable, Game{}
  17.  
  18. public class Student{
  19.     static void test(){
  20.         Game p =new Football();
  21.         System.out.println(p .play());
  22.     }   
  23. }

执行test的输出为 。

10、下面程序的功能是打印表中各元素,请填空

  1. package typeSystem.generics;
  2. import static tips.Print.*;
  3. import java.util.List;
  4. import java.util.*;
  5. public class GenericsBasic{
  6.     static void test(){
  7.         List<String> myList = Arrays.asList("a1", "a2","a1");
  8.         for(){
  9.             pln( x );
  10.         }
  11.     }   
  12. }

四、程序设计题(第1题10分,第2题20分,共30分)

1、在包zoo中,编写一个动物/Animal接口,它有方法move(),其实现类Dog、Bird在改写move()时,简单打印"狗在跑"等。

测试类Test有实例方法test(Animala),在其中调用a的move();在测试类的main方法中,分别创建Dog、Bird的对象,并作为实际参数调用test(Animal)。(10分)

2、功能抽象的一个重要方面,编写一般性方法。

(1)编写Test类,在其sum方法中计算[a,b]间自然数的和。(2分)

下面给定的代码为通用求和方法

  1. package templateMethod;
  2. public abstract class Sum{
  3.     public final double getSum(int a,int b){ //求和函数
  4.         double sum=0;
  5.         for(int i =a;i<=b; i=next(i)){
  6.             sum+=item(i);
  7.         }
  8.         return sum;       
  9.     }
  10.     public abstract int next(int i) ;
  11.     public abstract double item(int x);
  12. }

(2)编写Sum的子类Sum_cubes,override/改写 Sum中的方法,完成的功能是计算[a,b]间自然数的立方和。(4分)

(3)将Sum类的两个抽象方法封装为2个(函数)接口NextInterface和ItemInterface,在Sum类是基础上重构得到MySum类,并编写其方法(6分)

  1. public final double getSum(int a,int b,NextInterface iNext,ItemInterface iItem)

(4)编写测试类Client的main()方法,其中

l       定义Sum的匿名类,并调用其getSum(2,10),以计算[2,10] 间自然数的平方和;

l       以lambda表达式为MySum的getSum方法的实参,计算[1,100]间自然数之和。 (8分)


按照yqj2065的想法,这种考试就是让大家顺利通过的。送分题占70以上。

我在Java程序设计 中不搞什么名词解释、判断题、简答题...除了避免死记硬背,主观题在下一阶段学习中才有意义。

注:1-15没有错误答案,都可以,但是我想看看有多少人选择 类层次。

Java程序设计 试卷A相关推荐

  1. 专科java程序设计试卷_java程序设计试卷(含答案)

    ----------------密----------------封----------------线----------------- 年级: 层次: 专业: 学号: 姓名: 2015年春季学期 & ...

  2. 苏大JAVA题库_苏州大学Java程序设计课程试卷含答案(B)

    苏州大学Java程序设计课程试卷(B)卷及参考答案共6页 一.选择题(2分*25= 50分) 1.Java语言的最大优点是:它是一种( C )的程序设计语言. A) 安全性 B) 多线性 C) 跨平台 ...

  3. 福州大学java期末试卷2012_福州大学 07Java语言程序设计试卷(A卷).doc

    福州大学 07Java语言程序设计试卷(A卷) 专业: 姓名: 学号: ==================================== 密 封 线 ===================== ...

  4. java期末试题c卷,JAVA程序设计期末考试试卷及参考答案

    <JAVA程序设计> 期末考试试卷 考生注意:1.本试卷满分100分. 2.考试时间90分钟. 3.卷面整洁,字迹工整. 4.填写内容不得超出密封线. 总分题号一二三四五六 核分人题分21 ...

  5. 福州大学java期末试卷2012_福州大学_java程序设计期末a卷.doc

    福州大学_java程序设计期末a卷.doc 第1页共17页福州大学2007-2008学年第一学期考试A卷课程名称Java程序设计考试日期2008.1.14考生姓名学号专业或类别题号一二三四五总分题分3 ...

  6. java创建榨汁机_苏州大学Java程序设计课程试卷含答案(B)

    苏州大学Java程序设计课程试卷含答案(B) 文章<苏州大学Java程序设计课程试卷含答案(B)>是由[作文仓库]的会员[上山豹,下山虎i]为大家整理并分享的,仅供大家参考,欢迎阅读! 苏 ...

  7. Java web对试卷进行单选多选答题进行打分_2020年大学慕课Java程序设计作业答案...

    2020年大学慕课Java程序设计作业答案 更多相关问题 [单选] 单元测试内容不包括().[单选] 在一个列车控制软件的需求文档中,我们发现了以下两条需求描述:"列车车门在两个停靠站之间要 ...

  8. JAVA程序设计课程考试试卷专升本考研期末考试真题参考题目(二)

    一.选择题 1.编译下列源程序会得到哪些文件?( D ) class A1{ } class A2{ } public class B{ public static void main(String ...

  9. java程序运行结果题_(Java程序设计)试题

    装 订 线 内 不 答 题 要 二.多选题 (每题2分,共10分) . A.Java 语言是面向对象的.解释执行的网络编程语言. B.Java 语言具有可移植性,是与平台无关的编程语言. C.Java ...

最新文章

  1. 推荐11个第2职业挣大钱的公众号!第5名一年涨8万粉丝!
  2. 圆形和多边形雷达图python-Matplotlib绘制雷达图和三维图的示例代码
  3. [转]iis部署php项目
  4. 【数据结构与算法】之深入解析“砌墙”的求解思路与算法示例
  5. 看动画学算法之:二叉搜索树BST
  6. 在局域网访问_局域网访问共享文件需要密码怎么办?取消访问密码的方法
  7. python循环引用是什么_细说Python的循环调用、循环引用和循环导入
  8. python copy
  9. Eclipse中文乱码解决汇总(应该比较全):
  10. 2021最新Java面试笔试,Java篇
  11. Cents7通过rpm安装mysql
  12. 常见的磁盘格式以及它们之间的区别
  13. 未来的计算机能帮人类炒股,未来计算机能帮人类炒股吗
  14. python大驼峰_匈牙利法、大小驼峰法(两种编程命名规则)
  15. phpredis中文手册《redis中文手册》php版
  16. 用python创建widows窗口
  17. Wordpress响应式Git主题/响应式CMS主题模板
  18. 随便输入两个单词,两个单词之间以空格隔开,输出时每个单词的首字母变为大写。如输入:“hello java”,输出为“Hello Java”
  19. mount:special device does not exist (a path prefix is not a directory)
  20. 五分钟学Java:可变参数究竟是怎么一回事?

热门文章

  1. RTX3090 GPU环境配置
  2. 在使用计算机时可以用什么键关机,计算机快捷键怎么用(按什么),关机、睡眠等?...
  3. 如何将音视频中的伴奏背景音乐和人声分离?
  4. c#为什么用的人很少
  5. 计算机专业为什么不用amd,为什么网吧电脑很少用AMD处理器?
  6. python valueerror object2_Python使用json.loads 报错 ValueError: No JSON object could be decoded的解决方法...
  7. Python之解决tkinter.PhotoImage不显示图片的问题 Python3
  8. Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博
  9. The Preliminary Contest for ICPC Asia Xuzhou 2019
  10. 毛远丽教授谈机器学习技术在检验医学中的新应用|专家论坛