分享
java题库.doc
下载文档
下载文档

ID:3277538

大小:210.50KB

页数:26页

格式:DOC

时间:2024-02-19

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
java 题库
Java语言概述 Java平台由两个组件构成: JVM 、 Java API ,从而将程序与硬件分离实现跨平台功能. Java2平台主要有哪几个成员?各自应用于什么场合? Java2平台主要有三个成员,分别是: (1)Java EE主要用于可扩展的企业级方向; (2)Java SE用于工作站、PC机桌面系统方向; (3)Java ME 用于嵌入式消费类电子产品方向。 下面的说法错误的是c A) Java 语言是面向对象的、解释执行的网络编程语言。 B) Java 语言具有可移植性。 C) Java 语言是与平台有关的编程语言。 D) Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。 下列关于JAVA语言特点的叙述中,错误的是__A__。  A)Java是面向过程的编程语言  B)Java支持分布式计算  C)Java是跨平台的编程语言  D)Java支持多线程 下列叙述中,正确的是   A)声明变量时必须指定一个类型   B)Java认为变量number与Number相同   C)Java中唯一的注释方式是"//"   D)源文件中public类可以有0或多个 main方法的声明格式包括 public static void main() throws exception{} Java语言与C++语言相比,最突出的特点是 C      A)面向对象B)高性能C)跨平台D)有类库 在Java应用程序main方法中,正确的参数是:C A. main(string args[]) B. main(String ()args ) C. main(String args[]) D. main(string []args ) 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[] ) 答:B 下面说法正确的是( D) A java Applet 程序必须在浏览器中执行 B java 应用程序必须在浏览器里执行 C java Applet 程序不一定在浏览器中执行 D java 应用程序可以在浏览器中执行 在浏览器中执行applet 程序的四个方法的最先执行的是( B) A init() B start() C destroy() D stop() 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。 A. .java B. .class C. .html D. .exe java语言数据类型可分为两大类,一类称为 _基本数据类型_________,另一类称为 应用类型 开发工具 在Eclipse中开发Java程序的步骤包括 D 。 a. 创建一个Java项目 b. 手动创建Java源程序 c. 编译并运行Java程序 d. 以上全部 进行Java程序需要的工具软件所在的目录是_A_。  A)JDK的bin目录  B)JDK的demo目录  C)JDK的lib目录  D)JDKR的jre目录 在编译Java程序时,用于指定生成class文件位置的选项是__B__。  A)-g  B)-d  C)-verbose  D)-nowarn java类文件的扩展名为___.java___________,编译java 源程序的命令是_____javac___。 java 应用程序的编写分为___________,____________,_______________三步 语言基础 标识符 下列标识符(名字)命名原则中,正确的是__D___。  A)类名的首字母小写  B)变量和方法名的首字母大写  C)接口名的首字母小写  D)常量完全大写 选出不合理的标识符 B A _sys1_lll B 2mail C $change D class Which declarations of identifiers are legal? A. $persons B. TwoUsers C. *point D. this //属于关键字不能做标示符; E. _endline (a,b,e) 题目:下面哪些是合法的标识符。 的标识符可以以一个Unicode字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字。 如下哪些字串可以是Java中的标识符?A A、fieldname B、String //不能使用关键字做标示符; C、3number D、#number 下列哪个是合法的Java标识符?( ) A、Tree&Glasses //属于特殊符号 B、5FirstJavaApplet C、_$theLastOne D、273.5 答:C 以下标识符中哪项是不合法的( A ) A、const B、$double C、hello D、BigMeaninglessName 下列属于合法的Java标识符是 ( D )   A)"ABC"   B)&5678   C)+rriwo   D)saler 数据类型及转换(变量与常量) 在Java应用程序中,商品价格类的数据最好使用()数据类型的变量存储 D a) int b) String c) char d) double Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。 A、8 B、16 C、32 D、64 答:B 下列代表十六进制整数的是 C   A)0123   B)1900   C)fa00   D)0xa2 1、Which of the following range of short is correct? -27 -- 27-1 0 -- 216-1 –215 -- 215-1 –231 -- 231-1 (c) 题目:下面哪些是short型的取值范围。 短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整型(Integral)数(包括byte,short,int,long)全是有符号的。 Which statement of assigning a long type variable to a hexadecimal value is correct? A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L. (d) 题目:哪些是将一个十六进制值赋值给一个long型变量。 十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。 下列代码中,将引起编译错误的行是 B 1)public class Exercise{ 2) public static void main(String args[]){ 3) float f=0.0; //java中需要指出初始化时数值需加f结尾 4) f +=1.0; 5) } 6)}   A)第2行   B)第3行   C)第4行   D)第6行 指出正确的表达式 C A byte=128; B Boolean=null; C long l=0xfffL; D double=0.9239d;//关键字不能做变量; 下列代码哪几行会出错: C 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; //java 中数值必须初始化 8) I--; 9) } 10) } A line 4 B line 6 C line 7 D line 8 设x为float型变量, y为 double型变量, a为 int型变量,已知 x=2.5f, a=7 ,y=4.22 则表达式x+a%3*(int)y的值为___double___类型 //如果参加+ 、-、*、/、运算的两个数中有一个数位float或double型则结果为double型因为所有的float都按double进行运算; 在Java中,3.14156D表示的是 3.14156的double双精度浮点数 运算符、表达式与输入输出 "++"运算符的操作数个数是 A   A)1个   B)2个   C)3个   D)4个 设 x = 1 , y = 2 , z = 3,则表达式 y=x+y+z 的值是B 。//相当于重新开辟空间y等于现在的值y=x+y+z 在利用y值时此时的y值为y+=y(y=x+y+z) A. 3 B. 6 C. 4 D. 5 阅读下面程序      public class Increment{       public static void main(String args[]{        int c;         c=5;          System.out.println(c);         System.out. println(c++);      System.out.println(c);       }      }   程序运行结果是__B__。 A5 B5 C6 D6  6  5  7  6  6  6  7  7 阅读下面程序        public class OperatorsAndExpressions{         void equalsMethodl(){           String s1=new String(“how are you”)          String s2=new String(“how are you”)         System.out.println(s1==s2)        }        public static void main(String args[]){        OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();        //用于复合类型数据的“= =”运算符        OperAndExp.equalsMethod1();         }        }  程序运行结果是_C__。  A)==  B)true  C)false  D)equal 分析下面的Java代码段,编译运行后的输出结果为(b)。 public class Test{ public static void main(String[] args){ System.out.print("姓名:"); System.out.print("Laura"); } } a. 姓名: Laura b. 姓名:Laura c. 姓名: Laura d. Laura 姓名: 在Java中,下列代码运行后的输出结果是() (选择一项) int x=5*3; int y=x+5/x+3;//5/15两边都为整数取整数为0 ;5/3两边取整数为1; System.out.println(y); a) 18 b) 21 c) 19 d) 4 设 a = 8,则表达式 a >>> 2 的值是B 。 1000-> 0010 A、1 B、2 C、3 D、4 阅读下面程序      import java.io.*;       public class TypeTransition{        public static void main(String args[]){        char a = ‘h’;        int i=100;       int j=97;      int aa=a+i;      System.out.println(“aa=”+aa);       Char bb=(char)j;      System.out.println(“bb=”+bb);      }     }  如果输出结果的第二行为bb=a,那么第一行的输出是__B___。  A)aa=1  B)aa=204  C)aa=v  D)aa=156 执行下列代码后的结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++;//判断式c++知前面是b++ x=10,a=3,b=4,c=5 设 x = 2 ,则表达式 ( x + + )/3 的值是 0 。 若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是__ture_______ 。 阅读下列代码     public class Test2{     public static voidm cn(String args[]){     System.out.println(5/2);}     }  其执行结果是 2 选择(分支)语句 执行以下几个语句后的输出结果是 This one 。 String s = “This one” , s1=”This two”; int i=5 if (i>10) System.out.print(s) ; else System.out.print(s1) ; 若a的值为3时,下列程序段被执行后,c的值是多少?C c = 1; if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 分析如下所示的Java代码,编译运行后的输出结果是(b) public static void main(String arg[]){ boolean b= true; System.out.print(b); if(b){ System.out.print("真"); } else{ System.out.print("假"); } } a. true b. true真 c. true假 d. 1 下列语句序列执行后,k 的值是(   )。//%取余运算2%5商为0余数为2; 2/5除法运算两边为整数结果为整数0;        int x=2, y=5, k=0;     switch( x%y )    {       case 0:  k=x+y; break;       case 1:  k=x-y;  break;       case 2:  k=x*y;  break;       default:  k=x/y;  break;         }     System.out.println(k); A) 2     B) 5     C) 10     D) 0                                                    【答案】C 在switch(expression)语句中,expression的数据类型不能是   A)double   B)char   C)byte   D)short 在Java语言中,有如下代码: switch(x){ case 100: System.out.println(“One humdred”); break; case 200: System.out.println(“two humdred”); break; case 300: System.out.println(“three humdred”); break; } 下列x的定义中,()可以使得上段代码编译通过。 (选择二项) a) double x=100; b) char x=’d’; c) string x=”100”; d) int x= 100; 下列代码中 if(x>0){System.out.println(“first”);} else if (x>-3){System.out.println(“second”);} else { System.out.println(“third”);} 要求打印字符串为“second”时,x的取值范围是 A   A)x<=0 并且 x>-3   B)x>0   C)x>-3   D)x<=-3 阅读下面代码       if(x==0){System.out.println(“冠军”);}        else if(x>-3){System.out.println(“亚军”);}       else{System.out.println(“季军”);}  若要求打印字符串“季军”,则变量x的取值范围是__D__。  A)x=0&x<=-3  B)x>0  C)x>-3  D)x<=-3 循环语句 下面的代码段中,执行之后count的值是什么( )? int count=1; for(int i=1;i<=5;i++) { count=count+i; System.out.println(count); } A、5 B、1 C、15 D、16 java中,无论循环条件是什么,下列()循环都将至少执行一次。 A for B do…while C while D while…do 在JAVA中,给定代码片段如下所示,则编译运行后,输出结果是(),(选择一项) for(int i=0;i<10;i++) { if(i==10-i) { break; } if(i%3!=0) { continue; } System.out.print(i+""); } a 0 b 0 3 c 0 3 6 d 0 3 6 9 应用程序的main方法中有以下语句,则输出的结果是 A 。 int[]  x={122,33,55,678,-987};         int  max=x[0];         for(int i=1;i<x.length;i++){             if(x[i]>max)                 max=x[i];         }         System.out.println(max); A) 678     B) 122     C) -987         D) 33                                        【答案】A 分析所示的Java代码,编译运行后的输出结果是() (选择一项) public static void main(String arg[]){ int a = 100; while(a%2==0){ System.out.print(a); a=a/4; } } a) 1002561 b) 10025 c) 100 d) 25 在Java语言的控制结构中,break语句是经常用到的语句。下面一段代码中break语句起到()的作用 int pointer=0; while(pointer<=100){ switch(pointer%3){ case 1: pointer+=1; break; case 2: pointer+=2; break; case 3: pointer+=3; break; } } a) 结束当次循环,使控制权直接转移到控制循环的条件表达式 b)从嵌套循环内部跳出最里面的循环 c)终止switch语句的语句序列 d)退出循环 阅读下列代码段    int x=3;    while (x<9)    x+=2;    x++;  while语句成功执行的次数是 3 。 打印输出10行杨晖三角形 class yanghui { public static void main(String args[]) { int i, j; int yhlevel = 10; int yanghui[][]; System.out.println("杨晖三角形:"); yanghui = new int[yhlevel][]; for (i = 0; i < yanghui.length; i++) yanghui[i] = new int[i + 1]; yanghui[0][0] = 1; for (i = 1; i < yanghui.length; i++) { yanghui[i][0] = 1; for (j = 1; j < yanghui[i].length - 1; j++) yanghui[i][j] = yanghui[i - 1][j - 1] + yanghui[i - 1][j]; yanghui[i][yanghui[i].length - 1] = 1; } for (i = 0; i < yanghui.length; i++) { for (j = 0; j < yanghui[i].length; j++) System.out.print(yanghui[i][j] + " "); System.out.println(); } } } 输出结果是: 杨晖三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 在转向语句中 ____________语句使得程序结束本次循环,回到循环的条件测试部分继续执行。 包含在花括号中的语句组叫( ) A 组 B 块 C 包 D 堆 方法调用 在调用方法时,若要使方法改变实参的值,可以B A 用基本数据类型作为参数 B 用对象作为参数 C(A)和(B)都对 D (A)和(B)都不对 数组 在Java中,字符串是作为 类 出现的。 已知:int[] a = new int[100];在下列给出的数组元素中,非法的是 D   A)a[0]   B)a[1]   C)a[99]   D)a[100] 应用程序的main方法中有以下语句,则输出的结果是 (   )。 int  b[][]={{1, 2, 3}, {4,5}, {6,7}};         int sum=0;         for(int i=0;i<b.length;i++) {                        for(int j=0;j<b[i].length;j++) {                 sum+=b[i][j];             }                    }         System.out.println("sum="+sum); A) 28     B)6     C) 9     D) 13 类和对象 对象有哪些属性?什么是状态?什么是行为?二者之间有何关系? 类是由Java编译器自动生成的,它伴随每个类。 面向对象的程序程序方法有哪些优点? 所有JAVA的类都派生自 Object (或java.lang.Object) ,此类在 java.lang 包中。 Java Application源程序的主类是指包含有( )方法的类。 A、main方法 B、toString方法 C、init方法 D、actionPerfromed方法 答:A 下面关于类的说法不正确的是D 。 A)类是 Java 语言中的一种复合数据类型。  B)类中包含数据变量和方法。 C)类是对所有具有一定共性的对象的抽象。 D) Java 语言的类支持多继承。 下面哪些关键字不能用来控制对类成员的访问(  )? A)public B)protected C)private D)default 简述public,protected,private的保护范围。 public:可被所有其他类引用 protected:该类自身、子类、同一包中的其他类引用 private:仅可被该类自身引用和修改,不能被其他任何类(包括子类)引用 在创建对象时 必须( )B A 先声明对象,然后才能使用对象 B 先声明对象,为对象分配内存空间,然后才能使用对象 C 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D 上述说法都对 Java 类可以作为( )C A 类型定义机制 B 数据封装机制 C 类型定义机制和数据封装机制 D 上述都不对 class Person { private int a; public int change(int m){ return m; } } public class Teacher extends Person { public int b; public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } } Which are syntactically valid statement at// point x? A. i = m; B. i = b; C. i = p.a; D. i = p.change(30); E. i = t.b. (d,e) 题目:在// point x处的哪些申明是句法上合法的。 A:m没有被申明过,不能使用。 B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。 C:a是类Person的private成员,在类外不能直接引用。 D:change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。 E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。 有一段java 应用程序 ,它的主类名是a1,那么保存它的源文件名可以是( ) A a1.java B a1.class C a1 D a2.java 创建类的对象时,使用运算符___________给对象分配内存空间。 构造方法 对于构造函数,下列叙述正确的是( )。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 答:A C D 下列关于构造方法的叙述中,错误的是__C__。  A)Java语言规定构造方法名与类名必须相同  B)Java语言规定构造方法没有返回值,但不用void声明  C)Java语言规定构造方法不可以重载  D)Java语言规定构造方法只能通过new自动调用 以下关于构造函数的描述错误的是( A )。 A、构造函数的返回类型只能是void型。 B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 对于子类的构造函数说明,下列叙述中不正确的是( )。 A、子类无条件地继承父类的无参构造函数。 B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函 数,但这个调用语句必须是子类构造函数的第一个可执行语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行 自己的构造函数。 D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。 答:D 定义类的构造方法不能有返回值类型,其名称与_____名相同。 equals方法与== 写出以下程序的运行结果。 class TwoObjects{ public static void main(String[] args){ B b1=new B(); B b2=new B();//b1,b2的值不确定; System.out.println(b1==b2); System.out.println(b1!=b2); System.out.println(b1.equals(b2)); } } class B{ int x; B( ){ x=1; } } 方法重载 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为C 。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 答:C 对于构造函数,下列叙述正确的是( )。 A、构造函数也允许重载。 B、子类无条件地继承父类的无参构造函数。 C、子类不允许调用父类的构造函数。 D、在同一个类中定义的重载构造函数可以相互调用。 答:A B D 编译并运行下面的程序,运行结果为 B public class T1 { public static void main(String[] args) { T1 a = new T1(); a.method(8); a.method(1.2f); } void method(float i) { System.out.println("float: " + i); } void method(long i) { System.out.println("long: " + i); } } A)程序有编译错误,因为两个method()方法必须定义为静态(static)的。 B)程序可以编译运行,输出结果为: long: 8 float: 1.2 C)程序可以编译运行,输出结果为: float: 1.2 long: 8 D) 程序中定义的两个参数不同的method方法称为方法继承。 垃圾回收器 下列哪些语句关于内存回收的说明是正确的? B A 程序员必须创建一个线程来释放内存; B 内存回收程序负责释放无用内存 C 内存回收程序允许程序员直接释放内存 D 内存回收程序可以在指定的时间释放内存对象 类的组合 类的继承 JAVA 中C A 一个子类可以有多个父类,一个父类也可以有多个子类 B 一个子类可以有多个父类,但一个父类只可以有一个子类 C 一个子类可以有一个父类,但一个父类可以有多个子类

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开