JAVA习题集
- 格式:doc
- 大小:163.00 KB
- 文档页数:11
1.1 习题一、填空题1、Java的三大体系分别是______、______、______。
2、Java程序的运行环境简称之为______。
3、编译Java程序需要使用______命令。
4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的______目录下。
5、______环境变量用来存储Java的编译和运行工具所在的路径,而______环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。
二、判断题1、通过Java虚拟机可以在不同的操作系统上运行Java程序,从而实现跨平台特性。
2、JRE中又包含了Java基础类库、JVM和开发工具。
3、Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。
4、java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等。
5、Java语言和C语言一样,是面向过程的语言。
三、选择题1、以下选项中,哪些属于JDK工具?(多选)A、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?A、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?A、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;四、简答题1、简述Java的特点。
2、简述JRE与JDK的区别。
3、简述Java的运行机制。
JAVA习题锦集(含答案)一、判断题1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数3.(×)A subclass inherits all methods ( including the constructor ) from the superclass4.(×)Java中所有的类都是ng的子类5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址6.(×)abstract方法不一定要声明在abstract类中7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目10.(×)最终方法只能存在于最终类中二、单选题1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B(A)安全性(B)多线性(C)跨平台(D)可移植2、下列选项中不是JAVA语言特点的是()D(A)面向对象(B)平台无关(C)安全性高(D)单线程3、异常包含下列那些内容?()D(A)程序中的语法错误(B)程序的编译错误(C)程序执行过程中遇到的事先没有预料到的情况(D)程序事先定义好的可能出现的意外情况4、JAVA语言中的语句是以()为结尾的。
B(A)句号(B)分号(C)双引号(D)逗号5、下列选项中,哪一个是打印语句的正确表达式:()A(A)System.out.println(); (B)System.out.Println();(C)System.Out.print(); (D)System.Out.println();6、下列哪一个是合法的JAVA语句标示符()C(A)#xyz (B)10Year (C)_Hello (D)@yahoo7、下列哪一个是JAVA语言的关键字()B(A)hello (B)void (C)num_01 (D)abc8、关于数据类型转换下面描述错误的是()D(A)当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值(B)byte类型数据可以转换为short,int,long类型数据(C)long类型数据有可能转换为byte,short,int类型数据(D)在语句int i=(int) 78.67;中,变量i的值为799、下列定义String变量s的语句中,错误的是()A(A)String s=new “Yes!”;(B)String s=new String(“yes!”) ;(C)String s; (D)String s=”Yes!”;10、下列关于注释语句的描述错误的是()DA、多行注释语句的内容,从/*开始,到*/结束B、多行注释语句也可以是单行语句C、文档注释语句的内容,从/**开始,到*/结束D、单行注释语句的内容,从//开始,以分号为结尾句11、定义一个长整型变量a的语句是()DA、int a ;B、a long ;C、float a ;D、long a;12、下列哪个是反斜杠字符的正确表示()AA、\\;B、*\\;C、\;D、\’\’;13.Main()方法的返回类型是()BA、intB、voidC、booleanD、static14. 编译运行以下程序后,关于输出结果的说明正确的是()Bpublic class Con{public static void main(String args[ ]){int x=2;System.out.println(“value is “+ ((x<1) ?22:2));}}A、输出结果为:value is 22.2B、输出结果为:value is 2C、输出结果为:value is 2.0D、编译错误15.给出下面代码:public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[10]);}}那个选项是正确的?()AA、编译时将产生错误;B、编译时正确,运行时将产生错误;C、输出零;D、输出空。
《JA V A程序设计》习题集及参考答案一、填空题1.Java是面向对象的解释型的高级编程语言,其程序源代码的扩展名为.java生成的字节码文件名的扩展名为.class,Java解释器把各种平台间的差异隐藏起来,这种由解释器包裹起来的完整的软硬件平台称为Java 虚拟机。
2.Java Application 是独立、完整的程序,在命令行调用独立的解释器软件(java.exe)即可运行,其程序主类必须有一个main()方法,完整的方法头为public static void main(String aegs[]) 。
3.把方法看作是数据的特性,而不把数据和方法分开,JA V A正是体现了这种建立面向对象系统过程中重要步骤的思想.。
4.建立类类型的变量(引用)后,系统只分配引用空间,程序员要调用new来创建对象实例,然后才分配相应的存储空间。
5.如果需要在同一类中书写多个方法,让它们对不同的变量进行同样的操作,就需要重载方法名。
如果子类中定义方法所用的名字、返回类型和参数表和父类中方法使用的完全一样,称子类方法覆盖了父类中的方法。
覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。
6.容器中组件的位置由容器的布局管理器决定,容器不仅可以容纳组件,还可以容纳其它容器这一点非常重要,由此可以设计出复杂的图形用户界面布局。
7.Java抽象窗口工具中提供了多种容器,其中最重要的两种是框架和面板。
8.JDK1.1引入了委托模型处理机制,组件必须注册一个事件处理程序,事件对象只传递给已经注册的监听程序,每种事件都有一个对应的监听程序类以实现相应的监听程序接口,并定义了事件对象的接收和处理方法。
9.异常处理的重要性在于,程序不但要发现异常,还要捕获异常并编写代码来处理10.类是同种对象集合的抽象,而属于类的某一个对象则被称为是类的一个实例,对象是具有状态、行为、标志三种属性的计算机软件结构。
11.用户自己定义的Applet子类是Java Applet的标志。
java集合练习题(打印版)# Java集合练习题## 一、选择题1. 下列哪个不是Java集合框架中的一部分?A. ArrayListB. LinkedListC. HashMapD. MyCollection2. 在Java中,哪个接口提供了对集合元素的迭代访问?A. CollectionB. IteratorC. ListD. Set3. Java集合框架中的哪个类是线程安全的?A. ArrayListB. LinkedListC. HashMapD. Vector4. 以下哪个方法用于判断一个集合是否包含特定的元素?A. add()B. contains()C. remove()D. size()5. 以下哪个方法用于获取集合中的元素个数?A. add()B. contains()C. remove()D. size()## 二、简答题1. 解释ArrayList和LinkedList的主要区别。
2. 描述HashMap的工作原理。
3. 为什么在Java中使用迭代器遍历集合是安全的?## 三、编程题1. 题目:创建一个ArrayList,添加5个整数元素,并打印出这些元素。
```javaArrayList<Integer> list = new ArrayList<>();// TODO: 添加元素并打印```2. 题目:使用LinkedList实现一个简单的队列,添加3个元素,并按顺序打印出来。
```javaLinkedList<Integer> queue = new LinkedList<>();// TODO: 添加元素并打印```3. 题目:创建一个HashMap,存储学生的名字和分数,然后遍历HashMap并打印每个学生的名字和分数。
```javaHashMap<String, Integer> studentScores = new HashMap<>();// TODO: 添加学生分数并打印```4. 题目:实现一个程序,使用HashSet存储一组整数,然后检查并打印一个给定整数是否在HashSet中。
一、简答题1、简述计算机语言的主要分类。
Java语言的主要贡献者是谁?2、面向对象的开发方法与传统的面向过程的开发方法有什么不同?3、什么是虚拟机,什么是Java运行环境?4、Java 程序是由什么组成的?Java 源文件的命名规则是怎样的?5、Java 程序分为哪两大类,它们之间有哪些相同点?主要区别有哪些?6、简述Java应用程序和Java小应用程序各用什么方式解释运行的?7、什么是对象、类和实体?它们之间的关系如何?8.类的定义中包括那些基本信息?9、静态成员变量与普通成员变量的区别?10、静态成员方法与普通成员方法的区别?11、构造函数特殊在哪里?构造函数什么时候执行?被谁调用?12、什么是方法的重载?二、判断选择填空综合题1、下面哪些标示符不合法?为什么?HelloWorld 2Thankyou _First -Month 893Hellonon-problem HotJava implements $_MyFirst2、以下的选项中能正确表示Java语言中的一个整型常量的是( )。
A) 12. B) -20 C) 1,000 D) 4 5 63、以下选项中,合法的赋值语句是( )。
A) a = = 1; B) ++ i; C) a=a +1= 5; D) y = int ( i );4、若所用变量都已正确定义,以下选项中,非法的表达式是( )。
A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 325、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。
A) 0 B) 4 C) 8 D) –46、在Java语言中,逻辑常量只有true 和___________ 两个值。
7、Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和__________两种具体类型。
java集合-练习题1. 填空Collection 接⼝的特点是元素是___⽆序可重复______;List 接⼝的特点是元素__有__(有|⽆)顺序,_可以___(可以|不可以)重复;Set 接⼝的特点是元素__⽆___(有|⽆)顺序,____不可以__(可以|不可以)重复;Map 接⼝的特点是元素是__key、value 映射______,其中__value__可以重复,_key___不可以重复。
2. (List)有如下代码import java.util.*;public class TestList{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“World”);list.add(1, “Learn”);list.add(1, “Java”);printList(list);}public static void printList(List list){//1for(int i = 0; i< list.size();i++){System.out.println(list.get(i));}for(Object o : list) {System.out.println(o);}Iterator itor = list.iterator();while(itor.hasNext()){System.out.println(itor.next());}}}要求:1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容2) 写出程序执⾏的结果Hello Java Learn World3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪⾥?ArrayList 和LinkedList 使⽤上有什么区别?实现上有什么区别?4) 如果要把实现类由ArrayList 换为Vector,应该改哪⾥?ArrayList 和Vector 使⽤上有什么区别?实现上有什么区别?3. (List)写出下⾯程序的运⾏结果import java.util.*;public class TestList{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“World”);list.add(“Hello”);list.add(“Learn”);list.remove(“Hello”);list.remove(0);for(int i = 0; iSystem.out.println(list.get(i));}}}结果: Hello Learn4. (Set,List)import java.util.*;public class TestListSet{public static void main(String args[]){List list = new ArrayList();list.add(“Hello”);list.add(“Learn”);list.add(“Hello”);list.add(“Welcome”);Set set = new HashSet();set.addAll(list);System.out.println(set.size());}}选择正确答案 CA.编译不通过B.编译通过,运⾏时异常C.编译运⾏都正常,输出3D.编译运⾏都正常,输出45. (List)已知有⼀个Worker 类如下:public class Worker {private int age;private String name;private double salary;public Worker (){}public Worker (String name, int age, double salary){/doc/e4820cecad51f01dc381f11f.html = name; this.age = age;this.salary = salary;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {/doc/e4820cecad51f01dc381f11f.html = name; }public double getSalary(){return salary;}public void setSalary(double salary){this.salary = salary;}public void work(){System.out.println(name + “ work”);}}完成下⾯的要求1) 创建⼀个List,在List 中增加三个⼯⼈,基本信息如下:姓名年龄⼯资zhang3 18 3000li4 25 3500wang5 22 32002) 在li4 之前插⼊⼀个⼯⼈,信息为:姓名:zhao6,年龄:24,⼯资33003) 删除wang5 的信息4) 利⽤for 循环遍历,打印List 中所有⼯⼈的信息5) 利⽤迭代遍历,对List 中所有的⼯⼈调⽤work ⽅法。
JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和( B )特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译Java程序时使用的命令是(B)。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为(C)。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为(B)。
(A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为(D)。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为(C)。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,(B)不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类(A)。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字(C)与异常处理无关。
|A. throwB. throwsC. importD. finally10.在读字节文件时,使用该文件作为参数的类是(D)。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为应用程序接口2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
1.编写程序,用数组实现乘法小九九的存储和输出。
【提示:采用多个一维数组。
】public class Multipation {public static void main(String[] args) {// TODO Auto-generated method stubint x[][]=new int[9][9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(i>=j){int m=i+1;int n=j+1;x[i][j]=m*n;System.out.print(m+"*"+n+"="+x[i][j]);}}System.out.println();}}}2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。
SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。
public class Student {/***@param args*/private int ID;private String name;private float score;public void SetRecord(int ID,String name,float score){this.ID=ID;=name;this.score=score;}public float getRecord(int ID){if(ID==this.ID)return this.score;elsereturn -1;}public static void main(String[] args) {// TODO Auto-generated method stubStudent s=new Student();s.SetRecord(0,"alex",100);float Sco=s.getRecord(0);System.out.print(Sco);}}3.给出上题中设计类的构造函数,要求初始化一条记录(学号、姓名、成绩)。
Java程序设计习题集(含答案)Java程序设计习题集目录一、判断题 ........................................................................... ......- 1 - 二、选择题 ........................................................................... ......- 3 - 三、填空题 ........................................................................... .... - 16 - 四、写出下列程序完成的功能 .................................... - 24 - 五、写出下面程序的运行结果 .................................... - 28 - 六、使用Java语言编写程序 ........................................ - 32 - 七、简答题 ........................................................................... .... - 33 -Java程序设计习题集一、判断题1.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
( F )2.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
( F ) 3.类及其属性、方法可以同时有一个以上的修饰符来修饰。
( T )4.Java的屏幕坐标是以像素为单位,容器的左下角被定为坐标的起点。
( F )(应该是左上角)5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
( F)6.Final类中的属性和方法都必须被final修饰符修饰。
Java语言基础习题集目录第1章作业要求 (2)第2章基本语法 (3)第3章流程控制 (5)第4章函数定义与调用 (6)第5章数组 (8)第6章常用类 (11)第7章面向对象 (13)第8章面向对象进阶 (16)第9章异常处理 (20)第10章数据库操作(JDBC) (22)第11章线程 (25)第12章输入输出流(I/O流) (26)第13章数据库综合作业 (27)第1章作业要求(1)作业必须按要求做完,如果时间不够,可以向老师申请更多作业时间。
(2)作业的代码和文档都必须保留。
在后一阶段的练习中会用到前一阶段的程序。
特别是Java框架中的练习程序一定要保留。
(3)程序代码结构要有缩进,结构清晰。
(4)类名,变量名,方法名要符合规范。
(5)程序要有详细的注释,包括类说明,方法说明,方法中的过程说明,语句说明。
(6)编程题只要在作业文档中标注好是哪个程序名即可,不需要将程序代码拷贝到WORD中。
(7)编程题分为3个级别,L1、L2、L3。
级别定义在每个题目的标题处。
L1级题目需要在Java语言基础课程时做,L2级需要在Java语言中级课程时做,L3级为选做题。
第2章基本语法1.选择题(1)main方法是java Application程序执行的入口点。
关于main方法以下合法的是( )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[])(2)在JDK环境下编译JAVA源程序使用的命令是( )A.javaB. javacC. jvmD. tomcat2.简答题(1)请描述环境变量path的作用。
(2)请描述一个Java应用程序的基本结构包括哪些内容。
(3)应用程序中main方法的作用,请给出正确完整的写法。
1.选择题(单选)1、被声明为private、protected及public的类成员,在类外部:A、只能访问声明为public的成员B、只可能访问到声明为protected和public的成员C、都可以访问D、都不能访问3、下列那个声明是正确的?A、abstractfinalclassHh{}B、abstractprivatemove(){}C、protectedprivatenumber;D、publicabstractclassCar{}4、关于对象成员占用内存的说法哪个正确?()A、同一个类的对象共用同一段内存B、同一个类的对象是用不同的内存段,但静态成员共享相同的内存空间C、对象的方法不占用内存D、以上都不对5、关于this和super,下列说法正确的是()A、都可以在main()方法中使用B、都是指一个内存地址C、不能用在main()方法中D、意义相同6、关于接口下列哪个说法正确?()A、实现一个接口必须实现接口的所有方法B、一个类只能实现一个借口C、接口间不能有继承关系D、接口和抽象类是一回事7、下列那个说法正确:()A、子类只能覆盖父类的方法,而不能重载B、子类只能重载父类的方法,而不能覆盖C、子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法D、重载就是一个类中有多个同名但有不同形参和方法体的方法8、认真阅读下段例程,1)classSuper{2)publicfloatgetNum(){return3.0f;}3)}4)5)publicclassSubextendsSuper{6)7)}下面语句,哪句放在第6行会引起编译错误:()A.publicfloatgetNum(){return4.0f;}B.publicvoidgetNum(){}C.publicvoidgetNum(doubled){}D.publicdoublegetNum(floatd){return4.0d;}9、关于main()方法的说法哪个正确?()A、main()方法只能放在公共类中B、main()方法的头定义可以根据情况任意更改C、一个类中可以没有main()方法D、所有对象的创建都必须放在main()方法中10、关于内部类的说法哪个正确?()A、内部类不能使用外部类的私有属性和方法B、内部类可以广泛使用,不受任何限制C、内部类可以单独编译D、内部类可以使用外部类的私有属性和方法11、在Q2_2类哪些是合法的覆盖(override)?()publicclsssQ2_1{publicvoidmethod(intk){};}classQ2_2extendsQ2_1{____}A、publicvoidmethod(inti){};B、publicvoidmethod(intj,intk){}C、publicfloatmethod(intk);D、privatevoidmethod(intk);12、下面的类中,哪些不是合法的重载(overload)?()publicclassQ1{publicvoidmethod(inti){}}A、privatevoidmethod(inti,intj){}B、publicvoidmethod(intk){}C、privatefloatmethod(floatf){}D、publicStringmethod(inti,intj){}E、publicfloatmethod(floatf){}13、看下面的代码,选择正确的结论()classSuperClass{inti=8;SuperClass(){add(1);}voidadd(intj){i=i+j;}}classSubClassextendsSuperClass{voidadd(intj){i=i+2*j;}}publicclassMainClass{publicstaticvoidmain(Stringargs[]){SuperClassa=newSubClass();System.out.println(a.i);}}A、编译时出现错误B、运行时出现错误C、输出10D、输出814、下面哪些是short型的取值范围()A. –2^7 –2^7-1B. 0 –2^16-1C. 2^15 –2^15-1D. 2^31 –2^31-115、关于方法的形参,下列说法正确的是:()A、必须定义多个形参B、至少有一个C、可以没有D、只能是简单变量16、阅读以下例程,inti=1,j=10;do{if(i++>--j)continue;}while(i<5);此段程序执行后,i和j的值是()A.i=6j=5B.B.i=5j=5C.i=6j=4D.i=5j=6E.i=6j=618、下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的()A. transientB. synchronizedC. serializeD. static19、题目:下面关于变量及其范围的陈述哪些是不对的。
JAVA习题集(含答案)习题一:1. 简述Java的发展过程。
2. 什么是软件?3. 什么叫做源程序?4. 什么叫做编译?5. 什么是Java的byte-codes?它的最大好处是什么?6. 机器语言程序、高级语言程序以及可表示成Java字节码的程序之间的区别是什么?7. Java程序可分为哪两种?分别如何运行?& 试简述J2SE、J2ME与J2EE的简单区别。
9. 练习使用浏览器查看Java API文档。
10. SDK的编译命令是什么?11. 试修改例1-1程序,使其输出的字符串为“I'd like to study Jave”!,并在DOS命令行环境下编译与运行该程序。
习题一参考答案:1. 答:1991: Sun Microsystems公司进军消费电子产品(IA)市场。
1991. 4:Sun成立“ Green”小组,以C++为基础开发新的程序设计语言,并将其命名为Oak。
1992. 10:Green小组升格为First Person公司,他们将Oak的技术转移到Web上,并把Oak改名为Java。
1993~1994: Web在In ternet上开始流行,致使Java得以迅速发展并获得成功。
1995. 5:Sun Microsystems 公司正式发表Java与HotJava 产品。
1995. 10:Netscape与Sun Microsystems 合作,在Netscape Nevigator 中支持Java。
1995. 12:微软(Microsoft )IE加入支持Java的行列。
1996. 2:Java Beta测试版结束,Java 1.0版正式诞生。
1997. 2:Java发展至1.1 版。
Java的第一个开发包JDK (Java Development Kit)发布。
1999. 7:Java升级至1.2版。
2000. 9:Java升级至1.3版。
2001. 7:Java升级至1.4版。
JAVA各章习题及答案-全解第1章Java入门一、选择题1.下列选项中,不属于Java 语言特点的一项是( C )。
(A)分布式(B)安全性(C)编译执行(D)面向对象【解析】Java程序采用解释执行的方法。
在系统编译运行Java程序时,Java编译器将Java程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。
2.在Java语言中,( C )是最基本的元素?(A)方法(B)包(C)对象(D)接口【解析】构成Java程序的基本元素类(抽象的对象)。
3.编译一个定义了3个类和10个方法的Java源文件后,会产生( D )个字节码文件?扩展名是( D )?(A)13个字节码文件,扩展名为.class(B)1个字节码文件,扩展名为.class(C)3个字节码文件,扩展名为.java(D)3个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。
4.在创建Applet应用程序时,需要用户考虑问题是(B )。
(A)窗口如何创建(B)绘制的图形在窗口中的位置(C)程序的框架(D)事件处理【解析】创建Applet程序时必须继承系统类Applet,而Applet类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用户确定。
5.Java语言属于( B )种语言?(A)面向机器的语言(B)面向对象的语言(C)面向过程的语言(D)面向操作系统的语言【解析】Java语言是一种纯面向对象的语言。
6.下列关于Application和Applet程序的说法中不正确的一项是(B )。
(A)Application使用解释器java.exe(B)Application不使用独立的解释器(C)Applet在浏览器中运行(D)Applet必须继承Java 的Applet类【解析】Application程序包含main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
JA V A面向对象程序设计习题集主编姚骏屏目录引言 ....................................................... 错误!未定义书签。
第一章JA V A基础................................... 错误!未定义书签。
一、填空题.......................................... 错误!未定义书签。
二、判断题.......................................... 错误!未定义书签。
三、选择题.......................................... 错误!未定义书签。
四、程序阅读题.................................. 错误!未定义书签。
第二章控制结构................................... 错误!未定义书签。
一、选择题.......................................... 错误!未定义书签。
二、填空题.......................................... 错误!未定义书签。
三、判断题.......................................... 错误!未定义书签。
四、程序阅读题.................................. 错误!未定义书签。
五、编程题.......................................... 错误!未定义书签。
第三章字符串......................................... 错误!未定义书签。
一、选择题.......................................... 错误!未定义书签。
《JA V A程序设计》习题集及参考答案一、填空题1.Java是面向对象的解释型的高级编程语言,其程序源代码的扩展名为.java生成的字节码文件名的扩展名为.class,Java解释器把各种平台间的差异隐藏起来,这种由解释器包裹起来的完整的软硬件平台称为Java 虚拟机。
2.Java Application 是独立、完整的程序,在命令行调用独立的解释器软件(java.exe)即可运行,其程序主类必须有一个main()方法,完整的方法头为public static void main(String aegs[]) 。
3.把方法看作是数据的特性,而不把数据和方法分开,JA V A正是体现了这种建立面向对象系统过程中重要步骤的思想.。
4.建立类类型的变量(引用)后,系统只分配引用空间,程序员要调用new来创建对象实例,然后才分配相应的存储空间。
5.如果需要在同一类中书写多个方法,让它们对不同的变量进行同样的操作,就需要重载方法名。
如果子类中定义方法所用的名字、返回类型和参数表和父类中方法使用的完全一样,称子类方法覆盖了父类中的方法。
覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。
6.容器中组件的位置由容器的布局管理器决定,容器不仅可以容纳组件,还可以容纳其它容器这一点非常重要,由此可以设计出复杂的图形用户界面布局。
7.Java抽象窗口工具中提供了多种容器,其中最重要的两种是框架和面板。
8.JDK1.1引入了委托模型处理机制,组件必须注册一个事件处理程序,事件对象只传递给已经注册的监听程序,每种事件都有一个对应的监听程序类以实现相应的监听程序接口,并定义了事件对象的接收和处理方法。
9.异常处理的重要性在于,程序不但要发现异常,还要捕获异常并编写代码来处理10.类是同种对象集合的抽象,而属于类的某一个对象则被称为是类的一个实例,对象是具有状态、行为、标志三种属性的计算机软件结构。
11.用户自己定义的Applet子类是Java Applet的标志。
一、Java语言介绍(一)填空题1.Java语言使用的是字符集,每个字符在内存中占16位。
2.Java2平台的三个成员分别是:、、。
(二)简答题1.Java2平台主要有哪几个成员?各自应用于什么场合?二、Java程序设计基础(一)填空题1.在一个Java源文件中定义了2个类,每个类中都有5个方法,编译该Java源文件时产生个字节码文件,其扩展名是。
答案: 2,class 2.Java平台由两个组件构成:、,从而将程序与硬件分离实现跨平台功能。
3.Java源文件中最多只能有一个类,此类必须和源文件名同名,其他类的个数不限。
4.在命令行状态,使用对Java源程序进行编译,使用对字节代码进行解释执行。
(二)选择题1.下面main( )方法的定义哪些是正确的()。
A.public static void main(String args) {}B.public static void main(String[] ) {}C.public static void main(String[] args) {}D.public static void main(string[] args) {}2.下列方法定义中方法头不正确的是().A.public int method( ) {…}B.public static int method(double y ) {…}C.void method( ) {…}D.public static method( double a) {…}3.指出下列哪些不是与方法public void add(int a) { }重载()。
A.public int add(int a)B.public void add(long a)C.public void add(int a, int b)D.public void add(float a)4.下列关于静态方法的描述中,错误的是()A. 在类体内说明静态方法使用关键字staticB. 静态方法只能处理静态变量或调用静态方法C. 静态方法不占用对象的内存空间,非静态方法占用对象的内存空间D. 静态方法只能用类名调用5.只包含一个带public修饰的Java类Abc的Java程序的正确命名是()A. AbcB. Abc.javaC. abc.javaD. 一个任意的标识符后带后缀.java(三)补充代码题1.下面两段程序均实现打印输出“Hello World!”字符串,读懂程序并填空。
习题二一、判断题1.一个类定义了一个或多个构造方法,则Java不提供默认的构造方法。
( )2.如果定义的类中没有给出构造方法,系统也不会提供构造方法。
( )3.可以通过类名直接访问类变量。
( )4.非static修饰的方法既能被对象调用,又能用类名直接调用。
( )5.static修饰的类方法既能被对象调用,又能用类名直接调用。
( )6.一个类的所有对象共享static修饰的类变量。
( )7.类由两部分组成,一部分是变量的定义,一部分是方法的定义。
( )8.方法的定义由方法的声明和方法体等两部分组成。
( )9.方法中的形参可以和方法所属类的属性(域)同名。
( )10.package语句只能放到Java源程序除注释之外的第一行位置。
( )11.Java应用程序的人口main方法只有一种定义。
( )12.静态成员域具有全局作用域范围。
( )13.类成员变量可无须初始化,由系统自动进行初始化。
( )14.在类体部分定义时,类的构造方法、成员域和成员方法的出现顺序在语法上有严格限制。
( )15.类的实例对象的生命周期包括实例对象的创建、使用、废弃、垃圾的回收。
( )二、选择题1.下述哪个说法是不正确的( )A.局部变量在使用之前无须初始化,因为有该变量类型的默认值B.类成员变量由系统自动进行初始化C.参数的作用域就是所在的方法D.for语句中定义的变量,当for语句执行完时,该变量就消亡了2.下述哪一个关键字不是类及类成员的访问控制符( )A.public B.private C.static D.protected3.考虑以下的方法头声明:public void myMethod(int num,char letter)下列哪个描述是正确的( )A. 这个方法有个int型的参数,它的形式参数是letterB.这个方法有个int型的参数,它的形式参数是numC.这个方法有个char型的参数,它的实际参数是myMethodD.这个方法是一个构造方法4.假设有个类已经定义了下述的变量:int num1=10;int num2=20;String word=new String("exam");double answer=25.5;另外定义了下列方法头:public int stuff(String s,int x,int y)以下哪个是正确的方法调用( )A.num1=stuff (”hell o”,num1,num1);B,answer=stuff (word,answer,num2);C.num2=stuff(”hell o”,num1,answer);D.num1=stuff(num1,num2,word);5.下面哪一项不是构造方法的特点( )A.构造方法名必须与类名相同B.构造方法不具有任何返回类型C.任何一个类都含有构造方法D.构造方法修饰词只能是public6.假设已声明了一个类A的两个对象a1、a2,为了初始化a1和a2,下面语句正确的是( )。
A. a1,a2=new A()B. a1=();a2=()C. a1=new();a2=new()D. a1=new A();a2=new A()7.以下程序的运行结果为( )。
public class Test (int value;public static void main (String args [] ) {Test t=new Test();if (t==null) (.println ("No Object");}else{.println ;}}}A. 0B. nullC. NoObjectD. 编译出错10.给定如下代码:class Circle{String name, radius;int r;public Circle (String n)name=n;}public Circle (String n,int a){name=n;r=a;)public Circle (String n,String d, int a){radius=d;}}要在第三个构造方法的空白处填上一行代码使之能够调用第二个构造方法,这行代码应该是( )。
A. Circle(n,a);B. this(Circle(n,a));C. this(n,a);D. this(name,a);11.下面哪个代码片段是错误的( )A. package mypackage;public class Rectangle {}B. import .*;package mypackage;public class Rectangle {import .*;class Circle{public class Rectangle {.}D. import .*;import .*;public class Rectangle {.}12.下列选项中,用于声明包名的关键字是( )。
A. import B. package C. interface D. protected13.下列各种Java类的定义,哪些是错误的( )A. class MyClass{private int Val;public int getVal(){return Val;}}B. class MyClass{private static int Val;public int getVal(){return val;}}C. class MyClass{private int Val;public static int getVal(){return Val;}}D. class MyClass{private static int Val;public static int getVal(){return Val;}}14.某类的成员方法只能被自己调用,修饰该方法的是( )。
A. public B. protected C. private D.无修饰符15.另外的类要获取以下MyClass类中的member的值,采用的语句是( )。
public class MyClass{private static int member=1;public static int getMember(){return member;}};A. B. new myClass().memberC. ()D. myClass().getMember()16.下面关于变量的说法,哪个是不正确的( )A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化17.在Java中,以下哪一个关键字使类不能派生出子类( )A.final B.public C.private D.volatile18.关于public static void main方法的参数描述不正确的是( )。
A.String args[] B.String[] args C.String a[] D.String args19.下列整型的最终属性i的定义中,正确的是( )。
A.final B.static int i;C.static final int i=234; D.final float i=3.14f;20.类方法的修饰符是( )。
A.static B.class C.public D.void22.类Line的定义如下:class Line{private int a,b;public Line(int x,int y){=x;=y;}其中的this代表( )。
A.类名Line B.父类的对象C. Line类实例的当前对象引用 D.this指针23.以下程序片段,下列哪个选项插入到第2行将引起编译错误( ) 1. package mypackage;2.3. class MyClass{4. }A. public class MainClass{ }B. package mypackage1;C. class B{ }D. import java. util.*;24.以下程序代码,无法通过编译的是( )。
A. class A{int i=O;public void method(){(i);}}B. class A{int i=0;}class B{public void method(){;}}C. class A{public int i=0;public static void method(){System. (newA() .i);}}D. class A{public static int i=0;public static void method(){(i);)}25.下列代码在编译时会发生错误,下面哪种修改可以更正错误( ) class Test {private int m;public static void fun(){}}A.将private int m改为protected int mB.将private int m改为public int mC.将phvate int m改为static int mD.将private int m改为int m三、程序阅读题1.阅读下面的程序,程序保存为Test.java:1. public class Test{2. short mValue;3. public static void main(String[] args){4. int a=32;5. int b=56;6. Test os=new Test (a+b);7. ();8. }9. protected Test (short aValue) {10. mValue= aValue;11. }12. public void Show() {13. System. out .println (mValue);14. }15. }上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么2.阅读下面的程序:1 public class Test{2 public static void main (String argv [ ] ) {3 Bird b=new Bird();4 b. fly (3);5 }6 }7 class Bird{8. static int Type=2;9. private void fly(int an_Type) {10. Type= an_Type;11. System. out .println (" "+ Type);12. }13. }上面的程序编译是否成功如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。