答案JAVA程序设计基础(复习提纲及练习题_第1页
答案JAVA程序设计基础(复习提纲及练习题_第2页
答案JAVA程序设计基础(复习提纲及练习题_第3页
答案JAVA程序设计基础(复习提纲及练习题_第4页
答案JAVA程序设计基础(复习提纲及练习题_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、复习参考考试题型:1.单项选择题(本大题共15小题,每小题1分,共15分)2. 判断题(10小题,每小题1分,共10分)3.填空题(本大题共10空,每个空2分,共20分)4.阅读程序,写出程序运行后的输出结果(本大题共3小题,每小题6分,共18分)5. 编程题(本大题共3小题,共37分),其中第1题:9分 (位操作),第2题 14(分排序或字符串处理),第3题 14分(类与对象)。 涉及数组、排序、字符串处理、类和对象(实例)、位操作(手写推算步骤及最终结果,要求看样题)等。考试涉及的相关知识点:1. java程序类型:(1) java application(需 主类)、java程序、源程序

2、、类、接口、字节码文件、包、JDK java开发步骤 一二维数组等(2) java applet:java小程序(可以没有主类,是图形界面),主要用于网页(3) java script:网页或网站的“脚本”程序2. 标识符和关键字:class、interface final abstract static void byte short int long float double boolean String return 异常常用的关键字(try catch finally throw throws)3. 表达式:= 比较运算符: > >= < <= != =逻辑运算

3、符: && | !位运算符: & >> >>> <<instanceof + - 前后关系 ? : 算合语句s+=5 s-=5 s*=5 s/=5 int a=b=10;4. 程序控制结构: 顺序、选择、循环(1) 单路选择结构if() (2) 多路选择结构 if( ) . else . (3) else if 结构(4) switch (break);while() do . while( ); break continuefor( ; ; ) 5. 面向对象的程序设计: 类:class 成员变量 方法成员 修饰符(访问 、特

4、征)static变量成员或方法 实例变量成员或方法 UML图对象:Object 创造对象 new 方法:void 方法 、非void 方法、 static 方法(类方法)、 非 static 方法(实例方法)方法参数传递: 实参 形参 传值 传引用(数组 对象 接口)多态:重载 重写this 、super构造方法(在类的继承中可能用到的关键字super)包:关键字import 、package继承(组合:主类main() 与继承): 继承 创新 改造 子类不能降低父类的访问级别Super、 this 、上转型对象Abstract、 final 接口:interface (1) 实现:imple

5、ments 也是一种继承(包括 一般类与抽象类,多实现)(2) 继承:extends (与类相比的“多继承”)(3) 静态块(静态初始化器) static 、构造块 、构造方法以及在类的继承和实例生成中的相互关系和执行顺序。6. java 关于异常的相关知识点:(1) 错误与异常:错误:程序在执行过程中由于硬件或操作系统出错,而导致的程序员无法控制的错误。异常:指硬件或操作系统正常时,程序遇到的运行错。由于语句中产生的语法错(不能通过编译)、语义错(能通过编译)、逻辑错(能通过编译)而使程序无法运行或运行后不能产生正确结果的现象。 (2)异常类(Exception)java中常用到的跟异常有关

6、的关键字:try catch finally throw throws参考复习题:一、单项选择题1以下说法正确的是_。 (A) Java中所有的方法都必须在类内定义 (B) Java中主方法可以不在类内定义,其他方法都必须定义在类内 (C) Java中主方法必须定义在类内,其他方法可以不必定义在类内 (D) Java中所有方法都不必在类内定义 2Java源文件和编译后的文件扩展名分别是_。 (A).class 和 .java (B).class 和 .class (C).java 和 .class (D).java 和 .java 3要开发Java程序,需要安装的开发包是_。 (A)jdk (

7、B)eclipse (C)notepad (D)记事本 4Java中所有类的默认超类为_。 (A)Object (B)Class (C)Main (D)Super 5下列语句中能建立scu包的语句是_。 (A)import java.scu; (B)import scu; (C)package scu; (D)package java.scu; 6关于Object类中定义的toString方法,以下说法正确的是_。 (A)toString方法可以将java预定义的类型转换为字符串类型 (B)toString方法可以将字符串类转换为java预定义的类型 (C)toString方法可以将所有其他类

8、型转换为字符串类型 (D)toString方法可以将字符串类型转换为所有其他类型 7在子类的构造函数中要调用父类的构造函数,需要用哪个关键字_。 (A)final (B)extends (C)implements (D)super 8 在Java语言中,下列哪个包是编译器自动导入的? _。 (A)java.lang (B) (C)javax.swing (D)java.util 9以下语句中,没有创建出字符串对象的是 _。 (A)String str; (B)String str = “hello”; (C)String str = new String( ); (D)new String(“

9、hello”); 10关于布尔类型说法正确的是 _。 (A)boolean表示布尔类型,它的取值只有true和false (B)bool表示布尔类型,它的取值只有true和false (C)boolean表示布尔类型,它的取值只有1和0 (D)bool表示布尔类型,它的取值只有1和0 11. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为_。 A. java B. .class C. html D. .exe12. 设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 51

10、3 不能作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected14 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为_。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )15Java application中的主类需包含main方法,以下哪项是main方法的正确形参?_A、 Strings argsB、St

11、ring argsC、String argD、StringBuffer args16以下关于继承的叙述正确的是_。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承17以下哪个不是Java的原始数据类型_A、intB、BooleanC、floatD、char18给出下面代码,关于该程序以下哪个说法是正确的?_public class Person static int arr = new int5;public static void main(String a) Systemn(arr

12、0); A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零D、输出空19下列哪些语句关于Java内存回收的说明是正确的? _A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象20以下代码段执行后的输出结果为_int x =3; int y =10;System.out.println(y%x);A、-1B、2C、1D、321. 将字符串s中的小写字母转换成大写字母的正确方法是: a)s.toLowercase( ) b) s.toUppercase( )c)s.toUpperCase

13、( ) d)s.toLowerCase( )22. 在Java中,所有类的根类是( )。a)java.lang.Object b)java.lang.Class c)java.applet.Applet d23有以下程序片段,下列哪个选项不能插入到行1。_1.2 .public class Interesting3. /do sth 4.A、import java.awt.*; B、package mypackage;C、class OtherClass D、public class MyClass 24在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。A、privat

