JAVA试题4
java基础试题及答案

java基础试题及答案一、选择题(每题2分,共20分)1. Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. 下列哪个选项是Java中的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个修饰符用于声明一个成员变量为类的私有成员?A. privateB. publicC. protectedD. static答案:A4. Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. throw答案:B5. 在Java中,哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. enum答案:B6. 下列哪个选项是Java集合框架中的一部分?A. StringB. ArrayListC. FileD. Thread答案:B7. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void答案:D8. Java中,哪个关键字用于定义一个抽象方法?A. abstractB. finalC. staticD. native答案:A9. 在Java中,哪个关键字用于定义一个内部类?A. innerB. nestedC. innerclassD. class答案:D10. Java中,哪个关键字用于定义一个静态方法?A. staticB. dynamicC. finalD. abstract答案:A二、填空题(每题3分,共15分)1. Java中,用于定义一个类的关键字是______。
答案:class2. Java程序的入口点是______方法。
答案:main3. 在Java中,______关键字用于声明一个变量为常量。
答案:final4. Java中,______关键字用于定义一个方法为静态的。
JAVA期末复习题_4

}
A、System.out.println(a.str);
B、A.MethodA( );
C、a.MethodB( );
D、A.MethodB( );
20、对于 private 修饰的成员变量,以下说法正确的是( B)。
A、只能被同一包中的类访问
B、只能被该类自身所访问和修改
C、可以被该类自身、该类的所有子类访问
13、在代码中,使用 catch(Exception e)的好处是(B )。
A、只会捕获个别类型的异常
B、捕获 try 块中产生的所有类型的异常
C、忽略一些异常
D、执行一些程序
14、下面关于 Java 语言的描述错误的是( c)。
A、Java 是跨平台的编程语言
B、Java 支持分布式计算
C、Java 是面向过程的编程语言 D、Java 支持多线程
A、public void run()
B、public void start()
C、public void int()
D、public static void main(String args[])
二、填空题
1、Java 程序的类型------java 应用程序(application)和 Java 小应用程序(applet)
D、可以被该类自身、与该类在同一包下的其他类,不在同一包下的该类的子类
访问
21、关于构造函数,下列说法正确的是(D )。
A、所有类都必须定义一个构造函数
B、构造函数必须有返回值
C、构造函数可以访问类的非静态成员
D、构造函数必须初始化类的所有数据成员
22、关于覆盖,下列说法正确的是(A )。
A、私有方法不能被子类覆盖
java试题库及答案

java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。
答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。
垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。
10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。
奥鹏14秋《Java语言程序设计》作业4满分答案

