Java基础周测试题库
JAVA笔试题--基础很全有答案

第一组1.下列不可作为java语言修饰符的是(D)A) a1 B) $1 C) _1 D) 112.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对3.整型数据类型中,需要内存空间最少的是(D)A) short B) long C) int D) byte4. Java 类可以作为(C)A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5.在创建对象时必须(C)A) 先声明对象,然后才能使用对象B) 先声明对象,为对象分配内存空间,然后才能使用对象C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D) 上述说法都对6.在调用方法时,若要使方法改变实参的值,可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7. Java中(C)A) 一个子类可以有多个父类,一个父类也可以有多个子类B) 一个子类可以有多个父类,但一个父类只可以有一个子类C) 一个子类可以有一个父类,但一个父类可以有多个子类D) 上述说法都不对8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B)A) 安全性B) 多线性C) 跨平台D) 可移植9. Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲,后者没有C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用10.以下声明合法的是( D )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )11.关于以下application的说明,正确的是( C )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=312.关于以下程序代码的说明正确的是( D )1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10213.以下选项中循环结构合法的是( C )A、while (int i<7){ i++;System.out.println(“i is “+i);}B、int j=3;while(j){System.out.println(“ j is “+j);}C、int j=0;for(int k=0; j + k !=10; j++,k++){System.out.println(“ j is “+ j + “k is”+ k);}D、int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14.类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。
Java基础语法测试题(1)---答案

1、以下为一个名为HelloWorld的Java文件,要使其编译和运行,在屏幕上显示“你好〞。
哪句有错误?public class Helloworld{ ①public static void main(String[] args){ ②System.out.println("你好"); ③}}A.①有错B.②有错C.③有错D.没有错2、Java源文件和编译后的文件扩展名分别为A、.class和 .javaB、.java和 .classC、.class和 .classD、.java和 .java3. 以下正确编写入口点语句的是A. public void static main(String[] args)B. public void static main(string[] args)C. public static void main(string[] args)D. public static void main(String[] args)4、以下声明变量方式正确的选项是A.int a=1,double b=12345;B. int c=12;double d=154;C. char e=’ok’;D. boolean f=0;5、以下程序能正确执行的是A.public class helloworld{public static void main(string[] args){System.out.println(“helloworld!〞);}}B.public class helloworld{public static void main(String[] args){System.out.println(“helloworld!〞)}}C.public class helloworld{public static void main(String[] args){System.out.print(“helloworld!〞);}}D.public class helloworld{public static void main(String[] args);{System.out.println(“helloworld!〞);}}6、新建一个Hello.java文件存放在E盘test文件夹,以下语法在命令模式中正确是A.切换源文件所在目录: cd \d E:/testB.用javac命令编译源文件: javac Hello.javaC.在命令模式下java hello命令执行时生成Hello.class文件D.运行程序: java hello.java7、以下变量名合法的是A. basicSalaryB. 2_stNameC.byte-sizeD. hello world8、以下对数组进行初始化错误的选项是:A.int[] intArray={1,2,3,4,5};B.int[] intArray=new int[]{1,2,3,4,5};C.int[] intArray=new int[5];D.int[] intArray=new int[5]{1,2,3,4,5};9、以下程序存在语法错误的选项是A.int i=0;for(;i<10;){i++;System.out.prinln(i);}B.for(int i=0;i<10;i++);System.out.println(i);for(;;){System.out.println(i);}C.for(int i=0;i<10;i++)System.out.println(i);D.int i=0;10、以下代码执行的结果是:for(int i=0;i<10;i++){if(i%2==0){continue;System.out.print(i);}System.out.print("a");}A.0a2a4a6a8aB.0aa2aa4aa6aa8aaC.aaaaaD.1a3a5a7a9a11、编译并运行下面代码出现的结果?int i=1;switch (i) {case 0:System.out.print("zero");break;case 1:System.out.print("one");case 2:System.out.print("two");default:System.out.print("default");}A、oneB、one two defaultC、onetwodefaultD、default12、public class aa {public static void main(String[] args) { int a=5,c=5,b,d;b=a++-1;d=++c-1;System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}输出a,b,c,d分别是A、5,4,5,5B、6,5,6,5C、6,4,6,4D、6,4,6,513、for(int i=100;i>=1;i--){if(i%3==0 && i%5==0){System.out.print(i+〞〞);break;}}for(int j=0;j<10;j++){if(j%2==0)continue;System.out.print(j+〞〞);}输出 i,j 分别是A、i:90j:1 3 5 7 9B、i: 90 75 60 45 30 15j:2 4 6 8C、i:90j:2 4 6 8D、i: 90 75 60 45 30 15j:1 3 5 7 914、以下程序无语法错误的选项是A.public class helloworld{public static void main(string[] args){boolean b1,b2;if(b1==b2){System.out.println(b1);}}}B.public class helloworld{public static void main(String[] args){int a=8;if(1<=a<=10){a=10;}}}C.public class helloworld{public static void main(String[] args){int a=8,b=18;if(a=b){a=100;}}}D.public class helloworld{public static void main(String[] args);{int n=10;boolean b=(n<8)&&((n=1)!=0);System.out.println(n);System.out.println(b);}}15、以下语句输出不为死循环的是A、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i++;}System.out.println(i);}}B、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;){i--;System.out.println(i);}}}C、public class BreakDemo{public static void main(String[] args){int i=0;for(;i<10;i++){i--;System.out.println(i);}}}D、public class BreakDemo{public static void main(String[] args){int i=0;for(;;){System.out.println(i);}i++;}}16、以下程序执行的结果是Public class IfDemo{Public static void main(String[] args){ int m=9;boolean b=m>9;if(b){m+=1;System.out.println(m);}int n=8;boolean b2=m>9;if(!b2);n++;System.out.println(n);}}A.10 和 8B.10 和 9C.8D.917、下面对于类的命名,正确的选项是A.StringB.My BoxC._BoxD.My.Box18、考察以下两种陈述:陈述1:变量有成员变量和局部变量两种,局部变量的作用域一般比成员变量的作用域要大一些陈述2:在程序中,用属性来表示对象的状态,用方法来表示对象的行为A.陈述1错误,陈述2正确B.陈述1正确,陈述2错误C.两种陈述都正确D.两种陈述都错误19. 预测以下程序的运行结果:public class Cat{String name;public void setName(String n){name = n;}public void cry(){System.out.println(name+":喵!喵~~喵!");}public static void main(String[] args){Cat c = new Cat();c.setName("小花猫");}}A.将输出:小花猫":喵!喵~~喵!"B.程序编译出错C.程序编译无错误,但运行时出错D.程序编译和运行都没错误,但屏幕上没有任何输出20.以下程序运行结果为〔〕public class Test{int x=10;int y=1;public static void main(String [] args){for(int i=0;i!=x-y;i+=2){i+=1;if(i= =5)continue;System.out.println(i);}}}A、1 4 7B、1 5 7 9C、1 3 7 9D、1 3 5 7。
java基础测试题

