收藏 分销(赏)

Java复习题与答案.doc

上传人:xrp****65 文档编号:7421840 上传时间:2025-01-03 格式:DOC 页数:10 大小:418.57KB 下载积分:10 金币
下载 相关 举报
Java复习题与答案.doc_第1页
第1页 / 共10页
Java复习题与答案.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
1、编译Java  Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(   B   )。(编译后产生的字节码是.class)          A.    .java                      B.    .class          C.    .html                      D.    .exe 2、设 x = 1 , y = 2 , z = 3,则表达式  y+=z--/++x  的值是(   B   )。          A.    3                        B.    3. 5          C.    4                        D.    5 这道题不够严谨 它没有指定 x,y,z 的类型 如果它们都是double型那么 等式等价于 y = y+ (z--)/(++x) y = 2 + 3 / 2; (注意 z 是在用后再自减的此时 z = 2;) y = 3.5; 如果它们都是int 型的话那么 等式等价于y = y+ (z--)/(++x) y = 2 + 3 / 2; (注意 z 是在用后再自减的此时 z = 2;) y = 2 + 1; (注意:因为z和x都是int所以运算的结果也是int等于1 y = 3; 如果是单选题的就选B,如果是多选题的话就选A、B; 3、main方法是Java  Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(  B   )? A、public  static  void  main( ) B、public  static  void   main( String  args[] ) 这样写也是可以的public static void main(String[] args) C、public static int  main(String  [] arg ) D、public  void  main(String  arg[] ) 4、在编写Java  Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(    C  )语句。      A、import   java.awt.* ;            B、import   java.applet.Applet ;      C、import   java.io.* ;               D、import   java.awt.Graphics ; 5、在Java  Applet程序用户自定义的Applet子类中,常常重载(     D    )方法在Applet的界面中显示文字、图形和其它界面元素。 注意:要知道Applet的生命周期即什么时候调用start() 、stop()、init()       A.   start( )                        B.   stop( )       C.   init( )                           D.   paint( ) 6、下面哪些是java语言中的关键字? (     )  A sizeof (是C++的)  B abstract   C NULL   D Native  7、下面语句哪个是正确的? (     )  A char='abc';(字符串要用双引号)  B long l=oxfff; (是十六进制的 4095.0)   C float f=0.23; ( float f = 0.23f;或者 float f = 0.23F是一样的)  D double=0.7E-3; (如果有变更名就正确double d = 0.7E-3) 8、以下程序测试String 类的各种构造方法,试选出其运行效果。 (   A  )   class STR{    public static void main(String args[]){     String s1=new String();     String s2=new String("String 2");     char chars[]={'a',' ','s','t','r','i','n','g'};     String s3=new String(chars);     String s4=new String(chars,2,6);(注:取数组下标为2的开始6个元素)     byte bytes[]={0,1,2,3,4,5,6,7,8,9}; //注:这个没有用到     StringBuffer sb=new StringBuffer(s3);     String s5=new String(sb);     System.out.println("The String No.1 is "+s1);     System.out.println("The String No.2 is "+s2);     System.out.println("The String No.3 is "+s3);     System.out.println("The String No.4 is "+s4);     System.out.println("The String No.5 is "+s5);    }   }  A The String No.1 is     The String No.2 is String 2     The String No.3 is a string     The String No.4 is string     The String No.5 is a string   B The String No.1 is     The String No.2 is String 2     The String No.3 is a string     The String No.4 is tring     The String No.5 is a string   C The String No.1 is     The String No.2 is String 2     The String No.3 is a string     The String No.4 is strin     The String No.5 is a string   D 以上都不对  9、下面语句段的输出结果是什么? (    B )   int i = 9;    switch (i) {    default:    System.out.println("default");    case 0:    System.out.println("zero");    break;    case 1:    System.out.println("one");    case 2:    System.out.println("two"); }   A default   B default, zero   C error default clause not defined   D no output displayed  注: 如果default在最前面且switch里面没有i的匹配值,那么 程序会运行第一个break前面的所有代码(这道题便是) 如果default在最后面且switch里面没有i的匹配值,那么 程序只会运行default语句后面的代码 只要switch里面有匹配值不管default在那里只运行那个 相应的case的代码 10、一个可以独立运行的Java应用程序( D) A、可以有一个或多个main方法 B、最多只能有两个main方法 C、可以有一个或零个main方法 D、只能有一个main方法 11、设数组Array由以下语句定义 int Array=new int[10] 则数组的第一个元素的正确引用方法为( ) A、Array[1] B、Array[0] C、Array[] D、Array 12、Java用来定义一个类时,所使用的关键字为 ( ) A、class B、public C、struct D、class 或 struct 13、Java程序的执行过程中用到一套JDK工具,其中javac.exe是指( ) A.Java文档生成器 B.Java解释器 (是java.exe) C.Java编译器 D.Java类分解器 14、一个可以独立运行的Java应用程序( ) A、可以有一个或多个main方法 B、最多只能有两个main方法 C、可以有一个或零个main方法 D、只能有一个main方法 15、设数组Array由以下语句定义 int Array=new int[10] 则数组的第一个元素的正确引用方法为( ) A、Array[1] B、Array[0] C、Array[] D、Array 16、break语句( ) A、只中断最内层的循环 B、只中断最外层的循环 C、借助于标号,可以实现任何外层循环中断 D、只中断某一层的循环 17、Jcreator是( ) A、一种全新的程序语言 B、一种程序辅助设计工具 C、一种由Java写成的,并支持Java Applet的浏览器 D、一种游戏软件 18、以下声明的变量中,只有( )是不合法的。 A、 internet_network B、 *number C、 Hello D、 _sys_path 19、以下程序段执行后的K值为( )。 int x=20; y=30; k=(x>y)?y:x A、 20 B、 30 C、10 D、50 .注 :三元运算符 x>y 为假 所以 k = x (如果 x>y 为真,那么k = y) 20、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )。 A、 final B、 public C、 private D、abstract 21、以下代码中,this是指( )。 class bird{ int x,y; void fly(int x,int y){ this.x=x; this.y=y; } } A、 bird B、 fly C、bird或fly D、不一定 (这里选D。this指的是实例化这个类的对像 如果this是bird类的话,那么 x和y必须是静态变量static ) 22、作为Java应用程序图形界面基础的是( )。 A、Panel B、Frame C、Windows D、Applet 23、Java源文件和编译后的文件扩展名分别为( ) A、.class和 .java B、.java和 .class C、.class和 .class D、.java和 .java 24. 编译并运行以下程序,以下描述哪个选项是正确的( ) 1. class X{ 2. public String toString(){ 3. return super.toString();} 4. } A、编译通过运行无异常 B、编译通过但运行时出错 、 C、行2出错,不能成功编译 D、不能成功编译,行3出错 注:class X { Public String toString() { Return super.toString(); }} Java每一个类都有一个toString()的方法现在这里是重写它,能够编译 但是运行不了(因为没有主函数) 25. 下列关于修饰符混用的说法,错误的是( ) A. abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C. abstract方法必须在abstract类中 D. static方法中能处理非static的属性(只能处理static 的属性) 26. 以下标识符中哪项是合法的是(选两个 ) A、 BigMeaningless Name B、$int C、 1 st D、_1 27、 Applet小程序 和 Application独立程序的主要区别是( )。 A、小程序内必须有 main() 方法 B、独立程序必须包含 main() 方法,而Applet小程序的父类一定是Applet C、两者都必须有 main() 方法 D、小程序必须包含 main() 方法,而独立程序的父类一定是Applet 28、在JAVA语言网络编程中,URL类是在包中,该类中提供了许多方法用来访 问URL对象的各种资源,下列哪个用来获取URL中的端口号。( )。 A、getFile() B、getProtocol() C、getHost() D、getPort() 29、JAVA语言中的套接字(Socket)是一种基于网络进程通信的接口,是网络通信协议的 一种应用。它有两个主要类,下列哪个在Application应用程序中实现客户端的通信 功能。( ) A、ServerSocket类 B、URL类 C、Socket类 D、Client 30、在Java中,对组件可实现不同的布局,下列哪个不对( )。 A、顺序布局(FlowLayout)(是Panel的默认布局) B、边界布局(BorderLayout)(是Frame,Dialog的默认布局) C、网络布局(GridLayout) D、中央布局(CenterLayout) 31、下面的程序输出的结果是( )。 public class CC implements BB { public static void main(String[] args) { int i=6; CC c1=new CC(); i=c1.k; System.out.println(“i=”+i); } } interface BB { int k=10; } A、i=0 B、i=6 C、i=10 D、i=true 装订线 装订线 装订线 32、以下关于Java语言继承的说法正确的是( )。 A)Java中的类可以有多个直接父类(可以多个间接) B)抽象类不能有子类 (不能直接实例化) C)Java中的接口支持多继承 D)最终类可以作为其它类的父类 33、下列方法中可以用来创建一个新线程的是( ) A) 实现java.lang.Runnable接口并重写start()方法 B) 实现java.lang.Runnable接口并重写run()方法 C) 继承java.lang.Thread类并重写run()方法 D) 实现java.lang.Thread类并实现start()方法 34、要使用Java语言开发socket程序,需要使用( )包。 A) B)java.io C)java.awt D) java.util 35、当浏览器重新返回Applet所在页面时,将调用Applet类的方法是( ) A) start() B) init() C) stop() D) destroy() 36、int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语 句是( ) A)public int MAX_LENGTH=100 B)final int MAX_LENGTH=100 C)public const int MAX_LENGTH=100 D)public final int MAX_LENGTH=100 37、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式 。C类也位于packageA包,且继承了B类 。则以下说话正确的是()   A.A类的实例不能访问到B类的实例   B.A类的实例能够访问到B类一个实例的x成员   C.C类的实例可以访问到B类一个实例的x成员(看下面那张表可知)   D.C类的实例不能访问到B类的实例 package packageA; class A { } class C extends B { } package packageB public class B { protected x; } 38、以下()类不属于字符流类。 A.Reader B. FileReader C.BufferedInputStream  D.StringReader 注:有Reader都是字符流 装订线 装订线 装订线 39、以下()类属于字节流类 。 A.FileWriter B.PushbackReader C.FilterReader D.FileInputStream 注:如果是二进制的就有data 40、编译并运行下面的Java代码段:    char c='a';    switch (c) {      case 'a': System.out.println("a"); (注:这里没有break所以它还是会运行下面的代码)      default: System.out.println("default");   } 输出结果是() A.代码无法编译,因为switch语句没有一个合法的表达式 B.a Default C.a D.default 一 java 基础 1.将java源程序编译为目标代码采用的命令为 javac . 2.解析执行一个java 应用程序采用的命令为 java . 3.在命令行编译运行java 程序,需要设置的环境变量是 classpath和 path。 4.以下说法是否正确: Java语言的语法和 C++类似,java 和C++都广泛使用了指针数据类型 (X) 5. java 中,下面不能作为标示符的是 (BE)  A. MyName B. int C.Int C D. _intC E. 3intA 6. java 关键字有 const, sizeof, super, void, double?(X) 7. java 的原始数据类型? (ABCD) A. short B.boolean C.byte D.float 8.创建4个float类型元素的数组。 float a[] = new float[4] 9. 运行程序 public class Test{ Static int a[] = new int [10]; public static void main (String args[]) { System.out.println (a[1]); } } 输出结果 : 0 //因为没有初始化,系统默认为0 二 表达式和程序结构 1. 逻辑运算符优先级由高到低: 非not,与and,或or 2. 如果 int a = 90;int b = 104; 表达式a=b的逻辑值为true 。表达式!(a>=b)的值true 。表达式(a==90)&&(b>105)的值 false。表达式(a==90)||(b>105)的值true 。 3.运行程序 int i = 2, j = 10; do { if ( i++ < --j ) continue; } while ( i < 5 ); i= 5 j= 7 4. 运行程序 int i = 0, j = 3; while (1){ i+=2; if (i>=10) break; j++; } i=10 j = 7 5. 运行程序 int x = -2 ; if (x>0) {System.out.println ( “first” ) ; } else if ( x> -3) {System.out.println ( “second” ) ; } else {System.out.println ( “third” ) ; } 系统输出:second 。 6. int i = 2 ; string [ ] myString = new String [5]; string s1 = myString [i]; s1的值为 null 。 7.正确的包含50个字符串数组的声明: String obj [] = new String [50] 8. java 主函数的正确写法: public static void main( String [ ] args ) 9. for , while, do while在条件求值前循环体至少要执行一次,应使用 do while 10. 程序差错 7 1)public void modify () { 2) int i, j, k; 3) i= 100; 4) while (i=0){ 5) j = i*2 ; 6) System.out.println(“the value of j is ” + j ) ; 7) k = k+1; //k没有初始化 8) i- - ; 9) } 10) } 三 类和对象 1.判断以下描述是否正确。 A 对象的典型周期、生命周期是创建、运行、存储和释放四个阶段。(X)(注:创建、运行、释放) B java 中的类定义了同类对象共有的变量和方法。 (Y) C 一个类可以生成多个对象,并且这些对象都具有相同属性。(Y) D 对象间的通信是通过消息传递来实现的。(Y) E 只要把所有的方法和变量写到同一文件中,便可以实现这些方法和变量的封装。(X) F 通过继承,子类可以获得父类的所有特性。(X) G 在一个类中,可以定义多个同名的方法,只要确定它们的参数个数和类型不同,这种现象称为类的多态。 (Y) H 类的多态体现在方法的重载上,包括成员方法、成员变量和构造方法的重载。 (X) 2. 下面哪个方法是构造方法MyClass的重载?(B) public class MyClass { public MyClass (int x, int y, int z){} } A. protected int MyClass (){} B. public MyClass (){} C. private int MyClass{int z, int y, byte x} {} D. public void MyClass (byte x, byte y, byte z) {} 3、判断一下关于类的描述是否正确 A、在java中一个类卡可以有多个直接父类F B、在java中一个类只能实现一个接口,F C、在java中一个类不能同时集成一个类和实现一个接口,F D、在java中只允许单一继承,T E、子类不能继承父类中的private成员,除此之外,其它所有的成员都可以通过继承变成子类的成员,T F、java程序中一个子类可以继承多个父类,F G、抽象类不能用来实例化一个对象,T H、用final修饰类,说明该类是最终类,不能被继承,T I、私有成员变量不能被本类中的成员方法所访问,F J、实例变量用关键字static声明,F k、在方法中定义的局部变量在该方法被执行是创建,T L、局部变量在使用前必须被初始化,T -------------------------------------------------------------------------------------- 1、类成员变量需要只能够被 相同的包中的其他类访问,应该用什么访问修饰符:默认(友好) 2、类中成员变量只能 被声明他的类 和 同一个包中的类访问,应该是用哪个修饰符:默认(友好) -------------------------------------------------------------------------------------- 判断以下关于接口的描述是否正确 1,在java中一个类可以同时继承一个类和实现多个接口,T 2,在接口中所有方法都是抽象的,T 3,在接口中定义的变量可以被实现接口方法的类改变,F 4,要实现接口,要在类的声明语句中使用关键字implements,同时在类中实现接口中定义的方法,T ----------------------------------------------- 说明以下程序为什么编译时会出错 public class MyClass { public static void main(String arguments[]) { mymethod(String(arguments)); } public void mymethod(String[] arguments) { System.out.println(arguments); System.out.println(arguments[1]); } } ANS: mymethod 为实例方法,而该程序没有实例化对象。 判断以下关于包的描述是否正确 1,在java中,当声明的类很多时,类名就可能冲突,这就需要一种机制管理类名,这就是包,T 2,同一包中类名不能重复,不同包中可以有相同的类名,T 3,java.lang包是java语言的基础类库,包含基本数据类型,数学函数,字符串类等,这是唯一自动引入到每个java程序的类库,T 4,import.java.awt.*;用来引入awt包中全部类以及所有下层包中的全部类F --------------------------------------------------------------------------------------------- 下列语句的次序是否正确(3) 1, import java.awt.*; package Mypackage; class myclass{} 2, class myclass{} package mypackage; 3, package mypackage; import java.awt.*; class myclass{} 4, class myclass{} import java.awt.*; ------------------------------------------------------------------------------------------ 以下哪个方法可以加入类MyChild中(4) public class MyParent { public int addValue(int a,int b) { int s; s=a+b; return s; } } class MyChild extends Parent{} 1,int addValue(int a,int b) 2,public void addVaule (int a,int b) 3,public int addValue(int a) 4,public int addValue(int a ,int b)throws MyException ---------------------------------------------------- java是面向对象的程序语言,java所有的类的根类是:java.lang.Object ---------------------------------------------------------------------- 下列哪个类声明是正确的?4 1,abstract final class Car{} 2,abstract private car(){} 3,portected private car; 4,public abstract class Car{} -------------------------------------------------------------------------- ——————————————AWT&Swing———————————— 1,JFrame默认的布局管理器是什么:BorderLayout 2,Swing组件有:JApplet,JFrame,JPanel,JButton, JComboBox, JList 3,Java中哪个控件允许用户从一组选项中选择单个选项:RadioButton WindowListener接口的方法有:WindowActivated windowClossed, windowClosing windowDeactivated windowIconified windowDeiconified windowOpened 5,下面不属于Java的布局管理器的是:a a,RectLayout b,FlowLayout c,CardLayout d,GridLayout 6,下列关于Java中的事件处理机制叙述是否正确 a,每一个事件发生,Java虚拟机就会把事件的消息传递给程序,由程序中的事件处理方法对事件进行处理,T b,能产生事件的组件叫做事件源,当事件发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机构,T c,一个时间监听器如果要处理多种事件,就必须要实现多个事件接口,T d,事件监听器必须是包含事件源的容器对象,F --------------------------------------------------------------------------------------------------------------------------- 1,applet的缺省的布局管理器是FlowLayout管理器:T 2,FlowLayout管理器使用控件对准每一行的中心,T -------------------------------------------------------------------------------------------- 在窗体上,单击一个按钮,会产生什么事件:b a,ClickEvent b,ActionEvent c.MouseEvent d,ButtonEvent ----------------------- 下面哪个类不是容器类:a a,Canvas b,JPanel c,JFrame d,JApplet ---------------------------------- 单选60% 阅读与选择题15% 填空题10% 编程题15% 一 java 基础 1.将java源程序编译为目标代码采用的命令为 javac . 2.解析执行一个java 应用程序采用的命令为 java . 3.在命令行编译运行java 程序,需要设置的环境变量是 classpath和 path。 4.以下说法是否正确: Java语言的语法和 C++类似,java 和C++都广泛使用了指针数据类型 (X) 5. java 中,下面不能作为标示符的是 (BE)  A. MyName B. int C.Int C D. _intC E. 3intA 6. java 关键字有 const, sizeof, super, void, double?(X) 7. java 的原始数据类型? (ACD) A. short B.boolean C.byte D.float 8.创建4个float类型元素的数组。 float a[] = new float[4] 9. 运行程序 public class Test{ Static int a[] = new int [10]; public static void main (String args[]){ System.out.println (a[1]); } } 输出结果 : 0 //因为没有初始化,系统默认为0 二 表达式和程序结构 1.逻辑运算符优先级由高到低:非not,与and,或or 2. 如果 int a = 90;int b = 104; 表达式a=b的逻辑值为true 。表达式!(a>=b)的值true 。表达式(a==90)&&(b>105)的值 false。表达式(a==90)||(b>105)的值true 。 3.运行程序 int i = 2, j = 10; do{ if ( i++ < --j ) continue; } while ( i < 5 ); i= 5 j= 7 4. 运行程序 int i = 0, j = 3; while (1){ i+=2;if (i>=10) break;j++; } i=10 j = 7 5. 运行程序 int x = -2 ; if (x>0) {System.out.println ( “first” ) ; } else if ( x> -3) {System.out.println ( “second” ) ; } else {System.out.println ( “third” ) ; } 系统输出:second 。 6. int i = 2
展开阅读全文

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


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 其他

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服