一.简答题。
1. 程序执行方式有两种,试比较解释方式和编译方式的优缺点
优点
缺点
解释
方式
可以快速进行测试:使用解释型语言编写程序时,可以立即进行测试,出错误并修正,然后再试;
运行速度比其他程序慢;
编译
方式
它尽可能地对程序进行优化,使其高效运行。编译后的程序不需要解释器就可直接运行,且运行速度比解释型程序快;
但测试起来需要更多的时间。在测试前,需要编写并编泽程序。发现错误并修改后,必须重新编译,以确定错误是否已消除;
2. 简述Java的特点
Java的特点有:简单性;面向对象;跨平台性;健壮性;安全性;可移植性;多线程性;动
态性。
3. Java有哪些基本数据类型,它们的关键字和字长以及变量的默认值是什么?
数据类型
类型名
位长
默认值
取值范围
布尔型
boolean
1
false
true,false
字节型
byte
8
0
-128~127
字符型
char
16
'\u0000'
'\u0000'~'\uffff'
短整型
short
16
0
-32768~32767
整型
int
32
0
-2,147,483,648~2,147,483,647
长整型
long
64
0
-9,223,372,036,854,775,808~
9,223,372,036,854,775,807
符点型
folat
32
0.0
1.4E-45~3.402 823 5E+38
双精度
double
64
0.0
4.9E-324~1.797 693 134 862 315 7E+308
4. 面向对象程序设计与面向过程程序设计有哪些不同?
        从思维方式角度看,面向过程编程注重用功能构造系统,思维方式更贴近于计算机逻辑。而面向对象编程则注重从现实世界中的客观存在建立系统,强调直接以问题域中的事物为中心思考问题和认识问题,并根据这些事物的本质特征和系统责任,把它们抽象为系统中的对象,用对象作为系统的基本构成单位。
从程序构造角度看,在过程性语言编写的程序中,待处理的数据和处理数据的方法分散在程序的各个地方。而面向对象语言编写的程序中,待处理的数据和处理数据的方法都放在同一实体(entity)(程序模块)中,形成“封装”。通过封装,可以最大限度的实现代码重用,减小数据的依赖性,从而解决面向过程语言中存在的问题。
5. 什么是访问控制修饰符?访问控制修饰符的种类有哪些?它们各有什么作用?
        修饰符是用于限定类对象使用的权限,从而实现类中成员的信息隐藏。访问修饰符适用于类成员,而不是方法内部的局部变量。Java常见的访问修饰符有这4种:privatedefaultprotectedpublic
    public  可以被所有的类访问
    pravite 只能被类本身访问,其他类无法访问
    protected 可以被类本身、它的子类(包括同一个包中以及不同包中的子类)
default 属于默认的访问状态,可以被类本身和同一个包中的类访问
6. 类变量和实例变量有哪些不同?
        在定义成员变量时,如果用static修饰符修饰,则该变量是类变量(也称“静态变量”),否则是实例变量。
        类变量的本质特点是:它是类的变量,不属于类的任何一个具体对象。它保存在类的内存区域的公共存储单元。类的任何一个对象对类变量的存取都是对同一个内存单元进行操作。
    与类变量相对,实例变量属于类的某个具体的对象。它在类的每个对象的内存区域中都保存一份。类的任何一个对象对实例变量的存取都是对自己内存区域内保存的实例变量的副本进行操作。
7. 类方法和实例方法有哪些不同?
        类方法不针对特定的对象,所以在没有创建对象之前可以执行。但是在类方法中只能访问类变量和类方法,而不能访问实例变量和实例方法。
        实例方法则只能针对特定的对象执行,因此,如果任何对象都不存在,则也就没有可以执行的实例方法。
    另外,尽管实例方法专用于类中的对象,但在内存中也只有一份实例方法,供类中的所有对象共享。因为为每个对象都复制一份实例方法的代价太大了。系统中有一种专门机制来保证:每当通过对象调用一个实例方法时,代码都按照专用于某个对象的方式运行。
8. 重载和覆盖有什么区别?
        “覆盖”与“重载”均是Java“多态”(polymorphism)的技巧之一。它们又不同之处:
        重载:英文名称是overloading,它是在相同类内,定义名称相同,但参数个数或类型不同的方法。编译器会根据实参的个数和类型,确定调用哪个方法。
    覆盖:英文名称是overriding,它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以改写父类方法的功能。
