Java习题集
- 格式:doc
- 大小:38.50 KB
- 文档页数:5
java集合编程练习题及答案题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....public class exp2{public static void main{int i=0;forSystem.out.println);}public static int f{ifreturn 1;elsereturn f+f;}}或public class exp2{public static void main{int i=0;math mymath = new math;forSystem.out.println);}}class math{public int f{ifreturn 1;elsereturn f+f;}}题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt,如果能被整除,则表明此数不是素数,反之是素数。
public class exp2{public static void main{int i=0;math mymath = new math;forif==true)System.out.println;}}class math{public int f{ifreturn 1;elsereturn f+f;}public boolean iszhishu{for}if return false; return true; }题目:打印出所有的“水仙花数“,所谓“水仙花数“是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数“,因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
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章java语言概述习题一、填空题1、面向对象程序的主要特征:继承,__封装___,___多态_____。
2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是因为它使代码可以__重用或复用___.3、java语言中,为将源代码翻译成__字节码__文件时产生的错误称为编译错误,而将程序在运行中产生的错误称为运行错误。
4、javac是java语言中的编译器,基本语法是:javac[选项]__文件名__,java是java语言中的解释执行器,基本语法是:java[选项]___类名___.5、java语言的主要贡献者是谁Jamegoling二、单选题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A、javaB、.claC、htmlD、.e某e2、main方法是JavaApplication程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。
A、publictaticvoidmain()B、publictaticvoidmain(Stringarg[])C、publictaticintmain(String[]arg)D、publicvoidmain(Stringarg[])三、判断1、Java语言具有较好的安全性和可移植性及与平台无关等特性。
√2、Java语言的源程序不是编译型的,而是编译解释型的。
√四、问答题1、编写、运行java程序需要经过哪些主要步骤?答:1.编写源文件,扩展名必须是.java2.编写java源程序,使用java编译器编写源文件,得到字节码文件3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字节码文件。
2、阅读下列java源代码文件,并回答问题publicclaSpeak{voidpeakHello(){Sytem.out.println(\);}}cla某iti8{publictaticvoidmain(Stringarg[]){Speakp=newSpeak();p.peakHello();}}(1)上述源文件的名字是什么?Speak.java(2)上述源文件编译后生成几个字节码文件,这些字节码文件的名字分别是什么?Speak.cla某iti8.cla第2章(1)基本数据类型练习题一、填空题1、java基本数据类型中整型,字符型分别占用字节数为___4___,___2____.2、java语言中的浮点数根据数据存储长度和数值精度的不同,进一步分为_float__和__double__两种具体类型。
《Java程序设计》练习题第一章 Java编程基础一、选择题1、可以使用【】实用程序编译Java程序。
A.java B.javac C.javadoc D.cmd2、可以使用【】实用程序运行java应用程序。
A.java B.javac C.javadoc D.cmd3、可以使用【】实用程序从Java源文件代码中抽取Java文档注释,生成相应的HTML帮助文档。
A.java B.javac C.javadoc D.cmd4、Java编译单元(源程序文件)的扩展名为【】A..java B..class C..doc D..exe5、编译Java源程序文件产生的字节码文件的扩展名为【】A..java B..class C..html D..exe6、以下Java应用程序执行入口main方法的声明中,正确的是【】A、public static void main()B、public static void main(String[] args)C、public static int main(String[] args)D、public void main(String[] args)7、Java属于以下哪种语言?【】A.机器语言 B.汇编语言C.高级语言 D.以上都不对8、下面哪种类型的文件可以在Java虚拟机中运行?【】A..java B..jre C..exe D..classs9、Java程序中声明包的关键字是【】A、javaB、packageC、javadocD、cmd10、如果JDK的安装路径为“d:\jdk”,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?【】A、d:\jdk;B、d:\jdk\bin;C、d:\jre\bin;D、d:\jre;11、下列说法中,不正确的是【】。
A、一个Java源文件编译通过后,得到的结果文件数也只有一个B、一个Java源文件经过编译后,得到的文件的扩展名一定是.classC、一个Java源文件只能有一个public类定义,其类名与源文件名相同D、一个Java源文件可以包含多个类12、安装好JDK后,在其bin目录下有许多exe可执行文件,其中“java.exe”命令的作用是以下哪一种?【】。
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语言程序设计》习题集4一.选择题(均为单选题)1. 给出一段程序,试判断哪个是正确的结果()public class myprogram{public static void main (String args[]){try{ System.out.print(“Hello world ”); }finally{System.out.println(“Finally executing”); } } }A、无法编译运行,因为没有指定异常B、无法编译运行,因为没有catch子句C、Hello worldD、Hello world Finally executing2.下面关于java中类的说法哪个是不正确的()A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
3. 下面程序运行后的输出结果为()class A{static int y=3;void showy( ){System.out.println(“y=”+y); } }class testA{public static void main(String aaa []){ A a1=new A( );A.y+=1; a1.y++;a1.showy( );}}输出结果选择:A、y=3;B、y=4;C、y=5;D、程序运行出错4. 编译java程序时出现error: cannot read: aaa.java,则下列原因最正确的是()A、原因是执行的当前目录下没有找到aaa.java文件。
B、原因是没有安装JDK开发环境。
C、原因是java源文件名后缀一定是以.txt 结尾。
D、原因是JDK安装后没有正确设置环境变量PATH和Classpath 。
5. 下面关于构造函数的说法不正确的是()A、构造函数也属于类的方法,用于创建对象的时候给成员变量赋值。
B、构造函数不可以重载。
C、构造函数没有返回值。
D、构造函数一定要和类名相同。
6. 在java的一个异常处理中,哪个语句块可以有多个()A、catchB、finallyC、tryD、throws7. 对一个java源文件aaa.java,编辑保存后但未编译,在其所在目录下执行java aaa,则接着会出现什么()A、error: cannot read: aaa.javaB、无任何显示C、Exception in thread "main" ng.NoClassDefFoundError: aaaD|、程序正常执行并显示8.Java编程所必须的默认引用包为( )A.java.sys包ng包C.java.new包D.以上都不是9.定义一个类名为“MyClass”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( )A.private class MyClass extends ObjectB.class MyClass extends ObjectC.public class MyClassD.private class MyClass extends Object10.内部类是在一个类内嵌套定义的类。
其特点描述错误的是( )A.只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名B.可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量C.可以作为其它类的成员,而且可访问它所在类的成员D.除static内部类外,不能在类内声明static成员11.switch语句( )A.都可以用if-else if结构实现B.都不可以用if-else if结构实现C.有的可以用if-else if结构实现D.大部分不可以用if-else if结构实现12.下列语句片段:int a=-67,b=116,c=78;int d=~a|b&c;System.out.println(d)的结果为( )A.70B.67C.78D.5613.下面是一个递归JAVA程序,其功能为( )long Factorial(int n){if(1==n){return 1;}elsereturn n*Factorial(n-1);}A.求1-n的和B.求2到n的和C.求n的阶乘D.求2-n的积14.Frame的默认的布局管理器是下列哪一个( )A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout15.下列语句片段:int result;int a=17,b=6;result=(a%b>4)? a%b:a/b System,out.println(result);的结果为( )A.0B.1C.2D.516.Java中访问限定符不包括( )A.publicB.privateC.defaultD.final17.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变( )A.CardLayoutB.FlowLayoutC.BorderLayoutD.GridLayout18.给定下面的代码片段:1) String str = null;2) if ((str != null) && (str.length() > 10)) {3) System.out.println("more than 10");4) }5) else if ((str != null) & (str.length() < 5)) {6) System.out.println("less than 5");7) }8) else { System.out.println("end"); }哪些行会导致错误?A、 line 1B、 line 2C、 line 5D、 line 819.下面哪种注释方法能够支持javadoc命令:A、 /**...**/B、 /*...*/C、 //D、 /**...*/20.看以下程序:boolean a=false;boolean b=true;boolean c=(a&&b)&&(!b);int result=c==false?1:2;这段程序执行完后,c与result的值是:A、 c=false;result=1;B、 c=true;result=2;C、 c=true;result=1;D、 c=false;result=2;二. 判断题(每题1分,共10分)请在括号中填入”√”或”X”1. ( ) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。
2. ( ) if("Hunan".indexOf('n')==2) System.out.println("true"); 以上语句运行的结果是显示true。
3. ( ) 类体中private修饰的变量在本类中能访问,类生成的对象也能访问。
4. ( ) 抽象类不能实例化。
5. ( ) 一个异常处理中 finally语句块只能有一个或者可以没有。
6. ( ) 接口名可以作为方法返回值的类型7. ( ) 类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员8. ( ) 内部类都是非静态的9. ( ) 接口中的所有方法都没有被实现10. ( ) 定义完数组后,我们可以根据实际需要,再动态调整数组大小三. 程序填空,请在横线处填入正确内容1.将主方法的参数逐个打印输出,文件名为mtest.java//类的声明{main(String args [ ] ){int n=args. ; //n为数组长度if(n==0) //判断是否有参数System.out.println(“没有参数”);else{System.out.println(“参数个数:”+n);for(int i=0; ) //循环System.out.println(“args[”+i+”]=”+ ); //打印数组元素}}}2.请写出下面程序的运行结果。
public class Test extends TT{public void main(String args[]){Test t = new Test("Tom");}public Test(String s){super(s);System.out.println("How do you do?");}public Test(){this("I am Tom");}}class TT{public TT(){System.out.println("What a pleasure!");}public TT(String s){this();System.out.println("I am "+s);}}结果:四. 编程2.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
3.编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。
2.打印输出10行杨晖三角形。