一、选择题(每题2分,共40分)

1.下面哪个是Java语言中正确的标识符(C )

a)      3com        b)import        c)that d)this

2.下面哪个语句(初始化数组)是不正确的: ( B  )

a)      Int x[]={1,2,3}                 b)int x[3]={1,2,3}

C)  String[] x=new String[]{“a”,”c”}   d) int x[]=new int[]{1,2,3};

3.下述概念中不属于面向对象方法的是(  D )

a)      对象         b)继承多态     c)封装     d)过程调用

4.下面代码中,执行之后i 和j 的值是什么? ( B )

int i=1;

int j;

j= i++ * 2+ 3* --i;

A) 1,2   b)  1,5    c )2,1    d) 2,2

5. 下面关于java中类的说法哪个是不正确的?(  C )

A.类体中只能有变量定义和成员方法的定义,不能有其他语句。

B.构造函数是类中的特殊方法。

C.类一定要声明为public的,才可以执行。

D.一个java文件中可以有多个class定义。

6、给出下面代码:

public class Person{

static int arr[] = new int[10];

public static void main(String args[])

{

System.out.println(arr[1]);

}

}

哪个语句是正确的?(   B )

A.编译时将产生错误;                       B.输出零;

C.编译时正确,运行时将产生错误;              D.输出空

7、编译并运行以下程序段的结果是:(A )

public class MyClass{

final static int i;

public MyClass(){

i =0;

}

public static void main(String args[]){

System.out.println(i);

}

}

A.编译出错    B、null    C、1      D、0

8、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:

1)A a0=new A();

2)A  a1 =new B();

3)A a2=new C(); 问以下哪个说法是正确的?(D)

A.只有第1行能通过编译

B.第1、2行能通过编译,但第3行编译出错

C.第1、2、3行能通过编译,但第2、3行运行时出错

D.第1行、第2行和行的声明都是正确的

9.构造方法何时被调用(B    )

A.类定义时       B.创建对象时

C.调用对象方法时    D.使用对象的变量时

10、下面哪项可以得到数组元素的个数,

java中定义数组名为abc,(B )

A、abc.length( )  B、abc.length  C、len(abc) D、ubound(abc)

11、下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C   )

A、protected     B、static     C、private D、public

12、定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( C )

A. private class MyClass extends Object

B. class MyClass extends Object

C. public class MyClass

D. protected class MyClass extends Object

13、对象使用时,下面描述错误的是( B )

A.通过“.”运算符调用成员变量和方法

B.通过成员变量的访问权限设定限制自身对这些变量方法的调用

C.将一个对象申明为类的成员时,必须在使用前为其分配内存

D.在方法中使用对象作为参数时,采用引用调用

14、下面代码哪行会引起错误?( D )

1) class Parent {

2) private String name;

3) public Parent(){}

4) }

5) public class Child extends Parent {

6) private String department;

7) public Child() {}

8) public String getValue(){ return name; }

9) public static void main(String arg[]) {

10) Parent p = new Parent();

11) }

12) }

A、第3行   B、第6行   C、第7行    D、第8行

15.关于被私有保护访问控制符protected修饰的成员变量,以下说法正确的是? ( A  )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B. 可以被两种类访问和引用:该类本身、该类的所有子类

C. 只能被该类自身所访问和修改    D.只能被同一个包中的类访问

16---17 (多选)

16.对于构造方法,下列叙述正确的是:(AC   )

A. 构造方法的方法名必须与类名相同;

B. 构造方法必须用void申明返回类型

C. 构造方法可以被程序调用

D. 若编程人员没再类中定义构造方法,程序将报错。

17.下面是有关子类继承父类构造函数的描述,其中正确的是:(CD   )

A. 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B. 子类可以不调用父类的构造函数

C. 子类必须通过super()关键字调用父类的构造函数

D. 子类无法继承父类的构造函数。

18. Java中(  C )

A) 一个子类可以有多个父类,一个父类也可以有多个子类

B) 一个子类可以有多个父类,但一个父类只可以有一个子类

C) 一个子类可以有一个父类,但一个父类可以有多个子类

D) 上述说法都不对

19.关于以下application的说明,正确的是(    C       )

1.  class   StaticStuff

2. {

3.                  static  int  x=10;

4.                  static  { x+=5;}

5.                  public  static  void  main(String  args[ ])

6.                  {

7.                       System.out.println(“x=” + x);

8.                  }

9.                  static  { x/=3;}

10.   }

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

  1. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(   C    )

class  A{

int  i;

static  String  s;

void  method1() {   }

static  void  method2()  {   }

}

A、System.out.println(a.i);B、a.method1();  C、A.method1();  D、A.method2()

二、填空题(每空2分)

2.Java程序在extends之后只能有一个父类,即extends只能实现 单根     继承。

3.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为  类名称.class

4.构造方法是一个特殊的方法,主要用于创建对象时初始化对象。构造方法的方法名要求与   类名称    相同,而且无返回值,构造方法无返回值,并不是要在构造方法名前加上  void 。

三、简答题(每道题5分)

a)  .简述break和continue语句在使用时的区别?

b)  .什么是类?什么是对象?类和对象有何联系?

c)  方法的重载和方法的覆盖有什么不同?

d)  .类变量和实例变量有何区别?

e)  Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?

f)  说明对象的基本概念和主要特征?

g)  什么是包?为什么要使用包?