JA V A练习题一、选择题下列各题A、B、C、D四个选项中,只有一个选项是正确的。
1.下面对形参的说法,( )是正确的。
A.必须有多个B.至少有一个C.可以没有D.只能是简单变量2.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[])3.现在两个类A、B,以下描述中表示B继承自A的是()。
A.class A extends B B.class B implements AC.class A implements B D.class B extends A4.类Test定义如下,将下列( )方法插入③行处是不合法的。
①public class Test{②public float Method (float a,float b){ }③④}A.public float Method (float a,float b,float c){ }B.pubic float Method(float c,float d){}C.public int Method (int a,int b){}D.pivate float Method (int a,int b,int c){}5.在编写异常处理的java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动java的异常处理机制。
A.if-else B.switchC.try D.throw6.下列不属于Java的图形用户界面内容的包是( )。
A.java.awt B.javax.swingC.java.awt.event D.java.io7.有关构造函数的说法不正确的是( )。
Java基础知识测试

单选题:(每道题目2分)1. 下列哪个声明是错误的?()A. int i=10;B. float f=1.1;C. double d=34.4;D. byte b=127;数据类型long类型后面要加L或者l。
(不超过int范围的整数值直接给long也是没有问题的) float类型后面要加F或者f。
(浮点数据值不加F或者f默认double)定义变量数据类型变量名 = 初始化值;思考下面两种方式的区别?float f = 12.5f; 这就是一个float类型的数据。
float f = (float)12.5; 把double类型转换为float类型,可能有数据的丢失。
2. 下面哪个不是java中的关键字?()A. publicB. trueC. mainD. class关键字:全部小写。
3. 下面程序哪个语句是正确的A. byte a=0,b=3; byte c =a+b;B. short s =23; s=s+12;C. short s=23; s+=12;D. float f = 23+23.23;类型转换。
隐式转换:从小到大byte,short,char → int →long →float →double强制转换:从大到小+=:隐含了强制转换。
4. 下面程序执行的结果是?()class Test{public static void main(String[] args){System.out.println(“”+‘a’+1);}}A. 98B. a1C. 971D. 197类型转换问题。
+的字符串连接符问题。
5. 下面程序执行的结果是?()int i = 100;while(true){if (i++ > 100){break;}System.out.println(i); //101 }A. 100B. 101C. 102D. 报错循环嵌套判断的基本语句问题。
判断语句的格式执行流程问题循环语句的格式执行流程问题6. 下面程序的运行结果是 ( ) int a=3, b=1;if(a==b){System.out.println("a="+a); }A. a=1B. a=3C. 编译错误D. 正常运行但没有输出比较运算符。
Java基础知识笔试题及答案

1.Java中提供了名为()的包装类来包装原始字符串类型。
A.IntegerB.CharC.DoubleD.String答案:D2.ng包的()方法比较两个对象是否相等,相等返回true。
A.toString()B.equals()C.compare()D.以上所有选项都不正确答案:B3.使用()方法可以获得Calendar类的实例。
A.get()B.equals()C.getTime()D.getInstance()答案:D4.下面的集合中,()不可以存储重复元素。
A.SetB.CollectionC.MapD.List答案:C5.关于Map和List,下面说法正确的是( )。
A.Map继承ListB.List中可以保存Map或ListC.Map和List只能保存从数据库中取出的数据D.Map的value可以是List或Map答案:D6.给定如下Java代码,编译运行的结果是()。
import java.util.*;public class Test {public static void main(String[] args) { LinkedList list=new LinkedList();list.add(“A”);list.add(2,”B”);String s=(String)list.get(1);System.out.println(s);}}A.编译时发生错误B.运行时引发异常C.正确运行,输出:AD.正确运行,输出:B答案:B7.请写出下列语句的输出结果char[] data={‘a’,'b’,'c’,'d’};System.out.println(String.valueOf(10D)); System.out.println(String.valueOf(3>2)); System.out.println(String.valueOf(data,1,3)); 参考答案:10.0truebcd8.写出下面代码运行后的输出结果是。
java基础复习题

java基础复习题⼀、单项选择题1、在Java中,关于⽅法重载描述正确的是___D___A 如果两个⽅法名相同、参数项相同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法B 如果两个⽅法名不同、参数项相同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法C 如果两个⽅法名不同、参数项不同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法D 如果两个⽅法名相同、参数项不同,则认为⼀个⽅法是另⼀个⽅法的重载⽅法2、在Java中,关于数组描述正确的是____B____A 数组中的索引下标从1开始B 存储在数组当中的数据都属于同⼀数据类型C 数组创建后其⼤⼩是可以改变的D 数组的最⼤索引下标与数组的长度相等3、给定如下Java代码,关于super的⽤法,以下___C_____哪个描述是正确的class C extends B{public C(){super();}}A ⽤来调⽤B类中定义的super()⽅法B ⽤来调⽤C类中定义的super()⽅法C ⽤来调⽤B类的⽆参构造⽅法//super:⽤作⽗类的D ⽤来调⽤B类的第⼀个出现的构造⽅法4、下列选项中关于this关键字说法正确的是___A_____A this关键字是在对象内部指代对象⾃⾝的引⽤//this:⽤作当前对象B this关键字可以在类中的任何位置使⽤C this关键字和类关联,⽽不是和特定的对象关联D 同⼀个类的不同对象公⽤同⼀个this5、有如下两个类Student和Person,如果Student是Person的⼦类,下列语句错误的是____C____A Person p=new Student();B Person p=new Person();C Student s=new Person();D Student s=new Student6、关于抽象类说法不正确的是 D 。
A 抽象类需要在class前⽤关键字abstract进⾏修饰B 抽象⽅法可以有⽅法体C 有抽象⽅法的类⼀定是抽象类D 抽象类可以没有抽象⽅法();7、关于接⼝说法错误的是___B_____A ⼀个类可以使⽤implements关键字实现多个接⼝,接⼝之间使⽤逗号进⾏间隔B ⼀个类实现接⼝时,必须实现接⼝中定义的所有⽅法C 不能对接⼝直接实例化D 接⼝中的⽅法都是未现的⽅法,且⽆需使⽤abstract关键字进⾏指明8、以下不属于引⽤类型的数据类型是___C___A 类B 数组型C 字符型D 接⼝9、JDK是指 A 。
Java Web基础测试题
1.JAVAEE 中,()类的()方法用于创建对话。
(选择一项)A.HttpServletRequest、getSessionB.HttpServletResponse、newSessionC.HtttpSession、newInstanceD.HttpSession、getSession2.以下()可用于检索session属性userid的值.(选择一项)A.session。
getAttribute (“userid”);B.session。
setAttribute (“userid");C.request。
getParameter (“userid”);D.request. getAttribute (“userid”);3.在JAVAEE中,以下对RequestDispatcher描述正确的是()。
(选择一项)A.Jsp中有个隐含的对象diapatcher,它的类型是RequestDispatcherB.ServletConfig有一个方法:getRequestDispatcher可以返回RequestDipatcher对象C.RequestDipatcher 有一个方法:forward可以把请求继续传递给别的Servlet或者JSP界面D.JSP中有个隐含的默认对象request,它的类型是RequestDipatcher4.在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为()。
(选择一项)A.。
jsp文件B..class文件C..jar文件D.web.xml文件5.关于session的使用,下列说法正确的是().(选择两项)A.不同的用户窗口具有不同的sessionB.不同的用户窗口具有相同的sessionC.session可能超时间D.Session永远不可能超时6.关于 session的说法,说法正确的是()(选择一项)A.session被多个用户共享B.invalidate()方法使用户session失效且无法使用C.用户关闭所有浏览器即释放所有sessionid,且服务器session内存一并被释放D.session生命周期只在一次请求/响应中7.在 JAVAEE中,便用 Resultset对象的 next()方法移动光标时,如果超过界限,会抛出异常,该异常通常是()。
java基础测试题(二)
1.下列哪个选项是合法的标识符 24A.1232.B._name3.C.class4.D.1first5.下列变量定义中,正确的是16. A long 1 = 123L7. B long 1 = 3.14156f8. C int i="k"9. D double = 2f10.switch语句中表达式(expression)的值不允许用的类型是12411. A byte B int C Boolean D char12.13.下列语句中正确的是314. A 1’ B int I=2+’2’;15. C string s =”on”+’one’; D byte b=25716.17.下列的哪个赋值语句是不正确的 12A.float f = ;18.B.double d = ;19.C.float d = 3.14f ;20.D.double f=10f;21.下列的哪个赋值语句是正确的 2A.char a=12;22.B.int a=;23.C.int a=12.0f;24.D.int a=(int);25.给出下列的代码,哪行在编译时可能会有错误 1326.① publ ic void modify(){27.② int i, j, k;28.③ i = 100;29.④ while ( i > 0 ){30.⑤ j = i * 2;31.⑥ (" The value of j is " + j );32.⑦ k = k + 1;33.⑧ }34.⑨ }35.A.line 436.B.line 6C.line 737.D.line 838.下列关于继承的哪项叙述是正确的 3A.在java中允许多重继承39.B.在java中一个类只能实现一个接口40.C.在java中一个类不能同时继承一个类和实现一个接口41.D.java的单一继承使代码更可靠42.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问 4A.private43.B.无修饰符44.C.public45.D.protected46.给出下列代码,如何使成员变量m 被方法fun()直接访问 347.class Test48.{49.private int m;50.public static void fun()51.{52....53.}54.}55.A.将private int m 改为protected int m56.B.将private int m 改为 public int m57.C.将private int m 改为 static int m58.D.将private int m 改为 int m59.下列对Java源程序结构的叙述中,错误的是60. A import语句必须在所有类定义之前61. B 接口定义允许0或者多个62. C Java Application中的public class类定义允许0或多个63. D package 语句允许0或1个64.65.下列关键字中可以表示常量的是66. A final B default C private D transient67.68.在Java语言中,被成为内存分配的运算符是69. A new B instance of C [] D ()70.71.阅读下面程序public class Cycle{public static void main (String args[]){}}在命令中输入java Cycle one two,该程序输出结果是A CycleB oneC twoD 上述A、B、C均不对72.阅读下面程序public calss MyVal{public static void main(String args[]){MyVal m=new MyVal();();}public void amethod(){boolean b[]=new Boolean [5];}}程序编译或运行结果是A 1B nullC “ “D 编译不通过73.接口中,除了抽象方法之外,还可以含有74. A 变量 B 常量 C 成员方法 D 构造方法75.阅读下面程序76. Public class Test2________{77. Public static void main(String[] args){78. Thread t=new Test2();79. ();}Public void run(){are you.”);}}在程序下划线处填入正确选项是A implements ThreadB extemds RunnableC implements runnableD extends Thread80.阅读下面程序Public class Test implements Runnable{Public static void main(String[] args){_____________________________;();}Pubic viod run(){}}在程序下划线处填入正确选项是A Test t = new Test();B Thread t = new Thread();C Thread t = new Thread(new Test());D Test t = new Thread();81.下列带下划线的标识符符合Java 命名约定的是82. A package B public class xvz83. C int I D void setCustomerName()84.JSP中脚本元素不包括:A、表达式(Expression)B、注释C、Java代码片段D、声明(Declaration)85.已知有下列类的说明,则下列哪个语句是正确的86.public class Test87.{88.private float f = 1.0f;89.int m = 12;90.static int n=1;91.public static void main(String arg[])92.{93.Test t = new Test();94.}95.}96.A.;97.B.;98.C.;99.D.;100.下列代码的执行结果是101.public class Test102.{103.public int aMethod()104.{105.static int i=0;106.i++;107.(i);108.}109.public static void main(String args[])110.{111.Test test = new Test();112.();113.}114.}115.A.编译错误116.B.0C.1117.D.运行成功,但不输出118.下面程序的运行结果为 ( )class Parent {int x=10;public Parent(){add(2);}void add(int j){x+=j;}}class Child extends Parent{int x=9;void add(int j){x+=j;}}class T {public static void main(String args []){Parent p = new Child();}}A)9 B)10 C)11 D)12119.以下说法正确的是()A.异常定义了程序中遇到的非致命错误,而不是编译时的语法错误。
Java基础试题及其答案 (1)
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)privatec)publicd)friendly4)在Java中,下列()语句不能通过编译。
(选择一项)a)Strings=“join”+“was”+“here”;b)Strings=“join”+3;“”+newPerson()toString()c)inta=3+5d)floatf=5+5.5;5.5double5.5ffloat6)给定java代码如下,运行时,会产生()类型的异常。
(选择一项)Strings=null;s.concat(“abc”);a)ArithmeticExceptionb)NullPointerExceptionc)IOExceptiond)EOFException已到文件尾,再读取抛出7)在java中,()对象可以使用键/值的形式保存数据。
(选择一项)a)ArrayListList有序可重复b)HashSetSet无序不可重复同一对象是重复的c)HashMapMap(key/value)重复定义:hashCode、equals(业务)d)LinkedListList8)给定如下java代码,编译运行之后,将会输出()。
java测试试卷(七)
JAVA语言基础内部测试题一.单项选择题(请选择最符合题目要求的答案)(每题2分)1.当线程因异常而退出run()后,其所处状态为()A.阻塞状态 B。
运行状态 C、就绪状态D、结束状态2.wait()方法首先是哪个类的方法?()A. ObjectB. Thread.C. RunnableD. File3.如果在关闭socket时发生一个I/O错误,会抛出()。
A.IOExceptionB.UnknownHostExceptionC.SocketExceptionD.MalformedURLExceptin4.用read()方法读取文件内容时,判断文件结束的标记为()A. 0B. 1 C -1 D. 无标记5.以下哪个方法只对使用了缓冲的流类起作用?()A. read()B. write() C skip() D. flush()6.Java提供的那个类来进行有关Internet地址的操作.( )A. SocketB.ServerSocketC. DatagramSocket D InetAddress7.InetAddress类中哪个方法可实现正向名称解析?()A. isReachable()B. getHostAddress()C. getHosstName()D.getByName()8.为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息()A.getPort()B.getHostC.openStream()D.openConnection()9.java程序中,使用TCP套接字编写服务端程序的套接字类是()A. SocketB. ServerSocketC. DatagramSocketD.DatagramPacket10.ServerSocket的监听方法accept()的返回值类型是()A. voidB. ObjectC. SocketD. DatagramSocket11.ServerSocket的getInetAddress()的返回值类型是()A. Socket B ServerSocket C.InetAddress D,.URL12.当使用客户端套接字Socket创建对象时,需要指定()A.服务器主机名称和端口 B、服务器端口和文件C、服务器名称和文件D.服务器地址和文件13.使用流式套接字编程时,为了向对方发送数据,则需要使用哪个方法()A.getInetAddress() B. getLocalPort()C.getOutputStream()D.getInputStream()14.使用UDP套接字通信时,常用哪个类把要发送的信息打包?()A. StringB. DatagramSocketC. MulticastSocketD.DatagramPacket15.使用UDP套接字通信时,哪个方法用于接收数据()A. read()B. receive()C. accept()D. Listen()16.若要取得数据包的中源地址,可使用下列哪个语句()?A. getAddress() B. getPort() C. getName() D.getData()17.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接前,应加载数据库驱动程序,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()18.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为()A Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)B. DriverManage.getConnection(“”,””,””)C.Result rs= DriverManage.getConnection(“”,””,””).createStatement()D. Statement st= DriverManage.getConnection(“”,””,””).createStaement()19.java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()20.java程序与数据库连接后,需要更新某个表中的数据,使用下列哪个语句?()A. executeQuery()B.executeUpdate() C executeEdit() D.executeSelect()二.多项选择题(所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分)(每题2分)1.用Statement对象执行一条新增数据到数据表的语句,可以用以下那些函数完成()A.executeQuery()B.executeUpdate()C.execute()D.close()2.以下那些类创建的对象可以用来执行SQL语句,完成对数据库的新增,修改,删除和查询数据等操作( )A.ConnectionB.ResultSetC.StatementD.PreparedStatement3.以下关于TCP(Transfer Control Protocol) 传输控制协议说法正确的是()A.基于连接的高可靠性传输协议 B. 可以保证数据准确的按顺序到达目的地C. 以流的方式传输数据D. 数据包的大小限制在64K以下4. 以下关于UDP(User Datagram Protocol)用户数据报协议说法正确的是()A. 基于连接的高可靠性传输协议B. 基于无连接的协议C.不会在发送数据之前建立连接,不管传输正确与否,也不保证数据包的正确次序D. 可以广播的方式发送数据,数据包的大小限制在64K以下5. 下列说法错误的有()A、Java面向对象语言容许单独的过程与函数存在B、Java面向对象语言容许单独的方法存在C、Java语言中的方法属于类中的成员(member)D、Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同6. createStatement(int type ,int concurrency)的参数说明:type 参数设置ResultSet 对象中的指针是否能够上下自由移动;可选值为()A. TYPE_FORWARD_ONLY: 只能使用next方法向下移动指针B. TYPE_SCROLL_SENSITIVE: 能够上下移动,且能得到临时修改后的数据库值C. TYPE_SCROLL_INSENSITIVE:能可上下移动,只能得到当前查询的值D.CONCUR_READ_ONLY: ResultSet对象对结果集只能读7.以下关于connection对象提供的方法描述正确的是()A.setAutoCommit(boolean autoCommit) 设置操作是否自动提交到数据库B. commit( ) 提交对数据库的更改,使更改生效C. rollback( ) 回滚当前执行的操作D. isclose( ) 判断连接是否关闭8.PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高,以下描述正确的是()A.可以在执行过程中向该对象中的sql语句传递参数B.对于sql中每个输入参数都保留一个问号“?”作为占位符C.每个?占位符的值必须在该语句执行前被赋值D. 每个?占位符的值可以在该语句执行后被赋值9. 下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法10.关于逻辑操作(&,|,^)与条件操作(&&,||)的说法正确的是()A.条件操作只能操作布尔型的B.逻辑操作不仅可以操作布尔型,而且可以操作数值型C.逻辑操作不会产生短路D.条件操作不会产生短路三.填空题(每空一分,10分)1.网络连接中合法端口的范围是 0 到 65535 ,其中 0~1023 范围的端口为给系统的网络服务与应用预留的2.取得当前线程的语句是: Thread.currrentThread() ;3.可以调用 Thread 类的方法 getPriority()和 setPriority() 来存取线程的优先级,线程的优先级界于1(MIN_PRIORITY)和10(MAX_PRIORITY)之间,缺省是 NORM_PRIORITY4. InetAddress 是用于封装IP地址和DNS的一个类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java基础周测试题库一简答题1.面向对象的特征有哪些方面继承:指的是在现有类的基础上构建新的类。
当一个类继承一个现有类后,可以对该类中非私有的属性和方法进行重用。
在Java中,一个类只能有一个父类,不支持多继承。
继承的好处:实现代码复用。
封装:指的是隐藏对象的属性和实现细节,仅对外提供公共访问方式。
如何实现封装:属性私有化,提供get/set方法来访问.封装的好处:隐藏类的实现细节,限制不合理操作,保证数据的安全。
多态:指的是不同子类对象对同一父类方法的调用,最终产生子类的行为。
实现多态的技术称为:动态绑定,指的是在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
多态的作用:降低类与类之间的耦合度。
多态存在的三个必要条件1)要有继承(必须遵循里氏替换原则);2)要有重写(子类要对父类的方法进行重写);3)父类引用指向子类对象。
多态的好处:1)可替换性(substitutability)。
多态对已存在代码具有可替换性。
例如,多态对圆Circle类工作,对其他任何圆形几何体,如圆环,也同样工作。
2)可扩充性(extensibility)。
多态对代码具有可扩充性。
增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。
实际上新加子类更容易获得多态功能。
例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类的多态性。
3)接口性(interface-ability)。
多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者重写它而实现的。
实现多态的方式:方法重写,方法重载,接口2.Java中的基本数据类型有哪些?Java基本数据类型有8个。
◆整数:byte,short,int,long◆小数:double ,float◆字符:char(最多存1个汉字)◆布尔类型:boolean(true,false)3.String是基本数据类型吗?String不是基本数据类型,是一个引用类型。
被final修饰的类,它不能被继承。
4.int 和 Integer 有什么区别int是基本数据类型,Integer是int的一个包装类,是引用类型int的默认值是0而Integer的默认值是null.float(32位双精度浮点型) Float double(64位双精度浮点型)Double char(16位)Character booleanBoolean5. String ,StringBuffer 和StringBuilder 区别? String 和StringBuffer 都可以对字符串进行存储和操作。
String 类提供了数值不可改变的字符串。
而StringBuffer 提供的字符串可以修改。
在动态拼接字符串StringBuffer 的性能要高于String 。
StringBuffer 和StringBuilder 的主要区别在与线程是否安全。
StringBuffer 线程不安全,而StringBuilder 线程安全。
6.运行时异常与一般异常有何异同? 所谓异常指的是程序运行过程中可能出现的非正常状态。
运行时异常表示虚拟机在操作过程中可能遇到的异常,是一种常见的运行错误。
一般异常表示java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
比如空指针。
7.说出ArrayList,Vector, LinkedList 的存储性能和特性 ArrayList 和Vector 都是使用数组的方式存储数据。
它们的优点在于遍历元素和随机访问元素的效率比较高。
LinkedList 采用链表的方式存储数据,优点在与插入,删除元素时效率比较高。
ArrayList 和Vector 主要区别在与线程,ArrayList 是线程不安全的,Vector 线程安全。
当长度需要增加时,Vector 默认增长为原来的一倍,而ArrayList 只增长50%,有利于节省内存空间。
8. 请画出集合框架结构图并说出各集合接口的特征Collection 接口存储一组不唯一,无序的对象Set 接口继承Collection 接口,存储一组唯一,无序的对象List 接口继承Collection 接口,存储一组不唯一,有序的对象Map 接口存储一组成对的键-值对象,提供key 到value 的映射。
Key 不要求有序,不允许重复。
Value 同样不要求有序,但允许重复ArrayList 和数组采用相同的存储方式,它们的优点在于遍历元素和随机访问元素的效率比较高。
LinkedList 采用链表的方式存储数据,优点在与插入,删除元素时效率比较高。
HashMap 是Map 的实现类,它的存储方式是哈希表,优点是查询指定元素效率高。
Colle MapList SetArrayList L inkedList HashMapTreeSet HashSet TreeMap9.Collection 和 Collections的区别。
Collection是集合类的上级接口,集成自它的的接口主要有Set和List。
Collections 是针对集合的一个工具类,提供了一系列静态方法对集合进行操作。
例如:排序,替换,查找等。
10.HashMap和Hashtable的区别。
HashMap和Hashtable都是Map接口的一个实现类。
主要区别在于HashMap的key允许为null,而Hashtable不允许。
Hashtable是线程安全的,也就是说方法是同步的。
而HashMap是线程不安全的,方法是异步的。
HashMap和Hashtable采用的算法都大概一致,所以性能不会有很大的差异。
11.&和&&的区别&和&&表示逻辑运算。
当运算符两边的表达式结果都为true时,整个运算结果才为true;否则只要有一方为false,则结果为false.&&还具有短路的功能,也成为简洁逻辑与运算,即如果第一个表达式为false,则不再计算第二个表达式。
例如:对于if(str != null && str.equals(“”))表达式。
当str为null时,后面的表达式不会被执行,所以不会出现空指针异常。
如果将&&改为&,后面的表达式会被执行,则会抛出空指针异常。
12.final, finally, finalize的区别final 用于声明属性,方法和类,分别表示属性不可变(常量),方法不能被重写,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器(GC)执行的时候会调用被回收对象的此方法,释放资源。
13.什么是方法重载(Overload)?什么是方法的重写(Override)?以及他们之间的区别?重载表示同一个类中可以多个名称相同的方法,但这些方法的参数列表各不相同(即参数的个数或者类型不同),与方法的返回值无关。
重写表示子类中的某个方法可以与父类中的某个方法的名称和参数完全相同,通过创建父类的对象指向子类的引用,然后调用父类的方法,最终实现子类的行为,这也是多态的一种表现形式。
区别:对于重载而言,是发生在同一个类中对同名方法根据传入的参数列表不同,执行相应的方法。
对于重写而言,是发生在继承关系中,子类对父类方法的覆盖,方法名,返回值和参数列表必须完全相同,否则不能称为方法重写。
重载和重写都是实现多态的一种形式。
14.error(错误)和exception(异常)有什么区别?error表示应用程序本身无法克服和恢复的一种严重错误。
比如内存溢出,不可能指望程序处理这样的错误。
exception表示一种设计或实现问题。
也就是说,他表示如果程序运行正常,从不会发生的情况。
15.抽象类(abstrac t class)和接口(interface)有什么区别?被abstract所修饰的类即为抽象类,抽象类不能被实例化。
含有抽象方法的类,必定是一个抽象类;但抽象类中可以没有抽象方法。
抽象类中定义的抽象方法必须在子类中实现,否则子类也是抽象类。
接口(interface)可以说成是抽象类中的一种特例。
接口中的所有方法都必须是抽象的。
接口中的方法默认为public abstract类型。
接口中的成员变量的类型默认为public static final.16.GC是什么? 为什么要有GC?GC是垃圾收集的意思(Gabage Collection).对于内存处理是编程人员最容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。
Java语言没有提供释放已分配内存的显示操作方法。
17.什么是字符串常量池?18.譬如String a = "abc"; 当你定义这样一个变量的时候,java此时先会去常量池寻找有没有"abc"这样的字符串,如果有,直接把内存地址交给a, 否则就生成一个"abc"的字符串当下一个String b = "abc";的时候,发现常量池已经有"abc"了,此时JVM不会再次生成"abc",而是直接交给"abc"引用给b, 所以此时你会发现a == b19.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?接口可以继承接口。
抽象类也可以实现接口。
抽象类可以继承实体类。
20.构造器(Constructor)是否可被重写(override)?为什么?不能被重写。
因为构造器不能被继承,因此不能被重写,但可以被重载。
21.String类是否可以被继承?为什么?String类不能被继承,因为被final所修饰的类不能被继承。
22.“==”与equals()的区别?1、java中equals和==的区别值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。
2、==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
3、equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
4、==比较的是2个对象的地址,而equals比较的是2个对象的内容,显然,当equals 为true时,==不一定为true。
23.简述Java中的异常处理机制的原理?24.描述一下JVM加载class文件的原理机制?25.char类型变量中能不能存贮一个中文汉字?为什么?26.Java异常处理的关键字有哪些?分别代表什么意义?27.JVM中垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?28.静态变量和实例变量的区别?在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。