2013.2.13.java基础试卷A及答案
java笔试经典(题及答案)2013
Java笔试经典(基础部分及答案和分析)1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个类,但是最多只能有一个public修饰的类。
2、Java有没有goto? 7答:java中有goto ,但只是保留字,用来兼容以前版本的再无其他用途。
3、说说&和&&的区别。
8答:&是按位与,左右两边同时为1这得1,其他情况都为0,而&&是逻辑与,左右两边都为true这结果为true否则为false,并且&&会发生短路,而& 不会发生短路4、在JAVA中如何跳出当前的多重嵌套循环?8答:有两种方法:①在循环体中boolean值和break搭配使用;②使用continue和break 对应的标识,运行到bcontinue或break处时跳出到对应标识处5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 9答:switch语句是使用int 型和枚举型的,而精度比int 型低的byte char short 都可以转化成int 型,所以byte是可以用在switch上的,但是系统不会将long型的转化成int型,所以不能使用long.而String是个类,而不是基本数据类型,系统也不会自动将String 转化成int的。
6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 9答:前一个错了,s1=s1+1处s1+1会使short型s1转化成int型,但是在将int型的值赋给short型的变量将会报错。
后一个是对的,因为+=是一个复合型运算符,复合赋值运算符会自动地将运算结果转型为其左操作数的类型,不会对s1的类型进行改变。
7、char型变量中能不能存贮一个中文汉字?为什么? 9答:char型的变量可以存贮一个中文字。
Java基础理论知识考试题及答案
Java基础理论知识考试题及答案单选题1.颜色取样器工具最多可以设定几个取样点()A、一个B、两个C、三个D、四个正确答案:D2.在windows7的“资源管理器”的目录窗口中,显示着指定目录里的文件信息,其显示方式是()。
A、可以只显示文件名,也可以显示文件的部分或全部目录信息,由用户选择B、固定为显示文件的全部目录信息C、固定为显示文件的部分目录信息D、只能显示文件名正确答案:A3.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象OA、F i1eInputStreamB、F i1eOutputStreamC、DataOutputStreamD、Fi1eWriter正确答案:A4.下面关于FIaSh导入FireWOrkS的PNG文件的说法,错误的是()A、用户可以选择作为可编辑对象或不可编辑的图像进行导入B、当作为不可编辑的图像导入时,文件将转换成位图图像对象,但是导入矢量图形除外C、作为可编辑对象导入,用户可以选择保留位于PNG文件中的图像、文本和辅助线D、作为不可编辑的图像导入PNG文件,则用户可以在FIaSh中启动Fireworks编辑该PNG图像正确答案:B5.在计算机系统中外围设备一般通过以下哪个部件与主板的系统总线相连()。
A、适配器B、存储器C、计数器D、寄存器正确答案:A6.代表非盈利组织的顶级域名是()。
A、eduB、govC、orgD>mi1正确答案:C7.如何使用仿制图章工具在图像上取样?OA、按住Shift键的同时单击取样位置来选择多个取样像素B、按住Tab键的同时单击取样位置C、按住OPtiOn(Mac)/A1t(Win)键的同时单击取样位置D、按住mand(Mac)/Ctr1(Win)键的同时单击取样位置正确答案:C8.实现虚拟存储器最关键的技术是()。
A、内存分配B、置换算法C、请求调页(段)D、对换空间管理正确答案:C9.TCP的主要功能是()。
java初级考试题及答案a
java初级考试题及答案a初级考试试卷(一)一,不定项选择题(每题2分)1、下面哪一个不是合法的标识符?A、x$B、π C 、1X D、XYZ2、int 类型数据占用多少位?A、32B、64C、16D、203、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[] )4、下面的哪些语句是正确的:A)String temp [] = new String {"j" "a" "z"}; B) char temp [] = { "j" "b" "c"};C)String temp = {"a", "b", "c"}; D) String temp [] = {"a", "b", "c"};5、public class returnIt{returnType methodA(byte x, double y){byte b1=1; byte b2=2;return b1*b2;}}methodA()方法最后返回的类型是什么?A. intB. byteC. longD. shortE. floatF. double6、public class returnIt{returnType methodA(byte x, double y) {return (short) x/y * 2;}}methodA()方法最后返回的类型是什么?A. intB. byteC. longD. shortE. floatF. double7、public class IfElse{public static void main(String arg) {if(odd(5))System.out.println("odd");elseSystem.out.println("even");}public static int odd(int x){return x%2;} }最后输出是什么?A odd;B evenC 什么都没输D 编译报错8、int index=1;int foo[]=new int[3];int bar=foo[index];int baz=bar+index;结果是那一个?A. baz 结果是0B. baz 结果是1C. baz 结果是2D. 会抛出一个exceptionE. 这段代码不会被编译9、public class Foo{public static void main(String args[]) {String s;System.out.println("s="+s);}}结果是什么?A. 代码会被编译并且会打印“s=”B. 代码会被编译并且会打印“s=null”C. 代码不会被编译因为字符串s没有被初始化.D. 代码不会被编译因为字符串s没有被引用.E. 代码会编译, 但是当toString方法被调用时会抛出NullPointerException .10、float f=4.2F;Float g=new Float(4.2F);Double d=new Double(4.2);哪个是正确的?A. f==gB. g==gC. d==fD. d.equals(f) E d.equals(g) F. g.equals(4.2); 11,public class MethodOver{public void setVar(int a, int b, float c){}}下面那一个可以重载setVar()方法?A.private void setVar(int a, float c, int b){}B.protected void setVar(int a, int b, float c){}C.public int setVar(int a, float c, int b){return a;}D.public int setVar(int a, float c){return a;} 12,public class X{public static void main(String[] args){String foo="ABCDE";foo.substring(3);foo.concat("XYZ");}}程序结束后foo的值是多少?A, ABCDE B, DE C, ABCDEXYZ D, NULL13,public class Test{public static void stringReplace(String text){text=text.replace('j','l');}public static void bufferReplace(StringBuffer text) {text=text.append("c");}public static void main(String args[]){String textString=new String("java"); StringBuffer textBuffer=new StringBuffer("java"); StringReplace(textString);bufferReplace(textBuffer);System.out.println(textString+textBuffer);}}最后的输出结果是:A, iavajavac B, javajava C, javajavac D, iavajava 14String foo="blue";boolean[] bar=new boolean[1];if(bar[0]){foo="green";}foo的值是什么?A.""B.nullC.blueD.green15,int index=1;String[] test=new String[3];String foo=test[index];foo的值是什么?A. foo 结果是“”B. foo 结果是nullC. 会抛出异常D. 代码不会被编译16,public class X{public static void main(String[] args) {int[] a=new int[1];modify(a);System.out.println(a[0]);}public static void modify(int[] a) {a[0]++;}}哪一个是结果?A.程序运行且打印出"0";B.程序运行且打印出"1";C.程序运行,但是会因为抛出异常而终止D. 编译失败;17.public class Foo{public void main (String [] args){S ystem.out.printIn(“Hello World.”); }}哪一个是结果?A.抛出异常.B.代码不能被编译.C.“Hello World”将会被打印.D.程序退出并且不会打印任何信息.18class Base{void fo(){System.out.println("Base method"); }}public class Son{void fo(){System.out.println("Son method");}public void main (String [] args){Base b=new Son();b.fo();}}打印的结果是?A, Base method B, Son method C, 编译失败D,无输出19,方法重载(overloading)必须满足?A. 在不同class中定义的方法B. 在同一类型中定义的方法C. 方法名必须相同D. 返回类型必须相同E. 参数一定不同F. 参数可以相同20,以下对于方法覆盖(overriding)的说法正确的有?A. 方法覆盖发生在同一类中B. 方法的覆盖发生在子类型中C. 方法名一定要一样D. 参数一定要一样E. 返回类型可以不一样F. 访问权限只能一样G. 返回类型一定要一样21,以下描述正确的有?A. final class不能被继承B. final变量不能被修改C. final成员变量可以在构造方法中赋值D. final方法不能被覆盖(overrided)22,以下属于正确的java注释有?A. //This is commentB. /*This is commentC. /**This is comment*/D. /*This is comment*/二,简答题(每题4分):1.简要介绍java的平台无关性。
java基础考试题目及答案
java基础考试题目及答案一、选择题(每题2分,共20分)1. Java中用于声明变量的关键字是什么?A. varB. letC. constD. class答案:A2. 下列哪个选项是Java中的保留字?A. finalB. publicC. privateD. all of the above答案:D3. Java中哪个类是所有类的根类?A. ObjectB. StringC. SystemD. Thread答案:A4. 在Java中,下列哪个数据类型不是基本数据类型?A. intB. doubleC. StringD. boolean5. Java中,下列哪个关键字用于实现继承?A. extendsB. implementsC. interfaceD. abstract答案:A6. Java中,下列哪个关键字用于实现多态?A. extendsB. implementsC. interfaceD. abstract答案:A7. 在Java中,下列哪个关键字用于声明一个方法?A. classB. methodC. functionD. void答案:D8. 下列哪个选项是Java中的异常处理关键字?A. tryB. catchC. throwD. all of the above答案:D9. Java中,下列哪个关键字用于声明一个接口?B. interfaceC. abstractD. final答案:B10. 在Java中,下列哪个关键字用于声明一个枚举?A. enumB. listC. setD. map答案:A二、填空题(每题2分,共20分)1. Java是一种_________语言,它支持_________编程。
答案:面向对象;多线程2. Java程序的执行是由_________类开始的。
答案:main3. 在Java中,一个类可以继承另一个类的属性和方法,这体现了_________的概念。
《JAVA语言基础》期末考试试卷(A卷)及答案
适用专业:一、单项选择题,请将答案写在下列表格中(每小题2分,共40分)1、开发JA V A程序的步骤包括以下几步,它们的先后顺序是:A. 编译——编写——运行B. 编写——编译——运行C. 运行——编译——编写D. 编译——运行——编写2、在JA V A中,使用()关键字导入包。
A. importB.packageC. classD.new3、JA V A中,要想存储真或假、是或否的数据最好使用()数据类型。
A. intB. charC.StringD.boolean4、关于参数的方法,下列说法错误的是:A.使用参数的方法分为两步:定义带参数的方法和调用带参数的方法B.带参数方法的返回值可以为voidC.带参数方法的参数个数可以为一个或多个D.带参数方法的参数必须是基本数据类型的数据5、下列选项中不属于JA V A算术运算符的是:A./B.%C.*D.!=6、下列选项中()不是Java的基本数据类型。
A. charB. intC. BooleanD. float7、Java源文件和编译后的文件扩展名分别是:A. .class和.javaB. .class和.classC. .java和.classD. .java和.java8、下列属于类的有:A. 学校B.张老师C. 学生王东D.小李的汽车9、下列语句中访问类的属性正确的是:A. ( )B. C.book->nameD.book->name()10、关于下面代码,说法正确的是:public class Test {public static void main(String[ ] args1){Test test = new Test();int x = 10;if (test.methodA()){x++;System.out.println(x);}}public int methodA(){return 10;}}A.第5行有编译错误B.第7行有编译错误C.第11行有编译错误D.运行输出1111、下面代码片段创建()个对象。
Java基础试卷及答案.doc
Java基础考核试题技术方向:Android-JAVA 姓名:___________ 得分:一、选择题(20题,每题2分,共40分)1.下面哪个不是Java中的容器?( )A) Panel B) Canvas C) Applet D) Dialog2.要串行化某些类的对象,这些类就必须实现()A、Serializable 接口java.io.Extemalizable 接口C、java.io.Datalnput □D、D ataOulput 接口3.编写和运行Java applet程序与编写和运行Java application程序不同的步骤是:()A、编写源代码B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹C、编译过程D、解释执行4.Java的字符类型釆用的是Unicode编码方案,每个Unicode码占用_______ 个比特位。
()A、8B、16C、32D、645.关于下列程序段的输出结果,说法正确的是:()public class MyClass{static int i;public static void main(String argv[]){System.out.prinlln(i);1}A、有错误,变量i没有初始化。
B> nullC、1D、06.下列代码的执行结果是:()public class Test3 {public static void main(String args[]){System.out.print(l 00%3);System.out.printC','');System.out.println( 100%3.0);}}A、1,1B、1,1.0C、l.OJD、1.0,1.07.下列程序段的输出结果是:()void complicatedexpression_r(){ini x=20, y=30;boolean b;b=x>50&&y>60||x>50&&y <-60||x<-50&&y>60||x<-50&&y<-60;System.out.println(b);}A> trueB、falseC、1D、08•给出下列代码片段:()if(x>0) {System.out.prinlln("first n);)else if(x>-3){ System.out.println(,'second n);}else {System.out.println(”thinT);}请问X处于什么范围时将打印字符串“second"?A、x>0B、x>-3C、x<=-3D、x v=0&x>・39.若要把变量声名为暂时性变量,应使用如下哪种修饰符?()A> protectedB、provateC、transientD、v olatile10.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为:()A>隐藏B、覆盖C、重载D、J ava不支持此特性11.如要抛出异常,应用下列哪种子句?()A> catchB、throwC、tryD、f inally12.在使用interface声明一个接口时,只可以使用_____ 修饰符修饰该接口。
java基础考试试题及答案
java基础考试试题及答案1. Java 是一种(A)语言。
A. 编译型B. 解释型C. 编译型和解释型D. 以上都不是答案:C2. 在 Java 中,用于定义类的关键字是(B)。
A. structB. classC. interfaceD. enum答案:B3. Java 中的 main 方法的返回类型必须是(A)。
A. voidB. intC. StringD. double答案:B4. 下列哪个选项是 Java 的数据类型?(D)A. BooleanB. CharC. IntegerD. All of the above答案:D5. 在 Java 中,用于声明字符串的关键字是(C)。
A. stringB. StringC. "string"D. 'string'答案:B6. Java 中的数组声明方式如下:(C)。
A. int[] array;B. array int[];C. int array[];D. All of the above答案:A7. Java 中的 switch 语句可以用于(B)类型的数据。
A. intB. StringC. floatD. All of the above答案:D8. 在 Java 中,用于捕获异常的关键字是(A)。
A. tryB. catchC. finallyD. throw答案:B9. Java 中的垃圾回收机制是自动的,用于回收不再使用的(C)。
A. 内存B. 变量C. 对象D. 以上都是答案:D10. Java 中的多线程可以通过实现(A)接口来创建。
A. RunnableB. CallableC. ThreadD. Executor答案:A11. 在 Java 中,下列哪个关键字用于定义接口?(C)A. classB. structC. interfaceD. enum答案:C12. Java 中的泛型是在哪个版本中引入的?(B)A. Java 1.4B. Java 5C. Java 6D. Java 7答案:B13. Java 中的集合框架位于哪个包中?(A)A. java.utilB. ngC. java.ioD. 答案:A14. 在 Java 中,下列哪个类提供了对集合的同步控制?(B)A. CollectionsB. Collections.synchronizedListC. ListD. ArrayList答案:B15. Java 中的 HashMap 是基于哪种数据结构实现的?(A)A. 哈希表B. 树C. 链表D. 数组答案:A16. 在 Java 中,下列哪个关键字用于声明单例模式?(D)A. staticB. finalC. privateD. All of the above答案:D17. Java 中的注解(Annotation)可以用来做什么?(C)A. 编译时处理B. 运行时处理C. 编译时和运行时处理D. 以上都不是答案:C18. Java 中的哪个类提供了对文件的输入输出操作?(A)A. FileB. FileInputStreamC. FileOutputStreamD. BufferedReader答案:A19. 在 Java 中,下列哪个关键字用于声明抽象类?(B)A. finalB. abstractC. staticD. synchronized答案:B20. Java 中的哪个关键字用于声明内部类?(C)A. classB. structC. inner classD. enum答案:C请注意,以上内容是一个简单的 Java 基础考试试题及答案示例。
java基础考试题及答案
新员工考试一、选择题共30题,每题2分1.下面哪些是合法的标识符多选题A. $personsB. TwoUsersC. pointD. thisE. _endline答案A,B,E分析Java的标识符可以以一个Unicode字符,下滑线_,美元符$开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字this保留字;2.哪些是将一个十六进制值赋值给一个long型变量单选题A. long number = 345L;B. long number = 0345;C. long number = 0345L;D. long number = 0x345L答案 D分析十六进制数以0x开头,long型数以L大小写均可,一般使用大写,因为小写的l和数字1不易区分;3.下面的哪些程序片断可能导致错误多选题A. String s = "Gone with the wind";String t = " good ";String k = s + t;B. String s = "Gone with the wind";String t;t = s3 + "one";C. String s = "Gone with the wind";String standard = ;D. String s = "home directory";String t = s - "directory";答案B,D分析A:String类型可以直接使用+进行连接运算;B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误;C:toUpperCase方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果String类型;D:String类型不能进行减-运算,错误;4.point x处的哪些声明是句法上合法的多选题class Person {private int a;public int changeint m{ return m; }}public class Teacher extends Person {public int b;public static void mainString arg{Person p = new Person;Teacher t = new Teacher;int i;i = m;B. i = b;C. i = ;D. i = 30;E. i = .答案D,E分析A:m没有被声明过,不能使用;B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员;C:a是类Person的private成员,在类外不能直接引用;D:changeint m方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量;E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量;5.下面的代码片断多选题:1 public void create {2 Vector myVect;3 myVect = new Vector;4 }下面的哪些陈述正确A. 第二行的声明不会为变量myVect分配内存空间;B. 第二行的声明分配一个到Vector对象的引用的内存空间;C. 第二行语句创建一个Vector类对象;D. 第三行语句创建一个Vector类对象;E. 第三行语句为一个Vector类对象分配内存空间;答案A,D,E分析要为一个新对象分配空间必须执行new Xxx调用,new调用执行以下的操作:1.为新对象分配空间并将其成员初始化为0或者null;2.执行类体中的初始化;例如在类中有一个成员声明int a=10;在第一步后a=0 ,执行到第二步后a=103.执行构造函数;4.变量被分配为一个到内存堆中的新对象的引用;6.下面的哪些答案可以用以表示八进制值8 单选题A. 010B. 0x10C. 08D. 0x8答案 A分析八进制值以0开头,以0x开头的为十六进制值,八进制中不能出现数字8,最大只有7;1 class Person {2 public void printValueint i, int j {/…/ }3 public void printValueint i{/.../ }4 }5 public class Teacher extends Person {6 public void printValue {/.../ }7 public void printValueint i {/.../}8 public static void mainString args{9 Person t = new Teacher;10 10;11 }12 }第十行的声明将调用哪些方法单选题A. on line 2B. on line 3C. on line 6D. on line 7答案 D分析变量t是一个Person对象,但是它是用Teacher实例化的,这个问题涉及到java的编译时多态和运行时多态的问题,就编译时多态来说,t实际上是一个Person 类,这涉及到类型的自动转换将一个子类的实例赋值给一个父类的变量是不用进行强制类型转换,反之则需要进行强制类型转换,而且被赋值的变量实际上应该是一个子类的对象,如果对t调用了子类中新增的方法则造成编译时错误编译将不能通过,而在运行时,运行时系统将根据t实际指向的类型调用对应的方法,对于本例来说,10将调用t实际指向的Teacher类的对应方法;在java中,可以用一个子类的实例实例化父类的一个变量,而变量在编译时是一个父类实例,在运行时可能是一个子类实例;7.给出下面的代码:单选题x的取值在什么范围内时将打印字符串"second";A. x > 0B. x > -3C. x <= -3D. x <= 0 & x > -3答案 D分析x>0时打印"first",x>-3&&x<=0时打印"second",x<=-3时打印"third";这个题目没有什么难的,只要理解if语句的语法就可以了;8.下面的哪些赋值语句是不正确的单选题A. float f = ;B. double d = ;C. double d = ;D. double d = .答案 A题目:;浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f 或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要;9.给出下面的不完整的类代码: 单选题class Person {String name, department;int age;public PersonString n{ name = n; }public PersonString n, int a{ name = n; age = a; }public PersonString n, String d, int a {."处A. Personn,a;B. thisPersonn,a;C. thisn,a;D. thisname,age.答案 C分析:在同一个类的不同构造方法中调用该类的其它构造方法需要使用this…的形式,而且必须是在构造方法的第一行调用,这个和普通的方法重载调用的方式不同,普通的方法可以直接使用方法名加参数来调用,而且调用位置没有限制,因此答案A是不行的,B的语法就是错误的,D的错误在于在父类型的构造函数被调用前不能引用类的成员;构造方法是一个类对象实例化的起点虽然严格来说首先执行的并不是构造方法的第一个语句,而是内存的分配,因此在构造方法中不能将成员作为参数引用;public void test {condition 1B. condition 2C. condition 3D. finally答案 ad分析:如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally块中的内容无论是否发生异常都将被执行;10.给出下面的代码:单选题public class Test {void printValueint m{while --m > 10}public static void mainString arg {int i=10;Test t= new Test;i;}}输出将是什么A. The value is 8B. The value is 9C. The value is 10D. The value is 11答案:c此题考察的是do… while循环和 -- 操作符的知识,do…while最少被执行一次,在执行完do中的内容后判断while中的条件是否为true,如果为true的话就再执行do 中的内容,然后再进行判断,以此类推直到while的判断为false时退出循环执行循环后面的内容,而—操作符的规则是在变量右边的-- 将先进行运算,然后才是使变量的值减一,而在变量左边的是先将变量的值减一再运算;11.给出下面的代码:单选题1 public void modify {2 int i, j, k;3 i = 100;4 while i > 0 {5 j = i 2;7 k = k + 1;8 i--;9 }10 }哪些行在编译时可能产生错误;A. line 4B. line 6C. line 7D. line 8答案 c这个问题在前面有关变量的类型及其作用域的问题中讨论过,局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有;12.给出下面的代码片断:单选题1 String str = null;2 if str = null && > 10 {34 }5 else if str = null & < 5 {67 }ntln"end"; }哪些行将导致错误A. line 1B. line 2C. line 5D. line 8答案 c此题需要将代码仔细看清楚,查询没有逻辑错误,if …else的使用没有问题,也没有拼写错误,错误在于第5行的“与”操作符的使用,逻辑操作符logical operator的“与”应该是&&,而&是位逻辑操作符bitwise logical operator的“与”,使用的对象不一样,逻辑操作符的“与”的左右操作数都应该是布尔型logical boolan的值,而位逻辑操作符的左右操作数都是整型integral值;13.给出下面的代码:单选题public class Person{static int arr = new int10;public static void mainString a {}}那个叙述是对的;A. 编译时将发生错误;B. 编译时正确但是运行时出错;C. 输出为0;D. 输出为null答案 cint型数组是类对象,它在类被加载时完成初始化,在前面题目中已经有叙述,由于是原始数据类型int,其初始值为0;public class Parent {int addValue int a, int b {.}B. public void addValue {.}C. public int addValue int a {.}D. public int addValue int a, int b throws MyException {.}答案bc此题涉及方法重载overload,方法重写override以及类派生时方法重写的规则;方法重载的规则是:一、参数列表必须不同,个数的不同完全可以,如果个数相同则参数类型的不同不能引起歧意,例如int 和long,float和double就不能作为唯一的类型不同;二、返回值可以不同,但是不能是重载时唯一的不同点这点和c++中不同,c++中返回类型必须一致;方法重写发生在类继承时,子类可以重写一个父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载,java中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低重写的另一个规则是重写的方法不能比被重写的方法抛弃throws更多种类的异常,其抛弃的异常只能少,或者是其子类,不能以抛弃异常的个数来判断种类,而应该是异常类层次结果上的种类;此题中答案a的错误就是重写的访问权限比被重写的方法的低,而b,c都属于重载,d的错误在于比被重写的方法抛弃了更多种类的异常;14.共有成员变量MAX_LENGTH是一个int型值,变量的值保持常数值100;使用一个短声明定义这个变量;单选题A. public int MAX_LENGTH=100;B. final int MAX_LENGTH=100;C. final public int MAX_LENGTH=100;D. public final int MAX_LENGTH=100;答案 dJava中共有变量使用public定义,常量变量使用final,另外注意的是修饰符的顺序,一个最完整的修饰是public static final int varial_a=100;这个顺序不能错,这和c++中也是不同的;而答案c恰恰错在修饰符的顺序上;15.下面的那个java源文件代码片断是对的多选题A. package testpackage;public class Test{.}B. import .;package testpackage;public class Test{.}C. import .;class Person{.}public class Test{.}D. import .;import .;public class Test{.}答案acdjava中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同;16.下面的哪些声明是合法的多选题A. long l = 4990;B. int i = 4L;C. float f = ;D. double d = ;E. double t = 0.9F.答案ade此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换int a=int123L;;17.如下描述:多选题public class Parent {int change {…}}class Child extends Parent {}哪些方法可被加入类ChildA. public int change{}B. int changint i{}C. private int change{}D. abstract int chang{}答案ab这个题目的问题在第35题中有详尽的叙述;需要注意的是答案D的内容,子类可以重写父类的方法并将之声明为抽象方法,但是这引发的问题是类必须声明为抽象类,否则编译不能通过,而且抽象方法不能有方法体,也就是方法声明后面不能带上那两个大括号{},这些D都不能满足;18.给出下面的代码:单选题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 mainString arg {10 Parent p = new Parent;11 }12 }哪些行将导致错误A. line 3B. line 6C. line 7D. line 8E. line 10答案 d第8行的getValue试图访问父类的私有变量,错误,参看前面有关变量类型及其作用域的叙述19.变量"result"是一个boolean型的值,下面的哪些表达式是合法的多选题A. result = true;B. if result { . }C. if result= 0 { . }D. result = 1答案abJava的boolean不同于c或者c++中的布尔值,在java中boolean值就是boolean 值,不能将其它类型的值当作boolean处理;20.类Teacher和Student都是类Person的子类单选题Person p;Teacher t;Student s;P,t和s都是非空值;ift instanceof Person { s = Studentt; }这个if语句导致的结果是什么A. 将构造一个Student对象;B. 表达式合法;C. 编译时非法;D. 编译时合法而在运行时可能非法;答案 cinstanceof操作符的作用是判断一个变量是否是右操作数指出的类的一个对象,由于java语言的多态性使得可以用一个子类的实例赋值给一个父类的变量,而在一些情况下需要判断变量到底是一个什么类型的对象,这时就可以使用instanceof了;当左操作数是右操作数指出的类的实例或者是子类的实例时都返回真,如果是将一个子类的实例赋值给一个父类的变量,用instanceof判断该变量是否是子类的一个实例时也将返回真;此题中的if语句的判断没有问题,而且将返回真,但是后面的类型转换是非法的,因为t 是一个Teacher对象,它不能被强制转换为一个Student对象,即使这两个类有共同的父类;如果是将t转换为一个Person对象则可以,而且不需要强制转换;这个错误在编译时就可以发现,因此编译不能通过;21.给出下面的类:单选题public class Sample{long length;public Samplelong l{ length = l; }public static void mainString arg{Sample s1, s2, s3;s1 = new Sample21L;s2 = new Sample21L;s3 = s2;long m = 21L;}}哪个表达式返回true;A. s1 == s2;B. s2 == s3;C. m == s1;D. m.答案 b前面已经叙述过==操作符和String的equals方法的特点,另外==操作符两边的操作数必须是同一类型的可以是父子类之间才能编译通过;22.给出下面有关List的表达式:多选题List l = new List6,true;哪些叙述是对的;A. 在没有其它的约束的条件下该列表将有6行可见;B. 一行的最大字符数是6C. 列表将允许用户多选;D. 列表只能有一项被选中;答案acList组件的该构造方法的第一个参数的意思是它的初始显式行数,如果该值为0则显示4行,第二个参数是指定该组件是否可以多选,如果值为true则是可以多选,如果不指定则缺省是不能多选;23.给出下面的代码:单选题class Person {String name,department;public void printValue{}}public class Teacher extends Person {int salary;public void printValue{}}下面的哪些表达式可以加入printValue方法的"doing the same as..."部分A. printValue;B. ;C. ;D. .答案 d子类可以重写父类的方法,在子类的对应方法或其它方法中要调用被重写的方法需要在该方法前面加上”super.”进行调用,如果调用的是没有被重写的方法,则不需要加上super.进行调用,而直接写方法就可以;这里要指出的是java支持方法的递归调用,因此答案a和b在语法上是没有错误的,但是不符合题目代码中说明处的要求:即做和父类的方法中相同的事情打印名字和部门,严格来说也可以选a和b;24.给出下面的代码片断:多选题1 switchm2 {3 k;4 case 2:56 }m为哪些值将导致"default"输出A. 0B. 1C. 2D. 3答案cd此题考察switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte、short、char型的值,case中需要注意的是一个case后面一般要接一个break 语句才能结束判断,否则将继续执行其它case而不进行任何判断,如果没有任何值符合case列出的判断,则执行default的语句,default是可选的,可以没有,如果没有default 而又没有任何值匹配case中列出的值则switch不执行任何语句;25.给出下面的不完整的方法:多选题12 { success = connect;3 if success==-1 {4 throw new TimedOutException;5 }6}TimedOutException 不是一个RuntimeException;下面的哪些声明可以被加入第一行完成此方法的声明;A. public void methodB. public void method throws ExceptionC. public void method throws TimedOutExceptionD. public void method throw TimedOutExceptionE. public throw TimedOutException void method答案b、c如果程序在运行的过程中抛出异常,而这个异常又不是RuntimeException或者Error,那么程序必须捕获这个异常进行处理或者声明抛弃throws该异常,捕获异常可以使用try{}catch{}语句,而抛弃异常在方法声明是声明,在方法的声明后面加上throws XxxxException,抛弃多个异常时在各异常间使用逗号,分隔,题目中的程序在运行时抛出的不是一个RuntimeException,所有必须捕获或者抛弃,而程序又没有捕获,所有应该在方法声明中声明抛弃;由于Exception是所有异常的父类,所有当然也可以代表RuntimeException了;26.下面的哪些答案可以正确表示一个十六进制数字10单选题A. 0xAB. 0x16C. 0AD. 016答案 a十六进制数以0x开头,以0开头的是八进制数;十六进制表示中的a,b,c,d,e,f依次为10,11,12,13,14,15;27.给出下面的代码:单选题1 public class Test {2} int m, n;3} public Test {}4} public Testint a { m=a; }5} public static void mainString arg {6} Test t1,t2;7} int j,k;8} j=0; k=0;9} t1=new Test;10} t2=new Testj,k;11} }12} }在编译时哪行将导致一个错误A. line 3B. line 5C. line 6D. line 10答案 d第10行的声明调用一个带两个参数的Test的构造方法,而该类没有这样的构造方法;二、简答题1.读如下程序,说出结果,并说明得出结果原因10分;public class BreakContinue {public static void mainString args {for int i = 0; i < 10; i++ {ifi == 3 || i == 5 {continue;}for int j = 0; j < i; ++j {if i + j > 5 {break;}}if i == 6 {break;}}}}答案:1,2,3,4,52.读程序,说出j值,并说明得出结果原因10分;public class Test {private static int j = 0;public static void mainString args {methodA0;}private static boolean methodBint k{j += k;return true;}public static void methodAint i {boolean b;b = i < 10 | methodB4;b = i < 10 || methodB8; 序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母;importpublic class Ex26 {public static void mainString args{//保存用户输入的第二个字母char weekSecond;//将Scanner类示例化为input对象,用于接收用户输入Scanner input = new Scanner;//开始提示并接收用户控制台输入"请输入星期值英文的第一个字母,我来帮您判断是星期几:";String letter = ;//判断用户控制台输入字符串长度是否是一个字母if == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入char weekFirst = 0;switch weekFirst{case'm'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'M':"星期一Monday";break;case't'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'T':"由于星期二Tuesday与星期四Thursday均以字母T开头,故需输入第二个字母才能正确判断:"; letter = ;//判断用户控制台输入字符串长度是否是一个字母if == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入weekSecond = 0;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能if weekSecond == 'U' || weekSecond == 'u'{"星期二Tuesday";break;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能} else if weekSecond == 'H' || weekSecond == 'h'{"星期四Thursday";break;//控制台错误提示} else{"输入错误,不能识别的星期值第二个字母,程序结束";break;}} else {//控制台错误提示"输入错误,只能输入一个字母,程序结束";break;}case'w'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'W':"星期三Wednesday";break;case'f'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'F':"星期五Friday";break;case's'://当输入小写字母时,利用switch结构特性执行下一个带break语句的case分支,以实现忽略用户控制台输入大小写敏感的功能case'S':"由于星期六Saturday与星期日Sunday均以字母S开头,故需输入第二个字母才能正确判断:"; letter = ;//判断用户控制台输入字符串长度是否是一个字母if == 1{//利用取第一个索引位的字符来实现让Scanner接收char类型输入weekSecond = 0;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能if weekSecond == 'A' || weekSecond == 'a'{"星期六Saturday";break;//利用或||运算符来实现忽略用户控制台输入大小写敏感的功能} else if weekSecond == 'U' || weekSecond == 'u'{"星期日Sunday";break;//控制台错误提示} else{"输入错误,不能识别的星期值第二个字母,程序结束";break;}} else{//控制台错误提示"输入错误,只能输入一个字母,程序结束";break;}default://控制台错误提示"输入错误,不能识别的星期值第一个字母,程序结束";break;}} else{//控制台错误提示"输入错误,只能输入一个字母,程序结束";}}}。
JAVA基础知识考核(含答案).docx
精品文档JAVA基础知识考核题班级:姓名:成绩:一、选择题( 80 分,每题 2 分)1.J ava编译器的命令是(D)A. javaB.appletviewerC.jdbD.javac2.Java 解释器的命令是(A)A. javaB.appletviewerC.jdbD.javac3.Java 开发人员使用的开发工具包是( C)A. JVMB.JREC.JDKD.Eclipse4.下列说法正确的是(B)A. 使用 Java 语言开发的程序可以在任何平台下运行,且不需要JREB. 使用 Java 语言开发的程序可以在任何平台下运行,但需要JREC. Java 虚拟机是独立的,JDK 中不包含虚拟机D.Java 语言编译后是字节码文件,操作系统可直接执行5.下列全部是合法的Java 标识符的是( B )A.09stu teacher $moneyB_salary post123nameC case abstract finalD#ID list today6.程序中有如下语句final float PI = 3.14f;下列说法正确的是( C )A PI 是一个变量,初始化的值是 3.14.B定义有错误, PI 是 float 类型 3.14 后不能加 fC PI 是一个常量,其值是 3.14D 对 PI 可以重新赋值,如PI = 3.1415926;7 下列初始化值正确的是(B)A float score = 90.5;B boolean flag = false;C char name = " 张三 ";D boolean num = 1;8.有如下代码精品文档class ScopeVar {public static void main(String [ ] args) {int num = 10;if ( num = = 10) {int num1 = num * num;}num1 = num1+10;System.out.println(num1);}}输出正确的是(D)A 110B20C不确定D程序错误9. 下面对 Scanner 描述正确的是(C)A Scanner 类提供输入数据的方法,但只能输入字符串B Scanner 的使用方法: Scanner.next();C使用 Scanner 需要导入 java.util.Scanner 类D从键盘读取一个整数的方法Scanner sc = new Scanner();int num =sc.nextInt();10. 有 String str1="hello";int num=100;则对str1+100 说法正确的是(A)A str1+100 的值是一个字符串hello100B str1+100 会产生语法错误,字符串不能和整数相加C str1+100 不会产生语法错误,最终的结果是100, str1 的值被忽略掉D str1+100 不会产生语法错误,最终的结果是hello, 100 被忽略掉11.哪种方法返回 String 中的字符数 ( B )A. size()B. length()C.width()D.girth()12. 下面创建数组正确的是BA int[]int_array=int[10];B int[]int_array=new int[10];C int[]int_array=new int(10);D int[]int_array = new int{10};13.研究下面的 Java 代码:switch(x){case 1:System.out.println(1);case 2:case 3:System.out.println(3);case 4:精品文档System.out.println(4);}当 x=2 时,运行结果是(C)A没有输出任何结果B输出结果为 3C输出结果为 3 和 4D输出结果为 1、 3 和 414.给定一个 Java 程序的代码片段,如下if(grade== ’A’||grade==’B’)score = 90;else if(grade == ’C’||grade =‘D ’) score = 70;elsescore = 60;把这段代码转换为switch 语句,以下正确的是:(D)A switch(grade){case ‘A’:case ‘B ’:score =90; case ‘C’:case ‘D ’score =70; default:score = 60;}B switch(grade){case ‘A’:break;case ‘B ’:score = 90;case ‘C’:break;case ‘D ’score = 70;Default:score = 60; break;}C switch(grade){case ‘B ’:score = 90;break;case ‘D ’score = 70;break;default:score = 60; break;}D switch(grade){case ‘A’:case ‘B ’:score = 90; break;case ‘C’:case ‘D ’score = 70; break;Default:score = 60; break;}15.阅读以下代码import java.util.Scanner;public class Test{public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println( “请输入买包子所用的钱的数目”)double money = sc.nextDouble();int count = buy(money);System.out.println( “可买包子的数目为:”+count);}public static int buy(double money){int count = (int) (money/0.4);return count;}}描述正确的是(A)A如果输入 5,输出是:可买包子的数目为:12B如果输入 5,输出是 : 可买包子的数目为: 5C如果输入 5,输出是:可买包子的数目为:12.5D程序错误,没有输出16. 在 Java 中,下列代码运行的结果是(C)public static void main(String[] args){int a=1, b=2, c=3;if (a<0)if (b<0)c=10;elsec=20;System.out.println(c);}A 、输出: 10B 、输出: 20 C、输出: 3 D 、编译报错17.分析下面的 Java 代码片段,编译运行后的输出结果是(D)。
java基础考试题及答案详解
java基础考试题及答案详解1. Java中,哪个关键字用于声明一个类?A. structB. classC. interfaceD. enum答案:B2. 在Java中,下列哪个数据类型是基本数据类型?A. StringB. intC. ArrayListD. HashMap答案:B3. 下列哪个选项是Java中合法的标识符?A. 2variableB. variable2C. _variableD. variable!答案:B4. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. interfaceD. abstract答案:A5. 在Java中,下列哪个关键字用于创建一个接口?A. classB. structC. interfaceD. enum答案:C6. Java中,哪个关键字用于抛出异常?A. throwB. throwsC. catchD. try答案:B7. 在Java中,下列哪个选项是正确的方法重载?A. 方法名相同,参数列表相同B. 方法名相同,参数列表不同C. 方法名不同,参数列表相同D. 方法名不同,参数列表不同答案:B8. Java中,下列哪个关键字用于声明一个抽象类?A. abstractB. finalC. staticD. synchronized答案:A9. 在Java中,下列哪个选项是正确的继承关系?A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类不能继承任何类D. 一个类可以继承所有类答案:A10. Java中,下列哪个关键字用于声明一个静态方法?A. staticB. finalC. synchronizedD. abstract答案:A11. 在Java中,下列哪个关键字用于声明一个常量?A. staticB. finalC. synchronizedD. abstract答案:B12. Java中,哪个关键字用于声明一个同步方法?A. synchronizedB. staticC. finalD. abstract答案:A13. 在Java中,下列哪个选项是正确的数组初始化方式?A. int[] myArray = new int[5];B. int[] myArray = new int(5);C. int[] myArray = {1, 2, 3};D. int[] myArray = new int[]{1, 2, 3};答案:D14. Java中,下列哪个关键字用于声明一个内部类?A. classB. structC. interfaceD. enum答案:A15. 在Java中,下列哪个选项是正确的泛型使用方式?A. List list = new ArrayList();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<String>();D. List<String> list = new ArrayList();答案:B。
(完整版)Java基础试题和答案
(完整版)Java基础试题和答案Java 试题1)java 程序中,main 方法的格式正确的是()。
(选择一项)a)staticvoidmain(String[]args)b)publicvoidmain(String[]args)c)publicstaticvoidmain(String[]s)d)publicstaticvoidmain(String[]args)2)给定java 代码,如下:publicbytecount(byteb1,byteb2){return ;}要使用这段代码能够编译成功,横线处可以填入()。
(选择一项)a)(byte)(b1-b2)b)(byte)b1-b2c)b1-b2d)(byte)b1/b23)在Java 中,在包com.db 下定义一个类,要让包com.util 下的所有类都可以访问这个类,这个类必须定义为()。
(选择一项)a)protectedb)private c)public d)friendly4)在Java 中,下列()语句不能通过编译。
(选择一项)a)Strings=“join”+“was”+“here”;b)Strings=“join”+3;c)inta=3+5d)floatf=5+5.5;5)在Java 中下列()方法可以把JFrame 的布局管理器设为FlowLayout 类型(选择一项)a)jFrame.setLayout(newFlowLayout()); b)jFrame.addLayout(newFlowLayout())c)jFrame.setFlowLayout()d)jFrame.addFlowLayout()6)给定java 代码如下,运行时,会产生()类型的异常。
(选择一项)Strings=null;s.concat(“abc”);a)ArithmeticException b)NullPointerException c)IOException d)EOFException7)在java 中,()对象可以使用键/值的形式保存数据。
JAVA基础考试题及答案
(通用版)JAVA基础考试题及答案一、选择题】、以下关于java中抽象类的说法正确的有(A)A、含有抽象方法的类必须声明为抽象类B、抽象类中不可以有非抽象方法C、抽象类中至少需要包含一个抽象方法D、抽象类无法实例化2、以下哪个关键字可以用于实现同步(C)nativeA、staticsynchronizedB、finalize3、以下哪些集合属于Collection的子类(C D)[选两项]A、TreeMapHashtableB、ArrayListHashSet4、下面关于线程的说法错误的选项是(B)A、线程其实就是进程中的一个控制单元,它负责就是程序的执行。
一个进程中至少有一个线程B、当一个类实现了 Runnable接口后,并实现了其run方法,就可以直接调用这个类的start方法开启线程C、继承Thread类或者实现Runnable接口都可以封装线程要执行的任务D、Thread类本身就是一个线程类,可以直接创立Thread类对象,开启线程5、下面关于map集合说法正确的选项是(A)A、map集合中不能直接使用Ileralor■进行迭代B、对map集合使用keySet方法,会得到所有value的值组成•个list集合C、使用map的append方法可以向map集合中添加元索D、使用removeAll方法可以将map集合中的元素清空6以下哪个方法可以使线程从运行状态进入其他阻塞状态(A B )A. sleep B. wait C. yield D. start7、下面的代码段执行之后count的值是什么()int count = 1; ( D )for (int i = 1; i <= 5; i++){ count += i; }System, out. print in (count);A、 5 B、 1 C、 15 D、 168、如果需要从文件中读取数据,那么可以在程序中创立哪一个类的对象(A)A、 FilelnputStream B、Fi1eOutputStrearnC、 DataOutputStreamD、 FileWriter9、以下对接口描述错误的有(D )A)接口没有提供构造方法B)接口中的方法默认使用public、abstract修饰C)接口中的属性默认使用public、static、final修饰D)接I」不允许多维承10、以下关于final关键字说法错误的选项是(A C )(两项)final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性A)final修饰的类肯定不能被继承final修饰的方法不能被重载B)final修饰的变量不允许被再次赋值11、构造ArrayList类的一个实例,此类继承了 List接口,以下哪个方法是正确的(B )。
java基础考试试题及答案
java基础考试试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪一类编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案:B2. 下列哪个是Java的关键字?A. classB. functionC. defineD. include答案:A3. Java中,哪个关键字用于定义一个类?A. classB. structC. typeD. interface答案:A4. Java中的main方法必须定义为:A. public static void main(String args[])B. private static void main(String[] args)C. public static void main(String[] args)D. public void main(String args[])答案:A5. 以下哪个是Java的合法标识符?A. 2variableB. variable2C. variable#2D. variable-2答案:B6. Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. super答案:A7. Java中,哪个关键字用于实现多态?A. overloadB. overrideC. polymorphD. overloading答案:B8. Java中,哪个关键字用于定义接口?A. classB. structC. interfaceD. package答案:C9. Java中,哪个关键字用于定义包?A. packageB. classC. importD. export答案:A10. Java中,哪个关键字用于实现异常处理?A. tryB. catchC. finallyD. all of the above答案:D二、填空题(每空2分,共20分)1. Java是一种________面向对象的编程语言。
java考试试题及答案
java考试试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. abstractD. interface答案:B2. 下列哪个选项是Java中定义方法的语法?A. public void myMethod();B. public void myMethod;C. public void myMethod{}D. public void myMethod()答案:A3. 在Java中,下列哪个选项不是基本数据类型?A. intB. doubleC. StringD. char答案:C4. 下列哪个关键字用于抛出异常?A. throwB. throwsC. exceptionD. catch答案:B5. 在Java中,下列哪个选项是正确的继承关系?A. class A extends BB. class A implements BC. class A implements AD. class A extends B implements C答案:D6. 下列哪个选项是Java中正确的包声明?A. package com.example;B. package com.example:C. package com.example;D. package com.example;答案:A7. 在Java中,下列哪个选项是正确的数组初始化方式?A. int[] myArray = new int[10];B. int[] myArray = {10};C. int[] myArray = new int[]{1, 2, 3};D. All of the above答案:D8. 下列哪个选项是Java中正确的方法重载?A. public void print(int i);B. public int print(int i);C. public void print();D. All of the above答案:D9. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. abstractD. enum答案:A10. 下列哪个选项是Java中正确的泛型声明?A. List<String> list = new ArrayList<>();B. List<String> list = new ArrayList<String>();C. List list = new ArrayList<>();D. List<String> list = new ArrayList<Object>();答案:A二、填空题(每题2分,共20分)1. 在Java中,____关键字用于定义一个包。
java基础试题及答案
java基础试题及答案第一题:请简要解释Java中的面向对象编程(OOP)的概念。
答案:面向对象编程是一种编程范式,它以对象作为基本单元,通过封装、继承和多态等机制来进行程序设计。
在Java中,面向对象编程是一种重要的编程方法,通过将数据和相关操作封装在类中,以实现代码的模块化和复用。
这样可以使程序更加可靠、灵活和易于扩展。
第二题:请简要解释Java中的封装性。
答案:封装性指的是将数据和方法封装在类中,并对外部使用者隐藏其内部实现细节的特性。
通过封装,可以确保数据的安全性和完整性,同时提供公共接口以供外部使用者进行访问和操作。
在Java中,使用关键字private、protected和public来控制成员变量和方法的访问权限。
第三题:请简要解释Java中的继承性。
答案:继承性指的是子类可以继承父类的属性和方法,从而可以在不重复编写代码的情况下拥有父类的功能。
在Java中,使用关键字extends来实现类的继承关系。
子类可以通过继承父类来获取父类的非私有成员,并可以重写父类的方法以实现自己的逻辑。
继承性能够实现代码的重用与扩展。
第四题:请简要解释Java中的多态性。
答案:多态性指的是同一类型的对象在不同情况下表现出不同的行为。
在Java中,多态性可以通过继承和接口实现。
通过方法的重写和重载,一个类可以以多种形态存在,从而实现代码的灵活性和可拓展性。
多态性是面向对象编程中的重要特性,可以提高代码的可读性和可维护性。
第五题:请简要解释Java中的抽象类和接口的区别。
答案:抽象类和接口都是用于实现Java中的多态性和代码重用。
区别在于:抽象类可以包含实现了的方法和成员变量,而接口只能包含方法和常量的声明;类只能继承一个抽象类,但可以实现多个接口;抽象类可以通过继承来建立父子关系,而接口只能通过实现来建立类与接口的关系。
抽象类更适合描述类之间的"is-a"关系,而接口则更适合描述类之间的"has-a"关系。
java基础考试试题及答案
java基础考试试题及答案一、选择题(每题2分,共20分)1. Java中,哪个关键字用于定义一个类?A. classB. structC. functionD. interface答案:A2. 下列哪个选项不是Java的原始数据类型?A. intB. floatC. doubleD. String答案:D3. Java中,哪个方法用于获取数组的长度?A. length()B. size()C. count()D. getLength()答案:A4. 在Java中,哪个关键字用于捕获异常?A. tryB. catchC. finallyD. both A and B答案:D5. 下列哪个选项不是Java的集合框架中的接口?A. ListB. SetC. MapD. Array答案:D6. Java中,哪个关键字用于实现多线程?A. threadB. processC. thread ofD. implements Runnable答案:D7. 在Java中,哪个关键字用于定义接口?A. classB. structC. interfaceD. enum答案:C8. Java中,哪个关键字用于定义包?A. packageB. importC. exportD. include答案:A9. 在Java中,哪个关键字用于声明一个方法?A. functionB. methodC. procedureD. def答案:B10. Java中,哪个关键字用于实现单例模式?A. synchronizedB. staticC. finalD. volatile答案:B二、填空题(每题2分,共20分)1. Java中的________关键字用于定义一个私有方法,该方法只能在定义它的类中被访问。
答案:private2. 在Java中,________关键字用于定义一个方法,该方法没有返回值。
答案:void3. Java中的________关键字用于声明一个变量,该变量的值在初始化后不能被改变。
2013《Java语言程序设计》A卷_答案
2012-2013学年第二学期《JA V A语言程序设计》考试卷A答题纸授课班号273602 年级专业学号姓名一、问答题(共10分,每小题5分)1.(1)基本数据类型长度一致,与平台无关(2’)(2)Java的解释执行过程(3’)2.封装性:将一组相关的数据和数据上的操作集合在一起,形成一个封装体(1’)继承性:子类可以沿用父类(被继承类)的某些属性和行为;子类也可以具有自己独立的属性和操作;子类还可以覆盖父类的属性和操作(2’)多态:使用相同的方法名称,调用(动态绑定)不同的方法实现。
多态实现两种形式,(1)方法重载(overload):方法名称相同,方法参数不同;(2)方法覆盖(overriding):方法名称相同,方法参数也相同二、选择题(共30分,每小题2分。
把最恰当的答案题号填入括号内)四、填空题 (共20分,每空2分)1 (1) Java Application (2) Java Applet2 (3) \”3 (4) middle (5)middle+1/middle (6)middle-1/middle4 (7) 1.0/(i*i) (8) Math.sqrt(6*a)5 (9) 抽象(10) 最终6 (11) 5 (12) Component7 (13) 错误(14) 异常8 (15) 进程(16) 继承Thread类(17) 实现Runnable接口9 (18) Set (19) List10 (20) 端口五、读程序,请严格按照输出格式写出输出结果Array(共20分,每小题2分)六、编程题,写出完整结果(共10分,每小题5 Array分)1. 请写出完整程序class Expr11{public Expr11(int i){}}class Expr12 extends Expr11{public Expr12(int i){super(i);}}public class Expr13 {public static void main(String[] args) {Expr11 e1=new Expr11(1);Expr12 e2=new Expr12(2);}}2. 请写出完整程序import java.awt.*;import java.awt.event.*;import java.io.*;public class UserFrame extends Frame {private TextArea text=new TextArea(20,40);private Button button=new Button("保持");private class ButtonClick implements ActionListener{ public void actionPerformed(ActionEvent event){ try{FileWriter writer=new FileWriter("user.txt");writer.write(text.getText());writer.close();}catch(IOException e){e.printStackTrace();}}}public UserFrame(){this.setLayout(new FlowLayout());this.add(text);this.add(button);button.addActionListener(new ButtonClick());}public static void main(String[] args) {UserFrame frame=new UserFrame();frame.setSize(400,300);frame.setVisible(true);}}。
完整版)Java基础试题及其答案
完整版)Java基础试题及其答案无法确定输出结果,因为代码中缺少输出语句。
1) 正确的main方法格式是public static void main(String[] args)。
2)要使代码编译成功,横线处可以填入(a) (byte) (b1-b2)。
3).db下的类,这个类必须定义为public。
4)不能通过编译的语句是(d) float f=5+5.5.因为5和5.5的数据类型不同,无法进行加法运算。
5)可以把JFrame的布局管理器设为FlowLayout类型的方法是(a) ___())。
6)运行时会产生空指针异常,即(b) ___。
7)可以使用键/值形式保存数据的对象是(c) HashMap。
8)无法确定输出结果,因为代码中缺少输出语句。
14)答案为a。
因为在for循环外面的System.out.print(i)会报错,i的作用域只在for循环内部。
15)答案为b和c。
因为Integer.valueOf(int i)和new Integer(int i)都可以将int类型转换成Integer类型。
16)答案为b。
当对null对象进行操作时,会产生___异常。
17)答案为1.因为indexOf方法返回的是目标字符串在原字符串中第一次出现的位置,从0开始计数,所以5的位置是1.18)答案为b。
在Java中,接口是通过implements关键字来实现的,而不是extends关键字。
所以正确的语句应该是interface A implements B,C。
可以在代码A处加入的代码是(d)tt.jump()。
在JAVA语言中,下面变量命名合法的有(a)variable123和(d)variable_123.给定一段JAVA代码如下:要打印出list中存储的内容,以下语句正确的是(a)while(it.hasNext())system.out.println(it.next())和(b)for(int i=0.i<list.size()。
【免费下载】213java基础试卷A及答案
【15】7.下列哪一种叙述是正确的( )
A. abstract修饰符可修饰字段、方法和类 B. 抽象方法的body部分必须用一对大括号{ }包住 C. 声明抽象方法,大括号可有可无 D. 声明抽象方法不可写出大括号
解答:D abstract 可以修饰方法和类,不能修饰属性。抽象方法没有方法体,即没有大括号{} 【17】8.链表具有的特点是:(选择3项) A、不必事先估计存储空间 B、可随机访问任一元素 C、插入删除不需要移动元素 D、所需空间与线性表长度成正比 解答:ACD A.采用动态存储分配,不会造成内存浪费和溢出。 B. 不能随机访问,查找时要从头指针开始遍历 C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素 D. 需要用额外空间存储线性表的关系,存储密度小 【18】9.Java语言中,String类的IndexOf()方法返回的类型是?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A卷姓名:_______________一.选择题:(每题3分,共60分)【1】1.下面中哪两个可以在A的子类中使用:()class A {protected int method1 (int a, int b) {return 0;}}A. public int method 1 (int a, int b) { return 0; }B. private int method1 (int a, int b) { return 0; }C. public int method1 (int a, long b) { return 0; }D. public short method1 (int a, int b) { return 0; }解答:AC主要考查子类重写父类的方法的原则B,子类重写父类的方法,访问权限不能降低C,属于重载D,子类重写父类的方法返回值类型要相同或是父类方法返回值类型的子类【7】2.下面关于变量及其范围的陈述哪些是不正确的():A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化解答:BC由static修饰的变量称为类变量或是静态变量方法加载的时候创建局部变量【9】3.执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的():A、 x[24]为0B、 x[24]未定义C、 x[25]为0D、 x[0]为空解答:Ax属于引用类型,该引用类型的每一个成员是int类型,默认值为:0【11】4.关于以下application的说明,正确的是():1. class StaticStuff2. {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=5D、编译通过,执行结果为:x=3解答:C自由块是类加载的时候就会被执行到的,自由块的执行顺序是按照在类中出现的先后顺序执行。
【13】5.下列说法正确的有()A. class中的constructor不可省略B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行D.一个class只能定义一个constructor解答:C构造方法的作用是在实例化对象的时候给数据成员进行初始化A.类中如果没有显示的给出构造方法,系统会提供一个无参构造方法B.构造方法与类同名,类中可以有和类名相同的方法D.构造方法可以重载【14】6.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法解答:DA. 实例方法不可直接调用超类的私有实例方法B. 实例方法不可直接调用超类的私有的类方法C.要看访问权限【15】7.下列哪一种叙述是正确的()A. abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号解答:Dabstract可以修饰方法和类,不能修饰属性。
抽象方法没有方法体,即没有大括号{} 【17】8.链表具有的特点是:(选择3项)A、不必事先估计存储空间B、可随机访问任一元素C、插入删除不需要移动元素D、所需空间与线性表长度成正比解答:ACDA.采用动态存储分配,不会造成内存浪费和溢出。
B. 不能随机访问,查找时要从头指针开始遍历C. 插入、删除时,只要找到对应前驱结点,修改指针即可,无需移动元素D. 需要用额外空间存储线性表的关系,存储密度小【18】9.Java语言中,String类的IndexOf()方法返回的类型是?6 B、Int32 C、int D、long解答:CindexOf方法的声明为:public int indexOf(int ch)在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回-1。
【19】10.以下关于面向对象概念的描述中,不正确的一项是()。
(选择1项)A.在现实生活中,对象是指客观世界的实体B.程序中的对象就是现实生活中的对象C.在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class)D.在程序中,对象是一组变量和相关方法的集合解答:B【20】11.执行下列代码后,哪个结论是正确的 String[] s=new String[10];A. s[9] 为 null;B. s[10] 为 "";C. s[0] 为未定义D.s.length 为10解答:ADs是引用类型,s中的每一个成员都是引用类型,即String类型,String类型默认的值为nulls数组的长度为10。
【21】12.属性的可见性有。
(选择3项)A.公有的B.私有的C.私有保护的D.保护的解答:ABD属性的可见性有四种:公有的(public)保护的(protected)默认的私有的(private)【22】13.在字符串前面加上_____符号,则字符串中的转义字符将不被处理。
(选择1项)A @B \C #D %解答:B【24】14.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:(选择1项)A {314,298,508,123,145,486}B {298,314,508,123,486,145}C {298,123,314,508,486,145}D {123、298,314,508,486,145}解答:B插入排序算法:public static void injectionSort(int[] number) {// 第一个元素作为一部分,对后面的部分进行循环for (int j = 1; j < number.length; j++) {int tmp = number[j];int i = j - 1;while (tmp < number[i]) {number[i + 1] = number[i];i--;if (i == -1)break;}number[i + 1] = tmp;}}【25】15.栈是一种。
(选择1项)A 存取受限的线性结构B 存取不受限的线性结构C 存取受限的非线性结构D 存取不受限的非线性结构解答:A栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。
【26】16.下列哪些语句关于内存回收的说明是正确的。
(选择1项)A.程序员必须创建一个线程来释放内存B.内存回收程序负责释放无用内存C.内存回收程序允许程序员直接释放内存D.内存回收程序可以在指定的时间释放内存对象解答:B垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,即使程序员能明确地判断出有一块内存已经无用了,是应该回收的,程序员也不能强制垃圾收集器回收该内存块。
程序员唯一能做的就是通过调用System. gc 方法来"建议"执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。
【27】17.Which method must be defined by a class implementing theng.Runnable interface?A. void run()B. public void run()C. public void start()D. void run(int priority)E. public void run(int priority)F. public void start(int priority)解答:B实现Runnable接口,接口中有一个抽象方法run,实现类中实现该方法。
【28】18. Given:public static void main(String[] args) {Object obj = new Object() {public int hashCode() {return 42;}};System.out.println(obj.hashCode());}What is the result?A. 42B. An exception is thrown at runtime.C. Compilation fails because of an error on line 12.D. Compilation fails because of an error on line 16.E. Compilation fails because of an error on line 17.解答:A匿名内部类覆盖hashCode方法。
【29】19. Which two are reserved words in the Java programming language? (Choose two)A. runB. importC. defaultD. implements解答:BDimport导入包的保留字,implements实现接口的保留字。
【30】20. Which two statements are true regarding the return values of property written hashCodeand equals methods from two instances of the same class? (Choose two)A. If the hashCode values are different, the objects might be equal.B. If the hashCode values are the same, the object must be equal.C. If the hashCode values are the same, the objects might be equal.D. If the hashCode values are different, the objects must be unequal.解答:CD先通过hashcode来判断某个对象是否存放某个桶里,但这个桶里可能有很多对象,那么我们就需要再通过equals 来在这个桶里找到我们要的对象。