java 复习题.docx
- 文档编号:10418364
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:28
- 大小:309.34KB
java 复习题.docx
《java 复习题.docx》由会员分享,可在线阅读,更多相关《java 复习题.docx(28页珍藏版)》请在冰豆网上搜索。
java复习题
复习提纲:
1、软件安装的根目录及环境变量设置
bin目录:
包含SDK开发工具的可执行文件。
lib目录:
开发工具使用的归档包文件。
jre目录:
Java运行时环境的根目录。
其子目录\jre\bin中包含Java平台使用的工具和库的可执行文件及DLL。
demo目录:
含有资源代码的程序示例。
javac:
Java语言的编译器。
java:
Java应用程序执行引擎,类名后面可带一个或多个字符串参数。
javadoc:
API生成器,对当前类生成HTML格式的API文档。
2、Java程序分为两大类型:
JavaApplication(Java应用程序)与应用在www上的Javaapplet(Java小应用程序)。
3、一维、二维数组定义、使用及作为参数传递等。
如inta[]={1,2,3},b[]={4,5};a=b;则a数组是多少?
4、类体中变量声明部分所声明的变量被称作类的成员变量。
在方法体中声明的变量和方法的参数被称作局部变量。
变量的类型:
成员变量和局部变量的类型可以是Java中的任何一种数据类型,包括基本类型:
整型、浮点型、字符型;引用类型:
数组、对象和接口(对象和接口见后续内容)。
变量的有效范围:
成员变量在整个类内都有效,局部变量只在声明它的方法内有效。
方法参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。
实例变量与类变量:
在声明成员变量时,用关键字static给予修饰的称作类变量,否则称作实例变量(类变量也称为static变量,静态变量)。
成员变量的隐藏:
如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。
5、类的定义、特性、访问权限。
限制修饰符有private、protected和public,都是Java的关键字,用来修饰成员变量或方法。
6、类继承,成员变量继承与隐藏,方法重写。
子类继承父类的成员变量作为自己的一个成员变量,就好象它们是在子类中直接声明一样,可以被子类中自己定义的任何实例方法操作。
子类继承父类的方法作为子类中的一个方法,就象它们是在子类中直接定义了一样,可以被子类中自己定义的任何实例方法调用。
子类可以隐藏从父类继承的成员变量和方法,如果在子类中想使用被子类隐藏的成员变量或方法就可以使用关键字super。
在子类中想使用被子类隐藏的成员变量或方法就可以使用关键字super。
比如super.x、super.play()就是访问和调用被子类隐藏的成员变量x和方法play()。
7、构造方法的定义和使用。
子类不继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来表示,而且super必须是子类构造方法中的头一条语句。
8、继承与多态、abstract类与多态、接口与多态
9、内部类:
Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。
10、匿名类:
创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。
11、异常类:
try语句不能单独存在,可以和catch、finally组成try...catch...finally、try...catch、try...finally三种结构,catch语句可以有一个或多个,finally语句最多一个,try、catch、finally这三个关键字均不能单独使用。
ArithmeticException:
数学异常inta=12/0;//抛出ArithmeticException
NullPointerException:
空指针异常Stringd=null;//对象s为空(null)
System.out.println(d.toString());//抛出NullPointerException
ArrayIndexOutOfBoundsException:
下标越界异常
int[]array=newint[4];
array[0]=1;
array[7]=1;//抛出ArrayIndexOutOfBoundsException
ClassCastException:
类型转换异常:
Animalanimal=newDog();
Catcat=(Animal)animal;
15、String类与StringBuffer类及其常用方法
16、Swing常用的组件和容器、事件及监听
JButtonjb=newJButton();定义按钮
JPanel//面板 JLabel/标签 JTextField//可编辑文本框 JPasswordField//密码框
JCheckBox//复选框 JRadioButton//单选框,需要先放入到ButtonGroup中,否则不能实现单选
ButtonGroupbg;
JComboBox//下拉框
JList//列表框组件
JScrollPane//滚动条,通常与JList结合使用
JSplitPane//拆分窗口,容器类组件
JTextArea//多行文本框
JTabbedPane//选项卡窗格
JMenuBar//菜单条组件:
树干
JMenu//菜单条组件:
树枝,下面可再有树枝…直到树叶为止
JMenuItem//菜单项组件:
树叶
JToolBar//容器类组件,又叫功能组件
17、事件对应的接口及接口中的方法等
ActionEvent:
enter、单击按钮、下拉列表选择
TextEvent:
改变内容
ItemEvent:
Checkbox、Choice下拉列表选择、
WindowEvent:
窗口被激活、撤销激活、打开、关闭、图标化等
MouseEvent:
在事件源上单击、按下、释放、进入和退出事件源
KeyEvent:
按下、释放、敲击键盘
FocusEvent:
获得焦点、失去焦点
18、完成程序
Aa=newA();
if(ainstanceofA)System.out.print(“a是类A的对象”);
ActionEvent
ActionListener
publicvoidactionPerformed(WindowEvente)
TextEvent
TextListener
publicvoidtextValueChanged(WindowEvente)
ItemEvent
ItemListener
publicvoiditemStateChanged(WindowEvente)
WindowEvent
WindowListener
publicvoidwindowOpened(WindowEvente)
publicvoidwindowClosing(WindowEvente)
publicvoidwindowClosed(WindowEvente)
publicvoidwindowIconified(WindowEvente)
publicvoidwindowDeiconified(WindowEvente)
publicvoidwindowActivated(WindowEvente)
publicvoidwindowDeactivated(WindowEvente)
常见试题
1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
2、抛出异常的关键字是throw.
3、设x=2,则表达式(x++)/3的值是0。
4、设intx=3,y=4;则表达式y>x和y>=x的值分别是ture、false.
5、子类和父类不在同一包,父类的public和protected成员可以被子类继承。
6、子类和父类在同一包,父类的private成员不能被子类继承。
7、构造方法是一种特殊的成员方法,构造方法名与类名相同.
8、创建一个名为MyPackage的包的语句是packageMyPackag,该语句应该放在程序的位置为:
应该在程序的第一句。
9、定义类的关键字是class,定义接口的关键字是interface.
10、如果一个JavaApplet程序文件中定义有3个类,则编译器javac.exe编译该源程序文件将产生3个文件名与类名相同而扩展名为.class的字节码文件。
11、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2字节内存空间,这样,无论是中文字符还是英文字符,都是占用2字节内存空间。
12、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
13、抽象(abstract)方法方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
最终(final)方法方法是不能被当前类的子类重新定义的方法。
14、9、下列程序段执行后,sum的值为12。
intsum=0,Array[]={1,2,3,4,5,6,7};
for(inti=0;i if(i%2==1)sum+=Array[i]; 15、toString()方法的作用是 16、this代表(当前对象)的引用,当前对象的直接父类对象表示为super 17、设x=1,y=2,z=3,则表达式y+=z/++x的值是3 18、面向对象编程主要体现的3个特性是: 封装性、继承性、多态性_。 19、创建一个可编辑文本框 JTextFieldtext=newJTextField(10) 二、单项选择题 1、下列哪些说法是正确的( ) A、子类可以同时继承多个父类或实现多个接口. B、子类可以调用父类的构造方法,且可以在子类的任何地方调用. C、子类调用继承父类的方法时,其方法操作变量可以是子类变量. D、子类实现某个接口,接口中抽象方法没全部实现时,该类为抽象类. 2、下面哪个类的声明是正确的: () A、AbstractfinalclassCar{}B、publicabstractclassCar{} C、protectprivateCar{}D、AbstractprivateCar(){} 3、,下列哪个不是面向对象的主要特性() A、封装B、继承C、覆盖D、多态 4、下列语句序列执行后,k的值是() intj=8,k=15; for(inti=2;i! =j;i+=6){k++;} A、18B、15C、16D、17 5、switch语句不能用于下列()数据类型 A、byteB、shortC、charD、float 6、下列哪个可以是标识符() A、#iphoneB、Key_EventC、3dmaxD、byte 7、在Java中每个类都使用()作为超类. A、FrameB、ComponentC、ObjectD、class 8、下列可以是类的修饰符() A、publicB、staticC、privateD、protected 9、下列描述错误的是 ( ) A、一个源文件中可以有多个类,该源文件可供多个程序使用 B、一个类中可以没有main()方法 C、类的成名变量可以是简单变量,也可以是一个对象 D、重载发生在父类与子类之间,而重写发生在同一类中 10、关于对象成员占用内存的说法正确的是( ) A、同一个类的对象使用不同内存段,对象的方法不占用内存 B、同一个类的对象使用不同内存段,静态成员共享相同的内存空间 C、同一个类的对象共用同一内存段,静态成员使享不同的内存空间 D、同一个类的对象共用同一内存段,对象的方法占用内存 11、swing创建一个标识有“关闭”按钮的语句是()。 A、JTextFieldb=newJTextField(“关闭”); B、JLabelb=newJLabel(“关闭”); C、JCheckboxb=newJCheckbox(“关闭”); D、JButtonb=newJButton(“关闭”); 12、类Panel默认的布局管理器是()。 A、GridLayout B、BorderLayout C、FlowLayout D、GardLayout 13、下列程序段执行后的输出结果为(C) int x=5;inty=12; System.out.println(y%x); A、0 B、1 C、2 D、3 14、在编写JavaApplet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(D)语句. A、importjava.awt.*;B、importjava.applet.*; C、importjava.io.*;D、importjava.awt.event.*; 15、在Java中,下列()不可能是类Orange的构造方法. A.Orange(){…} B.Orange(…){…} C.PublicvoidOrange(){…} D.以上都不对 16、以下循环语句的执行次数是(C) intx=10,y=3; while(y<=x){ y*=y; } A、0B、1 C、2D、3 17、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以(A) A、让该类不使用任何关键字 B、使用private关键字 C、使用final关键字 D、使用protected 18、在Java中最基本的类是(C) A、WindowB、ComponentC、objectD、class 19、面向对象主要体现3个特性,下列哪个不是() A、封装B、继承C、覆盖D、多态 20、下列数据类型不能用于switch语句的是() A、byteB、shortC、charD、float 22、在Java中每个类都使用它作为超类是() A、FrameB、Component C、ObjectD、class 23、下列字符类数据,错误的是()。 A、charch=2010 B、charch=‘级’ C、charch=‘期末考试’ D、charch=‘\n’ 24、下列可以是类的修饰符() A、publicB、static C、privateD、protected 25、下列哪些说法是正确的( ) A、子类可以同时继承多个父类或实现多个接口. B、子类可以调用父类的构造方法,且可以在子类的任何地方调用. C、子类调用继承父类的方法时,其方法操作变量可以是子类变量. D、子类实现某个接口,接口中抽象方法没全部实现时,该类为抽象类. 26、下列类的声明正确的是: () A、finalAbstractclassPerson{} B、publicabstractclassPerson{} C、protectedprivatePerson{} D、AbstractprivatePerson{} 27、下列描述错误的是 ( ) A、一个源文件中可以有多个类,该源文件可供多个程序使用. B、一个类中可以没有main()方法. C、类的成名变量可以是简单变量,也可以是一个对象. D、重载发生在父类与子类之间,而重写发生在同一类中. 28、关于对象成员占用内存的说法正确的是( ) A、同一个类的对象使用不同内存段,对象的方法不占用内存. B、同一个类的对象使用不同内存段,静态成员共享相同的内存空间. C、同一个类的对象共用同一内存段,静态成员使享不同的内存空间. D、同一个类的对象共用同一内存段,对象的方法占用内存. 29、定义如下的二维数组b,下面的说法不正确的是()。 intb[][]={{1,2,3,4},{5,6,7},{8,9,10}}; A、b.length的值是3.B、b[1].length的值是3. C、b[1][1]的值是6.D、b的第二行有4个元素. 30、下列情况不可以终止当前线程的运行() A、当创建一个新线程时. B、当该线程调用sleep()方法时. C、抛出一个异常时. D、当一个优先级高的线程进入就绪状态时. 31、执行下列代码后,哪个结论是正确的是() String[]s=newString[10]; A、s[10]为""B、s[9]为null C、s[0]为未定义D、s.length为9 32、下列语句序列执行后,k的值是() intj=8,k=15; for(inti=2;i! =j;i+=6){k++;} A.18B.15C.16D.17 33、下列说法正确的是() A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来 34、Java中,在如下所示的Test类中,共有()个构造方法。 publicclassTest{ privateintx; publicTest(){ x=35; } publicvoidTest(doublef){ This.x=(int)f; } publicTest(Strings){} } E、0 F、1 G、2 H、3 35、下列javaDoc注释正确的是() I、/*我爱北京天安门*/ J、//我爱北京天安门*/ K、/**我爱北京天安门*/ L、/*我爱北京天安门**/ 36、下列值不为true的表达式有()。 M、"john"=="john" N、"john".equals("john") O、"john"="john" P、"john".equals(newString("john")) 2、下列输出结果是() inta=0; while(a<5){ switch(a){ case0: case3: a=a+2; case1: case2: a=a+3; default: a=a+5; } } System.out.print(a); A、0 B、5 C、10 D、其他 3、下面有关for循环的描述正确的是() A、for循环体语句中,可以包含多条语句,但要用大括号括起来 B、for循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D、for循环是先执行循环体语句,后进行条件判断 4、对象的特征在类中表示为变量,称为类的()。 A、对象 B、属性 C、方法 D、数据类型 5、在java中下列关于自动类型转换说法正确的是() A、基本数据类型和String相加结果一定是字符串型 B、char类型和int类型相加结果一定是字符 C、double类型可以自动转换为int D、char+int+double+""结果一定是double; 6、score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是() temp=score[0]; for(intindex=1;index<5;index++){ if(score[index] temp=score[index]; } } A.求最大数 B.求最小数 C.找到数组最后一个元素 D.编译出错 7、在Java中下面代码是()条语句 inti;i=123; intj=0,k=0; System.out.println(i+";"+";"+j+""+k); A、3 B、4 C、5 D、6 8、在Java中,关于构造方法,下列说法错误的是() A、构造方法的名称必须与类名相同 B、构造方法可以带参数 C、构造方法不可以重载 D、构造方法绝对不能有返回值 9、执行下面代码结果() for(inti=0;;){ System.out.println("这是"+i); break; } A、语法错误,缺少表达式2和表达式3 B、死循环 C、程序什么都不输出 D、输出: 这是0 10、下面代码输出结果是()。 inti=0,s=0; do{ if(i%2==0){ i++; continue; } i++; s=s+i; }while(i<7); System.out.println(s); A、16 B、12 C、28 D、21 11、下面()不是String类提供的合法的方法。 A、equals(String) B、trim() C、append() D、indexOf() 12、在Java中,下面对于构造函数的描述错误的是()(选择两项) A、类不一定要显式定义构造函数 B、构造函数的返回类型是void C、如果构造函数不带任何参数,那么构造函数的名称和类名可以不同 D、一个类可以定义多个构造函数 13、在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。 A、try B、catch C、throw D、throws 14、分析选项中关于Java中this关键字的说法正确的是() A、this关键字是在对象内部指代自身的引用 B、this关键字可以在类中的任何位置使用 C、this关键字和类关联,而不是和特定的对象关联 D、同一个类的不同对象共用一个this 15、关于面向对象的说法正确的是() A、类可以让我们用程序模拟现实世界中的实体 B、有多少个实体就要创建多少个类 C、对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现 D、现实世界中的某些实体不能用类来描述 三、简答题 1、修改程序中的错误 importjava.io.*; packagejiafei
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 复习题