h)  定义一个学生类Student,包括如下属性:学生学号、姓名、年龄、专业、年级等,要求类中定义构造函数初始化学生类中的属性信息,定义方法Display用于输出学生信息,并编写main函数,创建学生对象,通过对象调用相关方法。

四、程序题(写出主要步骤)(每道题5分)

1.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

main()

{ 
int i,j,k,n;
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
 System.out.print(n);
}
}

2..打印如下图形:

i)  *

j)  ***

k)  *****

l)  *******

m)  *********

简答题答案:

1.什么是类?什么是对象?类和对象有何联系?

1. 答:在面向对象程序设计里,类是定义一个对象的属性和方法的蓝本。对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。类是对象的模板,对象是类的实例,可以从一个类中创建许多对象。

2.方法的重载和方法的覆盖有什么不同?

2. 答:方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。

3.类变量和实例变量有何区别?

答:由static修饰的变量称为类变量,当系统在程序中第一次遇到一个类时,便会拷贝一份所有的类变量在内存里。然后那些由此类产生的实例便可分享这些类变量。  实例变量指不是用static修饰的变量,可供实例方法使用。实例变量会复制于每一个从类产生的实例中。

4.Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?

答:成员变量的修饰符有public、protected、private、static、final。Public修饰符的限定范围最大。

5.说明对象的基本概念和主要特征?

对象是对客观世界实体及其实体关系的抽象。特点:(1)以数据为中心;(2)实现了数据封装;(3)模块独立性好;(4)对象是主动的;(5)本质上具有并行性。

.Java 包(package),为了更好地组织类,Java提供了包机制,用于区别类名的命名空间
包的作用
1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
Java使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)。

Java测试(二)的更多相关文章

  1. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  2. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

  3. 浅谈Java代理二:Cglib动态代理-MethodInterceptor

    浅谈Java代理二:Cglib动态代理-MethodInterceptor CGLib动态代理特点: 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生 ...

  4. java 生成二维码、可带LOGO、可去白边

      1.准备工作 所需jar包: JDK 1.6: commons-codec-1.11.jar core-2.2.jar javase-2.2.jar JDK 1.7: commons-codec- ...

  5. java 生成二维码后叠加LOGO并转换成base64

      1.代码 见文末推荐 2.测试 测试1:生成base64码 public static void main(String[] args) throws Exception { String dat ...

  6. Java实验二实验报告:java面向对象程序设计

    java实验二实验报告 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计模式 实验 ...

  7. java代码生成二维码

    java代码生成二维码一般步骤 常用的是Google的Zxing来生成二维码,生成的一般步骤如下: 一.下载zxing-core的jar包: 二.需要创建一个MatrixToImageWriter类, ...

  8. Java面试题总结之Java基础(二)

    Java面试题总结之Java基础(二) 1.写clone()方法时,通常都有一行代码,是什么? 答:super.clone(),他负责产生正确大小的空间,并逐位复制. 2.GC 是什么? 为什么要有G ...

  9. java 测试框架 TestNG

    Java中print.printf.println的区别 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和prin ...

  10. Android APP压力测试(二)之Monkey信息自动收集脚本

      Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 上一篇Monkey介绍基本搬抄官方介绍,主要是为了自己查阅方便.本文重点介绍我在进行Monkey时如何自动收集相关信息 ...

随机推荐

  1. Romantic HDU - 2669(扩欧)

    #include<bits/stdc++.h> using namespace std; typedef long long LL; void gcd(LL a, LL b, LL &am ...

  2. springboot整合websocket原生版

    目录 HTTP缺点 HTTP websocket区别 websocket原理 使用场景 springboot整合websocket 环境准备 客户端连接 加入战队 微信公众号 主题 HTTP请求用于我 ...

  3. (三)c#Winform自定义控件-有图标的按钮

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  4. centos7 yum搭建lnmp环境及配置wordpress超详细教程

    yum安装lnmp环境是最方便,最快捷的一种方法.源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能.目前来说,yum安装基本满足我们搭建web服务器的需求. 本文是我根据近期 ...

  5. 5G标准公布,你很快又要换手机了

    通常,在4G网络环境下,下载一部1G的电影只需要30秒时间,对于经历过2G和3G网络的我们来说已经非常快了. 但是听说,5G环境中下载一部同样的电影,根本不是用秒来计算的,甚至有外媒说,5G的速率会是 ...

  6. Rikka with Game[技巧]----2019 杭电多校第九场:1005

      Rikka with Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Othe ...

  7. C#/Java 动态生成电子发票

    电子发票是电商时代的产物,PDF发票是最常见的电子发票之一.在这篇文章中,我将给大家分享一个免费的动态生成PDF电子发票的C#方案,并在文章末尾附上Java解决方案. 典型的发票包含客户和供应商的名称 ...

  8. c中自增自减的妙用

    #include <stdio.h> int main() { ; printf("%d,%d,%d,%d",i++;i--;++i;--i); /*运算从右往左运算 ...

  9. bootstrap-datetimepicker时间插件使用

    html头部引入相关的js和css <link rel="stylesheet" type="text/css" href="css/boots ...

  10. 纯css的滑块开关按钮

    之前在项目中使用滑块开关按钮,纯css写的,不考虑兼容低版本浏览器,先说下原理: 使用 checkbox 的 选中 checked 属性改变css 伪类样式, 一定要使用-webkit-appeara ...