14、e B、protected C、private protectedD、public25、有以下方法的定义,请选择该方法的返回类型( )。ReturnType method(byte x, double y)return (short) x/y*2;A、byte B、shortC、intD、double26、如下哪个是Java中的标识符() A、public B、superC、3number D、width27. 如下哪个是Java中的标识符( )A、fieldname B、superC、3number D、#number28. 已知如下定义:String s = "story&quo

15、t; 下面哪个语句不是合法的( )A、s += "books"B、s = s + 100;D、String t = s + “abc”;()29. 如下哪个是Java中有效的关键字() A、nameB、helloC、false D、good30、下面的代码段执行之后count的值是什么( )int count = 1;for (int i = 1; i <= 5; i+) count += i;System.out.println(count);A、5 B、1C、15 D、1631. 定义一个类,必须使用的关键字是( )A、publicB、classC、interfa

16、ceD、static32. 定义一个接口必须使用的关键字是( )A、public B、classC、interfaceD、static33. 下列程序段执行后的结果是( )。 String s = new String("abcdefg");for (int i=0; i<s.length(); i+=2)/i=0 2 4 6 System.out.print(s.charAt(i); A) aceg B) ACEG C) abcdefg D) abcd 34 应用程序的main方法中有以下语句,则输出的结果是 ( )。 String s1=new String(&q

17、uot;abc"); String s2=new String("abc"); boolean b1=s1.equals(s2); boolean b2=(s1=s2); System.out.print(b1+" "+b2); A)true false B) false true C) true true D)false false 35 下面程序段执行后b的值是( )。Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D

18、) false36. 应用程序Te程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是 ( )。public class Test public static void main(String args) int k1=args.length; /3 int k2=args1.length(); /2 System.out.print(k1+" "+k2); A) 3 2 B)1 2 C) 1 3 D) 3 3 37、应用程序的main方法中有以下语句,则输出的结果是 ( )。int b=1, 2,2, 2,2,2; int sum=0; /此处应