14秋《Java语言程序设计》作业4一,单选题1. 下列说法哪一项是正确的?A. 一个程序可以包含多个源文件B. 一个源文件中只能有一个类C. 一个源文件中可以有多个公共类D. 一个源文件只能供一个程序使用?正确答案:A2. 下列说法正确的是_______。
A. 用abstract关键字修饰的方法,不能再被子类重写B. 用final关键字修饰的方法,不能再被子类重写C. 抽象类中一定要包含abstract方法D. 某个类中包含了abstract方法,该类可以不声明为abstract类?正确答案:B3. 下面程序段的输出结果为_______。
package test; public class classA{ int x=20; static int y=6; public static void main(String args[]){ classB b=new classB(); ##go(10); System.out.println("x="+##x); }A. x=10B. x=20C. x=6D. 编译不能通过?正确答案:C4. 下面程序段的输出结果为_______。
class OverMethod{ void printMeth(){ System.out.println("There is none parameter."); } void printMeth(String t){ System.out.println("There is one parameter."); } void printMeA. There is none parameter.There is one parameter.There are t正确答案:B5. 下列选项不属于对象生命周期的是_______。
A. 生成B. 使用C. 消除D. 封装?正确答案:D。
java第四章试题

一.单选题1.下列哪个是反斜杠字符的正确表示?A、\\B、*\\C、\D、\’\’2.下列属于合法的Java标识符是____。
A、_catB、5booksC、+staticD、-3.141593.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd4.下列赋值语句中错误的是A、float f=11.1fB、double d=5.3E12;C、char c='\r';D、byte bb=433;5.下列哪个数代表八进制整数?A、0XA6B、-1E3C、1840D、01446.int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。
A、public int MAX_LENGTH=100B、final int MAX_LENGTH=100C、public const int MAX_LENGTH=100D、public final int MAX_LENGTH=1007.十进制数16的16进制表示格式是____。
A、0x10B、0x16C、0xAD、0168.char 类型的取值范围是___。
A、2-7~27-1B、0~216-1C、-215~215-1D、0~28-19.下列叙述中,正确的是____。
A、Java语言的标识符是区分大小写的B、源文件名与public类名可以不相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10.在 Java 中,表示换行符的转义字符是____。
A、\nB、\fC、'n'D、\dd11.指出正确的表达式A、 byte=128;B、 Boolean=null;C、 long l=0xfffL;D、 double=0.9239d;12.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案4

《面向对象程序设计JA V A语言程序设计》期末考试试题及部分答案1一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。
1.下列语句序列执行后,k 的值是( B )。
int m=3, n=6, k=0;while( (m++) < ( -- n) ) ++k;A) 0 B) 1 C) 2 D) 32.设i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。
A) i = i + 2 B) a[0] = 7;C) i++ - --j; D) a(0) = 66;3.Java语言的类间的继承关系是( B )。
A) 多重的B) 单重的C) 线程的D) 不能继承4.设有定义int i = 6 ;,则执行以下语句后,i 的值为( C )。
i += i - 1;A) 10 B) 121 C) 11 D) 1005.下列选项中,用于在定义子类时声明父类名的关键字是( C )。
A)interface B) package C) extends D) class6.若已定义byte[ ] x= {11,22,33,-66} ;其中0≤k≤3,则对x数组元素错误的引用是( C )。
A) x[5-3] B) x[k] C) x[k+5] D) x[0]7.下列语句序列执行后,ch1 的值是( B )。
char ch1='A',ch2='W';if(ch1 + 2 < ch2 ) ++ch1;A) ‘A' B) ‘B' C) ‘C' D) B8.下列语句序列执行后,i 的值是( D )。
int i=8, j=16;if( i-1 > j ) i--; else j--;A) 15 B) 16 C) 7 D) 89.下列语句序列执行后,k 的值是( C )。
《JAVA语言程序设计》期末考试试题及答案
《JA V A语言程序设计》期末考试试题及答案(应考必备题库)一、单选择题1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为().A。
java B。
.classC。
html D. .exe2、设x = 1 , y = 2 ,z = 3,则表达式y+=z--/++x 的值是()。
A。
3 B. 3。
5C。
4 D。
53、不允许作为类及类成员的访问控制符的是( )。
A。
public B. privateC。
static D. protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B。
public void method( )C。
final void method( ) D。
abstract void method( )二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
3、设x = 2 ,则表达式(x + + )/3 的值是0 。
4、若x = 5,y = 10,则x 〈y和x >= y的逻辑值分别为true和false。
5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义. 最终(final)方法是不能被当前类的子类重新定义的方法。
6、创建一个名为MyPackage 的包的语句是package MyPackage ; ,该语句应该放在程序的位置为:应该在程序第一句.7、设有数组定义:int MyIntArray[] = { 10 , 20 , 30 ,40 ,50 , 60 , 70};则执行以下几个语句后的输出结果是120。
java期末考试试卷4
一、填空题1、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
2、在Java语言中,所有的类都直接或间接继承自______类。
3、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。
4、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。
5、定义在类中的变量被称为______,定义在方法中的变量被称为______6、编译Java程序需要使用______命令。
7、若x = 2,则表达式( x + + )/3 的值是______。
8、面向对象的三大特征是______、______和______。
9、String类中用于返回字符串字符个数的方法是_____。
10、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。
二、选择题1、关于方法重载的描述,以下选项中哪些是正确的?(多选)A、方法名必须一致B、返回值类型必须不同C、参数个数必须一致D、参数的个数或类型不一致2、已知类的继承关系如下:class Employee;class Manager extends Employeer;class Director extends Employee;则以下语句能通过编译的有哪些?A、Employee e=new Manager();B、Director d=new Manager(); 。
C、Director d=new Employee();D、Manager m=new Director();3、关于抽象类的说法哪些是正确的?(多选)A、抽象类中可以有非抽象方法。
B、如果父类是抽象类,则子类必须重写父类所有的抽象方法。
C、不能用抽象类去创建对象。
D、接口和抽象类是同一个概念。
4、在以下什么情况下,构造方法会被调用?A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时5、先阅读下面的程序片段:String str1=new String("java");String str2=new String("java");StringBuffer str3=new StringBuffer("java");对于上述定义的变量,以下表达式的值为true的是哪个?A、str1==str2;B、str1.equals(str2);C、str1==str3;D、以上都不对6、先阅读下面的程序片段:String str = "abccdefcdch";String[] arr = str.split("c");System.out.println(arr.length);程序执行后,打印的结果是几?A、2个B、3个C、4个D、5个7、下面哪一个是正确的类的声明?A、public void HH{…}B、public class Move(){…}C、public class void number{}D、public class Car{…}/8、使用this调用类的构造方法,下面的说法正确的是?(多选)A、使用this调用构造方法的格式为this([参数1,参数2…])B、只能在构造方法中使用this调用其它的构造方法C、使用this调用其它构造方法的语句必须放在第一行D、不能在一个类的两个构造方法中使用this互相调用9、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字?A、inheritsB、implementsC、extendsD、modifies10、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问?A、publicB、protectedC、privateD、defaul11、下面对于构造方法的描述,正确有哪些?(多选)A、方法名必须和类名相同B、方法名的前面没有返回值类型的声明C、在方法中不能使用return语句返回一个值D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在12、关于super关键字以下说法哪些是正确的?(多选)A、super关键字可以调用父类的构造方法B、super关键字可以调用父类的普通方法C、super与this不能同时存在于同一个构造方法中D、super与this可以同时存在于同一个构造方法中13、请先阅读下面的代码public class Test {public Test(){System.out.println("构造方法一被调用了");}public Test(int x){this();System.out.println("构造方法二被调用了");}public Test(boolean b){this(1);System.out.println("构造方法三被调用了");}public static void main(String[] args) {Test test = new Test(true);}}上面程序的运行结果为下列哪一项?A、构造方法一被调用了B、构造方法二被调用了C、构造方法三被调用了D、以上三个选项之和14、String s = "abcdedcba";则s.substring(2,3)返回的字符串是以下选项中的哪个?A、cdB、deC、dD、e15、以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明三、程序分析题阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。
4. Java集合知识测试
精心整理集合部分测试题考试宣言:同学们,考试考多少分不是我们的目的!排在班级多少的名次也不是我们的初衷!允许将null用作键或值2.LinkedList类的特点是(B)a)查询快b)增删快c)元素不重复d)元素自然排序3.关于迭代器说法错误的是(D)a)迭代器是取出集合元素的方式b)迭代器的hasNext()方法返回值是布尔类型d)增强for循环是JDK1.5版本后出现的7.下面代码运行的结果是(A)ArrayList<String>al=newArrayList<String>();al.add(true);al.add(123);al.add(“abc”);a)编译失败b)[true,123]c)[true,123,abc];b)元素无序,不存储重复元素c)存储重复元素d)Set集合都是线程安全的11.ArrayList的初始化内容如下:?ArrayList<String>list=new ArrayList<>();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是(Ab)?A?a)13.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须(A)a)实现Comparable接口b)有main方法c)有get和set方法d)实现Serializable接口14.下列方法不是Collection通用方法的有(C)a)iterator()b)add()if(map.contains(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);}c)if(map.containsKey(ch[i])){map.put(ch[i],(int)map.get(ch[i])+1);}else{map.put(ch[i],1);}d)if(map.containsKey(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);19.下面关于HashMap和Hashtable的区别,说法正确的是(CD)a)Hashtable线程不安全,效率高b)HashMap线程安全,效率低c)HashMap允许null键和值d)Hashtable不允许null键和值20.将集合转成数组的方法是(b)Ca)asList()b)toCharArray()c)toArray()b)classSon<T,V>extendsFXfather<T>{}c)classSon<String>extendsFXfather<String>{}d)classSon<String>extendsFXfather<T>{}23.ArrayList类的底层数据结构是(a)a)数组结构b)链表结构c)哈希表结构d)红黑树结构24.应用程序的main方法中有以下语句(请参看API文档)a)增加集合中的元素b)迭代集合c)修改集合中的元素d)获取集合中元素的个数26.下面代码运行的结果是(B)ArrayList<String>al=newArrayList<>();al.add("s");al.add("ddd");al.add("true");map.put(“den”,300);Set位置①set=位置②;for(位置③per:set){}下列每个选项中分别填入上面三个位置,正确的是(d)a)<Entry>map.keySet()Entry30.关于Map.Entry接口说法错误的是(c)a)具有getkey()方法b)具有getValue()方法c)具有keySet()方法d)具有setValue()方法31.下列代码publicclass Base{privatevoid test(){StringaStr="_One_";StringbStr=aStr;bStr=aStr.trim();System.out.println("["+aStr+","+bStr+"]");33.以下能以键_值对的方式存储对象的接口是(abc)B34.在我们所学知识中,下面哪几项是接口(abcd)a)java.util.Mapb)java.util.Collectionc)java.util.Listd)java.util.Set35.List集合的遍历方式有如下哪几种(abc)a)Iterator迭代器实现b)增强for循环实现c)get()和size()方法结合实现p1.setUserName(“terry”);Personp2=newPerson();p2.setIdCard(newLong(1002));p2.setUserName(“tom”);list.add(p1);list.add(p2);for(位置①){}那么位置①处的代码为dal.add(“c1”);}}a)[a,b,c]b)[c1]c)[a,b,c,c1]d)抛出ConcurrentModificationException异常38.下面关于泛型的说法不正确的是(d)a)泛型的具体确定时间可以是在定义方法的时候d)使用泛型必须进行强制类型转换。
全国计算机等级考试二级Java语言程序设计真题精选4(含答案)
全国计算机等级考试二级Java语言程序设计真题精选4一、单项选择题1.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是操作受限的线性表,栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据,入栈的顺序为12345ABCDE,题目要求各元素依次出栈,因此出栈的顺序为EDCBA54321。
2.下列叙述中正确的是()。
A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定√解析:循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。
循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间。
循环队列仍然是顺序存储结构,是线性结构。
循环队列中的元素是动态变化的,每进行一次入队运算,队尾指针就加一,每进行一次出队运算,队头指针就加一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。
从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A.O(n)B.O(n2)n)√C.O(log2D.O(nlogn)2解析:二分法查找又称为折半查找,它充分利用元素间的次序关系,不断的将序列分为可能包含和必然不包含的两部分,采用分治策略,可以快速查找成功,但要求线性表必须采用顺序存储的方法。
可以证明对于长度为n的有序线n次。
性表,在最坏情况下,二分法查找只需要比较log24.下列叙述中正确的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.下面说法不正确的是( C )
A.一个子类的对象可以接收父类对象能接收的消息;
B.当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;
C.父类比它的子类的方法更多;
D.子类在构造函数中可以使用super( )来调用父类的构造函数;
1.要从文件"file.dat"中读出第10个字节到变量c中,下列哪个方法适合?(D)
A、FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();
B、FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();
7) int j,k;
8) j=3; k=5;
9) t1=new Test();
10) t2=new Test(k);
11) }
12) }
A.行1 B.行4 C.行6 D.行9
8.下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段的输出结果。(C)
class ClassDemo {
} catch (java.io.FileNotFoundException ex){
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);
}
}
A. 0 B. 6 C. 11 D. 2
9.下面这些类型的应用,那个不使用Java语言来编写?(A)
A)JavaScript B)Applet
C)Servlet D)Java Swing
C、FileInputStream in=new FileInputStream("file.dat"); int c=in.read();
D、RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte();
2. Java编程所必须的默认引用包为( B )
A. java.sys包
B. ng包
C. java.util包
D.以上都不是
3.下面语句在编译时不会出现警告或错误的是( C )
A. float f=3.14;
B. char c=”c”;
C. Boolean b=null;
D. int i=10.0;
}
A)0 B)2 C)4 D)10
16. getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(A)
public void getCustomerInfo() {
try {
// do something that may cause an Exception
13.下面关于数组声明和初始化的语句那个有语法错误?(C)
A)int a1[]={3,4,5};
B)String a2[]={"string1","string1","string1"};
C)String a3[]=new String(3);
D)int[][] a4=new int[3][3];
14.下面哪一行代码正确的声明了一个类方法(静态方法)?(D)
A)public int method(int i)
B)protected method(int i)
C)public static method(String s)
D)protected static void method(Integer i)
15.下面的方法,当输入为2的时候返回值是多少?(D)
C)FileNotFoundException D) IndexOutOfBoundsException
12.下面哪个流类属于面向字符的输入流( D )
A)BufferedWriter B)FileInputStream
C)ObjectInputStream D) InputStreamReader
10.声明成员变量时,如果不使用任何访问控制符(public, protected, private),则以下哪种类型的类不能对该成员进行直接访问(D)
A)同一类B)同一包中的子类
C)同一包中的非子类D)不同包中的子类
11.下列哪种异常是检查型异常,需要在编写程序时声明(C)
A)NullPointerException B)ClassCastException
public int getValue(int i) {
int result = 0;
switch (i) {
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}ห้องสมุดไป่ตู้
return result;
7.给出下面代码段,哪行将引起一个编译时错误?(D)
1) public class Test {
2) int n = 0;
3) int m = 0;
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
6) Test t1,t2;
4.下面不是合法标识符的是( A )
A. 2ofUS
B. giveMes
C. whataQuiz
D. $d2000_
5.下面哪一个是合法的数组声明和构造语句( C )
A. int[] ages = [100];
B. int ages = new int[100];
C. int[] ages = new int[100];
public static int sum=1;
public ClassDemo() {
sum = sum + 5;
}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();