收藏 分销(赏)

Java基础知识.docx

上传人:人****来 文档编号:9711991 上传时间:2025-04-04 格式:DOCX 页数:20 大小:37.89KB
下载 相关 举报
Java基础知识.docx_第1页
第1页 / 共20页
Java基础知识.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述
Java基础知识 一、 填空题(每题1分,共50分) 1. Java程序可以分为两种基本的类型,分别是_________________和_________________。 2. 如果一个类不显示地写上其继承的父类,则它的默认的直接父类是系统类_______________。 3. Java对内存的释放是采用____________________机制。 4. 接口的所有成员方法都具有________________和________________属性。 5. 设有一个Java应用程序,其源程序文件名为Test.java,则编译该源程序的命令是_________________________,运行该应用程序的命令为_________________________。 6. 如果线程类A需要继承类B,而类B不是线程类,则需要通过接口类Runnable构造线程类A,类A的具体定义为___________________________________________________。 7. Java系统提供了方法____________________来强制立即回收垃圾。 8. 运行以下语句后b的值是__________________。 String s1=“1234”; String s2=new String(“1234”); Boolean b=(s1 = = s2); 9. 通过Connection实例对象的_____________________方法可以创建出Statement的实例对象。 10. JAVA小应用程序一般是_____________的子类。 11. JAVA语言通过____________机制简化了程序的内存管理。 12. JAVA字符(char)采用的是___________字符集。 13. 面向对象的计算机语言一般应具有3个基本特性:____________、____________和______________。 14. JAVA语言中,捕获异常是通过________________语句结构来实现的。 15. 编写线程程序主要是构造线程类,而构造线程类的方式主要有以下两种: (1)____________________________________________ (2)____________________________________________ 16. 假设用JAVA语言为清华大学(网址为)编写了图像处理包image,那么按照SUN公司的建议,这个包的名称最好为_________________。 17. JAVA数据类型中,具体包括哪三种引用数据类型:___________、____________、______________。 18. JAVA程序以________为单位进行组织的。 19. 如果没有显式的定义类的构造方法,则系统会为该类定义一个默认的构造方法,这个默认的构造方法的作用是_____________________________________。 20. “System.gc( )”方法的作用是:__________________________________ 21. 为增强程序的可读性,同一个类中的同名方法在重载时应当具有_______的功能。 22. 动态多态性将在_____________时被系统识别。 23. 语句“super.clear();”的作用是调用____类的clear()方法。 24. 当一个类的一个成员声明为“public”时,__________________________________能访问该成员。 25. 建立Java SDK开发环境,一般需要设置哪两个环境变量:_________和___________。 26. 按编译时是否检测来分,异常可以分为两大类:受检异常和非受检异常。其中非受检异常包括_______________________。 27. 假设用JAVA语言为浙江工商大学(网址为)编写了声音处理包sound,那么按照SUN公司的建议,这个包的名称最好为_________________。 28. 类包括两个成员要素:域和方法。其中,________定义了类所需要的数据,_________定义了类的功能。 29. 构造方法具有两个明显的特点:(1)方法名必须与________相同;(2)在声明时___________返回类型。 30. 通过继承关系,可以将JAVA的所有类用一个树状的层次结构表示出来,而其根部的类是_____________。 31. 静态多态性在_____________时可以被系统识别,指的是同一个类中同名方法在功能上的重载。在方法声明的形式上,重载要求_________的方法名和__________的参数列表。 32. 语句“import javax.servlet.*;”的作用是:___________________________________________________________________________。 33. 当一个类的一个成员声明为“private”时,____________________中的成员方法能访问该成员。 34. 查看当前Java虚拟机版本的命令是 ____ ___ __。 35. Sun公司提供的Java开发工具包共3类:其中用于工作站和个人计算机的标准开发包称为J2SE,主要用于企业级开发的工具包称为____________________,主要用于开发智能型消费电子产品(如移动电话和汽车导航系统等)的工具称为________________________。 36. 在Java语言中,字符串直接量是用______________括起来的字符序列。字符串不是字符数组,而是类______________的实例对象。 37. 在一个类的内部嵌套定义的类称为______________。 38. Java通过______________支持多重继承,使类继承具有更灵活的扩展性。 39. 用static修饰的方法,成为静态方法。它们不是对象的方法,而是整个类的方法。static 修饰的方法只能处理用关键字______________修饰的数据。 40. 把对象实例化可以生成多个对象,使用______________运算符为对象分配内存空间。 41. Object类是java所有类的______________。 42. 把对象实例化可以生成多个对象,使用______________运算符为对象分配内存空间。 43. Java中字符是作为______________码来处理的,每个字符用_______________个字节表示。 44. 在类java.lang.Thread的成员方法中,方法______________用来启动线程,线程在程序执行时的代码被封装于方法______________中。 45. 定义类的构造方法不能有返回值类型,其名称与_______ _名相同。 46. 接口中的成员只有静态常量和_________。 47. 在子类中使用关键字__________做前缀可调用被子类覆盖的父类中的方法。 48. 关键字_________用于导入包中的类到程序中,供程序中使用。 49. Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。 50. 程序中实现多线程的方法有两种:继承___________类和实现Runnable接口。 1.应用程序、小应用程序 2.Object 3.垃圾回收 4public abstract 5 javac Test 、java java Test 6.pulic class A extends B implements Runnable 7.System.gc() 8.false 9.createStatement 10 Applet类 11垃圾回收 12 Unicode 13 封装性 继承性 多态性 14 try-catch-finally 15. 构造类Thread的子类 构造实现接口Runnable的类16 cn.edu.tsinghua.image 17类 接口 数组 18类 19 将类中的成员域初始化成相应类型的默认值 20强制立即回收垃圾 21相似 22 运行 23 父 24所有能访问该类的方法 25path classpath 26 运行时异常(RuntimeException)和错误(Error) 27cn.edu.zjgsu.sound 28域 方法 29 类名 不能写上 30 Object 31编译 相同 不同 32将javax.servlet包下的所有的类和接口导入到程序中 33同一个类 34. java -version 35. J2EE J2ME 36 双引号 String 37. 内部类 38. 接口 39. static 40. New 41父类 42. new 43. unicode 2 44 start run 45.类 46. 抽象方法 47.super 48. import 49. catch 50. Thread 二、 选择题(每题1分,共20分) 1.在一个合法的Java源程序文件中定义了3个类,则其中属性为public的类可能有__个。 (A) 1 (B) 2 (C) 3 (D) A、B、C都有可能 2.执行完下面程序片断之后,下面_______________结论是正确的。 int a, b, c; a=1; b=2; c=(a+b>3 ? a++;++b); (A) a的值是2,b的值是3 (B) a的值是1,b的值是3 (C) a的值是1,b的值是2 (D) c的值是false 3.类Test1定义如下: 1.public class Test1{ 2. public float aMethod(float a,float b){ } 3. 4.} 将以下_______________方法插入行3是不合法的。 (A) public float aMethod(float a, float b,float c){ } (B) public float aMethod(float c,float d){ } (C) public int aMethod(int a, int b){ } (D) private float aMethod(int a, int b, int c){ } 4. 下面程序的输出是___________。 class J_StringBuffer{ public static void main(String args[]){ StringBuffer a = new String(“A”); StringBuffer b = new String(“B”); mb_operate(a,b); System.out.println(a + “.” + b ); } static void mb_operate(StringBuffer x, StringBuffer y){ x.append(y); y=new StringBuffer(“AB”); } } (A) A.B (B) A.A (C) AB.AB (D) AB.B 5.下面___________方法可以用来加载JDBC驱动程序。 (A) 类java.sql.DriverManager的getDriver方法 (B) 类java.sql.DriverManager的getDrivers方法 (C) 类java.lang.Class的forName方法 (D) 类java.sql.Driver的connect方法 6.下列说法错误的是____________________。 (A) Java语言与C语言一样区分大小写 (B) Java应用程序若要单独运行需要含有main方法,它是程序执行的入口 (C) Java语言中,每个ASCII码英文字符占用8个二进制位,而每个汉字字符则占用16个二进制位。 (D) 字母,下划线可以用作变量名的首字符 7.下面_________方法定义置于第5行将会导致编译错误。 1. class Super{ 2. public float getNum(){return 2.0f;} 3. } 4. public class Sub extends Super{ 5. 6. } (A) public float getNum(){return 4.0f;} (B) public void getNum(){} (C) public void getNum(double d){} (D) public double getNum(float d){return 4.0d;} 8.关于被私有访问控制符private修饰的成员变量,以下说法正确的是___________。 (A) 可被三种类引用:类自身、与它在同一个包中的其他类、在其他包中的该类的子类 (B) 可以被两种类访问和引用:该类本身、该类的所有子类 (C) 只能被该类自身所访问和修改 (D) 只能被同一个包中的类访问 9.下面程序的输出是___________。 class J_String{ public static void main(String args[]){ String a = new String(“A”); String b = new String(“B”); mb_operate(a,b); System.out.println(a + “.” + b ); } static void mb_operate(String x, String y){ x=x+y; y=x; } } (A) A.B (B) A.A (C) AB.AB (D) AB.B 10.已经声明了类“public class Test extends Thread”,下面______________语句启动该类型的线程。 (A)Thread t = new Thread(new Test()); t.start(); (B) Test t = new Test(); t.start() (C) Test t = new Test(); t.run(); (D) new Test.start() 11.要执行查询语句“select * from student”,可以用java.sql.Statement实例对象的__________方法。 (A)excute (B) update (C) updateRow (D) excuteQuery 12.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A) static void method( ) (B) public void method( ) (C) final void method( ) (D) abstract void method( ) 13.作为Java应用程序入口的main方法,其声明格式可以是: A、 public static int main(String args[]) B、 public static void main(String args[]) C、 public void main(String args[]) D、 public int main(String args[]) 14.下面程序片断输出的是什么? int a=3; int b=1; if(a=b) System.out.println(“a=”+a); A、 a=1 B、 a=3 C、 编译错误,没有输出 D、 正常运行,但没有输出 15.下面那个变量名命名不正确? A、 水果 B、 $number C、 1_number D、 startTime 16.下面程序运行后的输出结果是什么? class Test { int i=2; int s=null; Test() { i=3; s=”hello”; } Test(int number) { i=number; s=”hello world!”; } public static void main(String args[]) { Test app=new Test(5); System.out.println(app.i+” ”+app.s); } } A、 2 null B、 3 hello C、 5 hello world! D、 3 null 17.要求设计一个类,它拥有一个特殊的成员域,该成员域只能被这个类的子类或是同一个包内的其他类访问到。那么该成员域的封装属性应设置为: A、 public B、 private C、 protected D、 default 18.对于数组“int[] a”,下面哪些语句可以输出数组a的元素个数? A、 System.out.println(a.size); B、 System.out.println(a.size()); C、 System.out.println(a.length()); D、 System.out.println(a.length); 19.下面哪个说法不正确? A、 程序编写规范可以增强程序的可读性 B、 排版规范的程序可以提高程序的可理解性 C、 排版规范的程序可以提高程序的运行效率 D、 注释是帮助理解程序的重要手段之一 20.JAVA语言含有哪两类数据类型: A. 基本数据类型和引用数据类型 B. 基本数据类型和自定义数据类型 C. 常量和变量 D. 类和接口 21.“instanceof”的作用是: A、 用来指定接口 B、 用来测试一个对象是否是一个指定类的实例 C、 用来申请新对象 D、 用来抛出异常 22.要求设计一个类,它拥有一个特殊的成员域,该成员域只能被同一个包内的其他类访问到。那么该成员域的封装属性应设置为: A. public B. private C. protected D. default 23.下面的程序代码会产生编译错误,应当如何修正? public class Test { private int number=3; public static void main(String args[]) { System.out.println(“number=”+number); } } A. 将“private int number=3;”改为“protected int number=3;” B. 将“private int number=3;”改为“public int number=3;” C. 将“private int number=3;”改为“static int number=3;” D. 将“private int number=3;”改为“int number=3;” 24.下面程序运行结果是什么? public class Test { String m_string=new String(“good”); String m_array[]={“aaa”}; public void mb_method(String s,String[] sa) { s=”bad”; sa[0]=”bbb”; } public static void main(String args[]) { Test a=new Test(); a.mb_method(a.m_string, a.m_array); System.out.println(a.m_string+a.m_array[0]); } } A. goodaaa B. goodbbb C. badaaa D. badbbb 25.下面哪个类型的实例对象可以通过throws语句抛出? A. Event B. Object C. RuntimeException D. package 26.下面哪个说法不正确? A. 注释是帮助理解程序的重要手段之一 B. 排版规范的程序可以缩短程序运行的时间 C. 程序编写规范可以增强程序的可读性 D. 排版规范的程序可以提高程序的可理解性 27.Java程序的执行过程中用到了一套JDK工具,其中的javac.exe是指________。 (A) java语言编译器 (B) java字节码解释器 (C) java文档生成器 (D) java类分析器 28.下列保留字书写正确的是 。 (A) Byte (B) NEW (C) long (D) Null 29.下列不属于扩展赋值运算符的是 。 (A) += (B)\= (C) *= (D) >>>= 30.下列对继承的说法, ____________是正确的。 (A) 子类能继承父类的所有方法和域。 (B) 子类能继承父类的非私有方法和域。 (C) 子类能继承父类的public的方法和域。 (D) 子类只能继承父类的方法,而不能继承域。 31.当方法遇到异常又不知如何处理时,下列哪些做法是正确的?__ ___ (A) 捕获异常 (B) 抛出异常 (C) 声明异常 (D) 嵌套异常 32.关于构造方法,下列说法错误的是__________。 (A) 构造方法不可以进行方法的重写 (B) 构造方法用来初始化该类的一个新的对象 (C) 构造方法具有和类名相同的名称 (D) 构造方法不返回任何数据类型 33.____________类是所有异常类的父类。 (A) Throwable (B) Error (C) Exception (D) AWTError 34.__ ___是java程序与数据库连接的一种机制 。 (A) ODBC (B) JDBC (C) J2EE (D) ODBC API 35.在J2SDK安装过程中,需设置的环境变量为___________。 (A) path和classpath (B) direct和classdirect (C) path和 setpath (D)direct 和setdirect 1.A 2.B 3.B 4.D 5.C 6.C 7.B 8.C 9.A 10.B 11.D 12.A 13. B 14 C 15C 16C 17C 18D 19C 20 A 21B 22D 23C 24B 25C 26B 27. A 28.C 29.B 30.A 31.B 32.A 33.A 34 B 35.A 三、 读程序,写出运行结果。(每题4分) 1.运行下面程序,结果输出__________________________。 class Value{ public int i = 15; } public class Test{ public static void main(String argv[]){ Test t = new Test(); t.first(); } public void first(){ int i = 5; Value v = new Value(); v.i = 25; second(v, i); System.out.println(v.i); } public void second(Value v, int i){ i = 0; v.i = 20; Value val = new Value(); v = val; System.out.println(v.i + " " + i); } } 结果: 15 0 20 2. 运行下面程序,结果输出__________________________。 class MyParent { int x, y; MyParent(int x, int y){ this.x = x; this.y = y; } public int addMe(int x, int y){ return this.x + x + y + this.y; } public int addMe(MyParent myPar){ return addMe(myPar.x, myPar.y); } } class MyChild extends MyParent{ int z; MyChild (int x, int y, int z){ super(x,y); this.z = z; } public int addMe(int x, int y, int z){ return this.x + x + this.y + y + this.z + z; } public int addMe(MyChild myChi){ return addMe(myChi.x, myChi.y, myChi.z); } public int addMe(int x, int y){ return this.x + x + this.y + y; } } public class MySomeOne{ public static void main(String args[]){ MyChild myChi = new MyChild(10, 20, 30); MyParent myPar = new MyParent(10, 20); int x = myChi.addMe(10, 20, 30); int y = myChi.addMe(myChi); int z = myPar.addMe(myPar); System.out.println(x + y + z); } } 结果:300 3. 运行下面程序,结果输出__________________________。 class FatherClass { public FatherClass(){ System.out.println("FatherClass Create"); } } public class ChildClass extends FatherClass{ public ChildClass() { System.out.println("ChildClass Create"); } public static void main(String[] args) { FatherClass fc = new FatherClass(); ChildClass cc = new ChildClass(); } } 结果: FatherClass Create FatherClass Create ChildClass Create 4. public class Machine extends Thread { public void run() { for(int a=0;a<3;a++) { System.out.println(currentThread().getName()+":"+a); yield(); } } public static void main(String []args) { Machine machine=new Machine(); machine.setName("m1"); machine.start(); machine.run(); } } 结果:main:0 m1:0 main:1 m1:1 main:2 m1:2 5. public class Example { public static void main(String args[]){ try{ try{ int i=1/0; } catch (Exception e){ System.out.print(“1”); Throw e; } finally{ System.out.print(“2”); } } catch(Exception e){ System.out.print(“3”); } finally{ System.out.print(“4”); } ` System.out.print(“5\n”); }//方法main结束 }//类Example结束 结果:12345 6. class A { int i; A(int i) { this.i=i*2; } } class B extends A { public static void main(String []args) { B b=new B(2); } B (int i) { super(i); System.out.println(i); } } 结果:2 7. import java.util.Arrays; public class SortArray { public static void main(String args[]) { String[] str = {"size", "abs","length","class"}; System.out.println(str[0].length()); Arrays.sort(str); for (int i=0; i<str.length; i++) System.out.print(str[i]+" "); } } 写出程序运行后的结果。 结果:4 abs class length size 8. 定义类A和类B如下. (5分) class A { int a=1; double d=2.0; void show( ) { System.out.println("Class A: a="+a +"\td="+d);\} } class B extends A { float a=3.0f; String d="Java program."; void show( ) { super.show( ); System.out.println("Class B: a="+a +"\td="+d); } } (1) 若在应用程序的main方法中有以下语句: A a=new A(); a.show(); 则输出的结果如何?(2分) (2) 若在应用程序的main方法中定义类B的对象b: A b=new B(); b.show(); 则输出的结果如何?(3分) 结果:1) Class A: a=1 d=2.0 (2) Class A: a=1 d=2.0 Class B: a=3.0 d=Java program. 四、程序填空题(每空2分) 1. 下面程序实现以下功能:定义一个接口Area,其中包含一个面积的抽象方法calculateArea(),然后设计MyCircle类实现这个接口中的方法calculateArea(),以计算圆的面积。最后,以计算圆心(3,4),半径为5的圆的面积加以验证。请在横线处填入适当内容,使程序能够正确运行。 ____________________ Area { public abstract float calculateArea(); } public class MyCircle ____________________ { private float x; private float y; private float radius; MyCircle(float x, float y, float radius) { this.x = x; this.y = y; this.radius = radius; } ____________________________ { return ((float)Math.PI* radius* radius); } } public class Test { public void static main(__________________________) { ____________________________ System.out.print(“Circle’s Area = ” + c. calculateArea()); } 答案: interface、implements
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服