19、该出错了 for(int i=0;i<b.length;i+) for(int j=0;j<bi.length;j+) sum*=bij; System.out.println("sum="+sum);A) 32 B)11 C) 2 D) 3 38. 应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。int x=125,21,5,168,98;int max=x0;for(int i=1;i<x.length;i+)if(xi> max)max =xi;System.out.println(max);A) 125 B) 5 C) 98

20、 D) 168 39. 程序Test.java编译运行后输出的结果是( )。public class Test String s1="java" public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A) java2 B)2 C)没有输出结果 D)java 40 应用程序的main方法中有以下语句,则输出的结果是 ( )。String s1="0.5", s2="12" double x=Double.p

21、arseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y);A) 12.5 B) 120.5 C) 12 D) “12.5” 41. 关于下面的程正确的是( )。public class Test String x="1" int y; public static void main(String args) int z=2; System.out.println(x+y+z); A)3 B)102 C) 12 D)程序有编译错误说明:static String x=”1”; static int

22、y; 42. 应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。int x = 125,21,5,168,98;int min = x0;for (int i=1; i<x.length; i+)if(xi < min)min = xi;System.out.println(min);A) 125 B) 5 C) 98 D) 168 43关于选择结构下列哪个说法正确?()Aif语句和 else语句必须成对出现Bif语句可以没有else语句对应Cswitch结构中每个case语句中必须用break语句Dswitch结构中必须有default语句44while循环和 d

23、owhile循环的区别是:()A没有区别,这两个结构任何情况下效果一样Bwhile循环比 dowhile循环执行效率高Cwhile循环是先循环后判断,所以循环体至少被执行一次Ddowhile循环是先循环后判断,所以循环体至少被执行一次45下列修饰符中与访问控制无关的是()Aprivate BpublicCprotectedDfinal46 void的含义:()A方法没有返回值 B 方法体为空C没有意义 D.定义方法时必须使用47 return语句:()A只能让方法返回数值B方法都必须含有C方法中可以有多句return D不能用来返回对象48关于对象成员占用内存的说法哪个正确?()A同一个类的对

24、象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存D以上都不对说明:同一个类的不同对象使用不同的内存段,但静态成员共享相同的内存空间49下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量50下列说法哪个正确?()A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用51 关于方法main()的说法哪个正确?()A方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C一个类中

25、可以没有main()方法D所有对象的创建都必须放在main()方法中52构造函数何时被调用?()A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时53 抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法54关于继承的说法正确的是:()A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性55关于构造函数的说法哪个正确?()A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定

26、义,不能使用父类的构造函数56 this和super:A、都可以用在main()方法中B、都是指一个内存地址C、不能用在main()方法中D、意义相同57关于super的说法正确的是:A、是指当前对象的内存地址B、是指当前对象的父类对象的内存地址C、是指当前对象的父类D、可以用在main()方法中58覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回事59. 请说出下列代码的执行结果 : String s = "abcd" String