9. 什么是接口?接口与类以及抽象类之间有什么区别和联系?
    接口是一种完全没有实现的类,在接口中只包含了抽象方法和常量的定义。与类不同的是,接口的定义使用interface关键字,而类定义使用class关键字。从本质上讲,接口是一种特殊的类,这种类中只包含常量和方法的定义,没有变量和方法的实现。
    用修饰符abstract修饰的类称为抽象类。抽象类专门用于继承,不能实例化。抽象类中一般都含有抽象方法,同时也可以含有一般的变量和方法。这与接口不同。
二.填空。
1. Java程序分为两种,一种是__小应用程序___,另一种是__应用程序__
2. 开发一个Java程序有三个步骤,依次是__编辑___编译___运行___
编程语言有哪几种类3. a, b 都是整型变量,a=12b=8,则表达式a!=b的值为__true_,表达式(a<10&&a>
10?a:b)的值为_8____
4. 面向对象编程的三个基本特征是_封装性__继承性__多态性_
5. this引用实际代表的是__当前类或对象本身_super引用代表的是__父类__
6. 抽象方法只能有方法的__声明部分__,不能有_实现部分_
7. 创建对象的时候,new操作符为对象分配内存后,将调用类的_构造方法_,确定对象的初始状态。
8. 设有如下语句,
String s1="hello";
s1=s1+" world!";
s1的值是__hello world!__
9. int类型的数据占用存储空间是_32_
10. Java表示逻辑值的基本数据类型,称为_布尔型_
11. 自动类型转换的原则是把级别___的变量转换为级别___的变量
12. 假若 int x=10; float y; y=x;这时y的值为_10.0_
13. 数组是一组相同类型变量的集合,其下标是从_0_ 开始算的
14. 一个类是类声明和_类描述_两部分组成。
15. 创建一个名为 MyPackage 的包的语句是_package MyPackage_
16. Java 程序可以分为 Application Applet 两大类,能在 WWW 浏览器上运行的是 _Applet_
17. Java中有5种算术运算符,分别为加、减、乘、除以及_求模__
18. do-while语句与while语句的区别在于先执行循环体中的语句再计算条件表达式, 所以do-while语句的循环体至少被执行_1_ 次。
19. Java程序用{ }将多条语句组合在一起,语句之间必须用_____隔开。
20. 要编译一个文件名为TestJava源程序,需在命令控制台窗口输入编译命令__javac Test.java__
21. 通常类名可由字母、数字、下划线以及美元符号组成,但类名的第一个字符不能是_数字__
22. Java定义了8个基本数据类型:字节型、短整型、整型、长整型、字符型、布尔型、单精度浮点型和__双精度浮点型_
23. Java中,两个连续等号(==)是比较运算符,那么一个等号是__赋值_运算符
三.单项选择题。
1. 下面不是Java关键字的是(D Dsubclasses
2Java语言用于定义接口的关键字是( B )(Binterface
3.下面哪个是合法的布尔类型声明( C C. boolean b3=false;
4.关于主类的叙述正确的是( D )(A)源程序文件中定义的第一个类是主类(B)源程序文件中定义的最后一个类是主类(C)一个源程序文件中至多有一个类是主类(D)以上说法都不对
5.下面选项中,均是不合法的用户标示法的选项是( C )(Cb-a        try        int
6.设有以下程序段
if(x>0) { System .out .println(first);}
else if(x<10) { System .out .println(second);}
else { System .out .println(third) }
当程序输出“second”时,x的范围为(A)(Ax < = 0
7.以下运算符中优先级最低的是(A)(A? :   
8.下面可以调用void set(int xint y)方法选项是(C)(Cset(1025)
9.设有以下程序,在不合法的调用语句是(C Cobj1.show2();
class A {
    void show1() {
        System.out.println("a");
    }
}
class B extends A {
    void show2() {
        System.out.println("b");
    }
}
public class Cmy {
    public static void main( String args[] ) {
        A obj1=new A();
        B obj2=new B();
       
    }
}
Cobj1.show2();
10.没有访问控制修饰符的成员变量被自动视为(D)(Dpackage变量
11. 下列选项中哪个是将一个十六进制值赋值给一个long型变量的正确方法(
(D) long number = 0x345L;
12. 下面初始化数组的语句中,不正确的是:( (D) int x[] = new int[]{8,5,6,4};
13. 下面的代码段中,执行之后i j 的值是什么? B (B) 2, 3
int i =3;
    int j;
    j = i--; (B) 2, 3
14. 下列关于构造方法的叙述中,错误的是( (C)  Java语言规定构造方法不可以重载
15. 下列关于修饰符混用的说法,错误的是(D Dstatic方法中能处理非static的属性
16. 运行下面程序段的结果是:( B
public class MyMain{
  public static void main(String args){
  String a = !;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。