27、s1 = new String(s); if (s = = s1) System.out.println("the same"); if (s.equals(s1) System.out.println("equals"); A. the same equals B. equals C. the same D. 什么结果都不输出60. 下列有关 Java 中接口的说法哪个是正确的? A. 接口中含有具体方法的实现代码 B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字

28、D. 接口不允许继承 61. 关于接口哪个正确?A. 类实现一个接口必须实现接口的所有方法B. 一个类只能实现一个接口C. 接口间不能有继承关系D. 接口和抽象类是同一回事二、判断题:1、Java是不区分大小写的语言。 错:Java是区分大小写的语言2、Java的源代码中定义几个类,编译结果就生后缀的字节码文件。对3、Java Applet是由独立的解释器程序来运行的。错:是有浏览器来运行的4、Java Application是由独立的解释器程序来运行的。对5、Java Applet的字节码文件必须嵌入HTML的文件中并由负责解释HTML文件的WWW浏览器充当解释器来解释运行。对6、Java

29、Applet只能在图形界面下工作。对7、Java Application只能在字符界面下工作。错8、Java的字符类型采用的是ASCII编码。错:采用Unicode码9、Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特 对10、Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。对/错11、Java Application源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类。对12、方法的覆盖与域的隐藏一样,父类的同名方法在子类中仍然占有自己独立的内存空间。对/错13、子类的域和方法的数目一定大于等于父类的域和方法的数目。对/错14、类

30、在实现接口的方法时,必须显示地使用public修饰符。对15、System类不能实例化,即不能创建System类的对象。对/错16、Java中数组的元素只能是简单数据类型的量。错/17、Vector类中的对象不能是简单数据类型。错18、Java中的String类的对象既可以是字符串常量,也可以是字符串变量。对19、用户自定义的图形界面元素也可以响应用户的动作,具有交互功能。对/20、Java的屏幕坐标是以像素为单位,容器的左上角被确定为坐标的起点。对/21、Java中,并非每个事件类都只对应一个事件。?22、一个类只能有一个父类,但一个接口可以有一个以上的父接口。对23. 实现接口的类不能是抽

31、象类。错24Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 错25Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。 错 26构造方法用于创建类的实例对象,构造方法名应与类名相同,类型为void。 错27拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 对 28静态初始化器是在其所属的类加载内存时由系统自动调用执行。 对 29在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。错30. 实现接口的类不能是抽象类。错31. 方法中形参的名字可以和方法体中声明的局部变量名

32、字相同。错32. 构造方法必须自己定义,不能使用父类的构造方法。对33. 子类可以继承父类所有成员。错34. 拥有abstract方法的类是抽象类,但抽象类中只能含有abstract方法。错35 一个类不能既是子类又是父类。错36. 不可以为某一个类定义多个构造方法。错37. final类不可以有子类。对38. 抽象类不能实例化。对39. 接口中所有方法均为抽象方法。对40. final类可以有子类。错三、填空:1、根据结构组成和运行环境的不同,Java程序可分为两类:_ 和 _ 。、类的修饰符分为_ 、 _ 。3、Java程序中定义类使用的关键字是 ,每个类的定义由类头定义、类体定义两部分组

33、成,其中类体部分包括 _ 、_ 。4、Java程序中定义接口所使用的关键字是_ ,接口中的属性都是_ ,接口中的方法都是 _ 。5、_ 是Java程序中所有类的直接或间接父类,也是类库中所有类的父类。7、结构化程序设计的三种基本流程控制结构包括_ 、_、_。8、面向对象的三个特征是 _、_、_。9、类的定义、类及类成员的修饰符:包括public、无修饰符、protected、private protected、abstract、final、static、接口(interface)等10、数组、构造方法、void方法 、非void方法、方法调用(无参、有参)等。11 、“包”的定义、引入非同包中

34、的类等。12、表达式13、求“质数”14.程序填空,例如: 在程序中引入Scanner类,完成由键盘交互输入若干数字,并由程序输出所输入数字 的平方数,当输入字符串“quit”时,程序结束运行。不完整程序如下:_【importr】 _;public class Test2 public static void main(String args) Scanner buf=new Scanner( _【System.in】_ ); while( _【true】 _ ) String str = buf. 【nextLine()】; if(【str.equals("quit")】

35、) _【break】_; int x=Integer.parseInt(str); System.out.println( _ 【x*x】_ ); 四、程序阅读题:涉及类型题包括:数组、循环、字符串处理、五、编程题:1.排序(冒泡、选择排序法,可能用到类方法、实例方法或形参是一维数组,注意是升序还是降序)2.字符串处理(类似书上的课后习题)(包括类的继承、构造方法、生成实例、类方法、实例方法、求阶乘等,不要求UML图)4.手工位运算(包括 、&、 、 、>>、>>>、<< )类和类成员的修饰符修饰符:1. 访问修饰符(1) 类:a) 省略访问修

36、饰符(default或friendly):即具有包访问特性,这时类只能被同一个包中的类使用(Java将目录或文件夹称为“包”)。b) public 修饰符:对外公开,可以被所有其他类所使用(也具有包访问特性),如果不在同一目录中,必须用import 引入或在代码中通过“”引用。在一个java源程序中最多只能有一个类是public 类。(2) 类成员:a) 无(default或friendly):可以在本类内和同包中的其它类访问b) public :可以被所有类访问c) private:只能在本类“内”访问d) protected:可被本类、同包中的其他类、其他包中的子类所访问访问权限(从高到低

37、):public、protected、无、private2. 特征修饰符(1) 类:a) abstract:抽象类。类中可能含有只有方法头,而没有方法体的抽象类。它必须用子类继承(必须重写所有的父类中的抽象方法)或用抽象类继承该父类抽象类(可重写所有父类中的抽象方法或只写其中一部分或不写,但最终必须由一般类做子类来完成类的实例化)。b) final类:终止类。该类不能有“子”类。(2) 类成员:a) abstract:用于抽象方法(只有方法头没有方法体的方法)b) static:被修饰的成员变量或方法为类所有(若没有final关键字且没有被赋值,则成员变量自动被赋予初值,可以在不生成实例的情况

38、下用类名直接引用)c) native:用于修饰类的方法,本地方法是外部模块,用其他编程语言编写方法体d) synchronized(同步):用于修饰类的方法。适用于“多线程”编程e) final:用于成员变量则被修饰的类为常量(必须在定义时赋值),或用于修饰方法则此方法为终止方法(即子类不能重写此方法)。java访问权限修饰符public protected friendly private用法总结 首先声明:java中,friendly这个修饰符并没有显式的声明,在成员变量和方法前什么修饰符也不用,默认的就是friendly。为了条理清晰,分三种不同情况来总结。 一 访问权限修饰符修饰成员变

39、量和方法public:表明该成员变量和方法是共有的,能在任何情况下被访问。protected:必须在同一包中才能被访问。(说的比较简单,看个例子就明白了) eg:class A protected int weight ;protected int f( int a,int b ) / 方法体 假设B与A在同一个包中,则class Bvoid g()A a=new A();A.weight=100;/合法A.f(3,4); /合法特别说明:什么是在同一个包中?答:用package打包在一起的class ,叫在同一个包中。(不明白,举个例子)eg:在JDK的srcjavaio中,你会看到许多ja

40、va类,第一句源代码都是package java.io;没有使用package打包的,在同一目录下的类也会被视做同一个包。friendly:在这种情况下中,同protected。区别在第二和第三种情况中。 eg: class A int weight ;int f( int a,int b ) / 方法体 假设B与A在同一个包中,则class Bvoid g()A a=new A();A.weight=100;/合法A.f(3,4); /合法private: 只能在本类中访问。eg: class Test private int money;Test()money=2000;private i

41、nt getMoney()return money;public static void main(String args)Test te=new Test();te.money=3000; /合法int m=te.getMoney(); /合法System.out.println("money="+m);PS: 实际上,把重要的数据修饰为private,然后写一个public的函数访问它,正好体现了OOP的封装特性,是OOP安全性的体现。二 访问权限修饰符修饰类1,不能用protected和private修饰类。2,用friendly修饰的类叫友好类,在另外一个类中使用友

42、好类创建对象时,要保证它们在同一包中。三 访问权限修饰符与继承这里的访问修饰符指的是修饰成员变量和方法。可以分为两种情况:1,子类与父类在同一包中此时只有声明为private的变量与方法不能被继承(访问)。eg:class Fatherprivate int money ;int weight=100;class Son extends Fatherviod f()money=10000;/ 非法weight=100; / 合法2,子类与父类不在同一包中此时private与friendly均不能被继承(访问), protected与public可以。eg:Father.javapackage

43、com.aaapublic class Fatherint height ;protected int money=120;public int weight;protected int getMoney()return money;void setMoney(int newMoney)money=newMoney;Son.javapackage com.bbbimport com.aaa.Father;public class Son extends Fathervoid f()money=10000;/合法/height=170;/非法,height为friendly修饰的变量System.out.println(money);/输出结果是10000/setMoney(300); /非法int number=getMoney(); /合法System.out.println(number);/输出结果是10000public static void main(String args)Son sss=new Son();sss.f();所以,访问权限修饰符权限从高到低排列是public ,protected ,friendly, private。/*以下为编程样题,仅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论