选择题

答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分。

1、 下面(   A    )数据类型可用于main()方法中传递的参数

A、String   B、Integer   C、Boolean   D、Variant

2、以下的选项中能正确表示Java语言中的一个整型常量的是(    B   )

A、12.B、-20   C、1,000     D、4 5 6

3、下列的变量定义中,正确的是(   D    )

A、boolean b1="true";   B、float x=6.6;

C、byte i=200;         D、double y;

4、在屏幕上显示的消息正确的语句是(A)

A、System.out.println("I am Java Expert");

B、system.out.println("I am Java Expert");

C、System.Out.Println("I am Java Expert");

D、System.out.println('I am Java Expert');

5、下面(B)命令可用于编译Java程序

A、java   B、javac  C、appletviewer    D、javadoc

6、Java编译器会将Java程序转换为(A)

A、字节码B、可执行代码

C、机器代码D、以上所有选项都不正确

7、以下字符常量中不合法的是(  C     )

A、'@'  B、'&'  C、"k"   D、'整'

8、以下的选项中能正确表示Java语言中的一个double型常量的是(C)

A、Float.MIN_VALUE      B、1.8e-6F

C、2.0                    D、'abc'

9、以下的变量定义语句中,合法的是(C)。

A、float $_*5= 3.4F;    B、byte b1= 15678;

C、int $abc=5;         D、int class="5";

10、在一个类中定义的成员变量和成员方法时,不允许(A)。

A. 两个成员变量名相同.

B. 成员变量与成员方法名相同.

C. 两个成员方法名相同

D. 成员方法中的参数与成员变量名相同

11、下列叙述正确的是  (B)

A. 在类中的构造方法的名字与类的名字相同,而且不能重载

B. 在类中的构造方法的名字与类的名字相同,但没有返回类型.

C. 在类中的构造方法的名字与类的名字相同,而且有返回类型.

D. 在类中的构造方法的名字与类的名字相同,而且不能初始化.

12、Java application中的主类需包含main方法,main方法的返回类型是什么?(D)

A、int     B、float  C、double      D、void

13、给出如下代码:

class Test{

private int m;

public static void fun() {

// some code...

}

}

如何使成员变量m 被函数fun()直接访问?(C)

A、将private int m改为protected int m

B、将private int m改为public int m

C、将private int m改为static int m

D、将private int m改为int m

14、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为(C)。

A、隐藏 B、覆盖 C、重载D、Java不支持此特性

15、执行下面的程序,输出结果是(B)。

public class Test {

int x= 12;

public void method(int x) {

x+=x;

System.out.println(x);

}

public static void main(String[] args){

Test t = new Test();

t.method(5);

}}

A. 5   B. 10    C. 12     D. 17     E. 24

16、若在某一个类定义中定义有如下的方法:final  void  aFinalFunction( );

则该方法属于( C)。       。

A. 本地方法.  B.解态方法.  C.最终方法D.抽象方法

17、下列叙述正确的是   (D)

A. 子类可以继承父类的所有成员。

B.. 除了继承父类的成员以外,子类不可以创建自己的成员。

C. 当实例化子类时,父类的构造方法不被调用。

D. 子类只能继承父类的非私有成员。.

18、某java程序的类定义如下: public class MyClass extends BaseClass{   }

则该java源文件在存盘时的源文件名应为如下哪一种:(  D )

A. myclass.java  B. Myclass.java  C. MYCLASS.java  D. MyClass.java

19、给出如下代码:

class A{

public A(){

System.out.print("A");

}

}

public  class  B  extends  A{

public B(){

System.out.print("B");

}

public static void main(String[ ]  args){

new  B( );

}

}

程序的输出结果(   A    )

A、AB   B、A   C、B  D、BA

20、以下哪个接口的定义是正确的?(D)。

A、 interface  A

{  void print()  {  } ;}

B、 abstract  interface  A

{ void print() ;}

C、 abstract  interface  A  extends I1, I2  //I1、I2为已定义的接口

{ abstract  void  print(){  };}

D、 interface  A

{  void  print();}

21、下面选项中能把字符串转换成float类型的是?(B)

A. float value = new Float(str);

B. float value = Float.parseFloat(str);

C. float value = Float.floatValue(str);

D. float value = (new Float()).parseFloat(str)

22、在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是( C )

A. public get (float x)

B. int getSort(int y)

C. double getSort(int x,int y)

D. void get(int x,int y)

23、下边程序运行的输出结果是(B)

class Base{

Base(){System.out.print("Base");}

}

public class Alpha extends Base {

public static void main(String[] args){

new Alpha();

new Base();

}

A、Base   B、BaseBase   C、程序编译失败D、程序运行但没有任何输出

24、下列说法正确的是(C)。

A. 一个子类可以有多个父类,一个父类也可以有多个子类

B. 一个子类可以有多个父类,但一个父类只可以有一个子类

C. 一个子类可以有一个父类,但一个父类可以有多个子类

D. 上述说法都不对

25、关于下面程序片段,(B)的结论是正确的。

String a = "Java";              String b = "Java";

String x = "Ja";                String y = "va";

String c = x + y;

A、a和b指向同一个实例对象,a和c指向同一个实例对象

B、a和b指向同一个实例对象,a和c不指向同一个实例对象

C、a和b不指向同一个实例对象,a和c指向同一个实例对象

D、a和b不指向同一个实例对象,a和c不指向同一个实例对象

26、下面这段代码会产生(C)个String对象。

String s1 = "hello";              String s2 = s1.substring(2, 3);

String s3 = s1.toString();         String s4 = new StringBuffer(s1).toString();

A、1   B、2   C、3   D、4

27、设有定义:String s=”World”;,下列语句错误的是(D)。

A、int m=s.indexOf(‘r’);  B、char c=s.charAt(0);  C、int n=s.length();  D、String str=s.append();

28、已知int i = 2147483647; ++i;则i的值等于(A)。

A、-2147483648        B、2147483647      C、2147483648    D、-1

29、若x = 5,y = 8,则表达式x|y的值为(B)。

A、3           B、13            C、0         D、5

30、执行String[ ]  s=new String[10];语句后,哪个结论是正确的?(B)

A、s[0]为 未定义B、s.length为10     C、s.length为11    D、s[10]为""

31、下列说法不正确的是(D)。

A、表达式“1+2>3”的值是false      B、表达式“1+2||3”是非法的表达式

C、表达式“i+j=1”是非法的表达式D、表达式“1+2>3”的值是true

32、若String s = "hello";  String t = "hello";  char c[] = {'h','e','l','l','o'} ;则下列哪个表达式返回false?(C)

A、s.equals(t);    B、t.equals(new String("hello"));      C、t.equals(c);     D、s==t;

33、执行完下面程序片段后,(B)的结论是正确的。

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

34、下面程序片段输出的是(D)。

int i = 0, j = 9;

do {

if(i++ > --j) break;

} while(i < 4);

System.out.println("i = " + i + " and j = " + j);

A、i = 4 and j = 4    B、i = 5 and j = 5    C、i = 5 and j = 4    D、i = 4 and j = 5

35、设有定义“int k=3;”,语法正确且值为true的表达式是(D)。

A、k=3;    B、k++>3;    C、k--==3&&k++==3;    D、k++==3||++k>3;

36、若有定义int  a = 2;则执行完语句a -= a * a;后,a的值是(C  )。

A、0       B)、4        C、-2        D、 –4

37、下列语句序列执行后,j的值是(A  )。int  j=1;

for( int i=5; i>0; i-=2 )  j*=i;

A、15     B、1     C、60     D、0

38、以下由 for 语句构成的循环执行的次数是( B )。

for ( int  i = 0; true ; i++) ;

A、有语法错,不能执行B、无限次C、执行1次D、一次也不执行

39、下列语句序列执行后,j的值是(B  )。

int  j=9,  i=6;

while( i-- >3 )  --j;

A) 5     B) 6     C) 7     D) 8

40. 若有循环:

int x=5,y=20;

do {    y-=x;   x+=2; }while(x

则循环体将被执行(A  )。

A) 2次B) 1次C) 0次D) 3次

41. 下列语句序列执行后,i的值是(  A)。

int  i=10;

do {  i/=2; } while( i>1 );

A) 1      B) 5      C) 2     D) 0

42. 以下语句中能构成多分支的语句是( C )。

A) for 语句B) while语句

C) switch 语句D) do - while语句

43. 能从循环语句的循环体中跳出的语句是(B )。

A)for语句B)break语句C) continue语句D)return语句

44.字符流与字节流的区别是(A)。

A、每次读入的字节数不同 B、前者带有缓冲,后者没有

C、前者是块读写,后者是字节读写 D、二者没有区别,可以互换使用

45.下面关于使用throw关键字抛出的对象说法正确的是(A)。

A、它必须被声明为Throwable类型 B、它必须被声明为error类型

C、它必须被声明为Exception类型 D、它必须被声明为String类型

46.在oneMethod()方法运行正常的情况下,程序段将输出什么?(D)

public void test(){

try{

oneMethod();

System.out.println("condition1");

} catch (ArrayIndexOutOfBoundsExceptione){

System.out.println("condition2");

} catch(Exceptione){

System.out.println("condition3");

} finally{

System.out.println("finally");

}

}

A、condition1  B、condition2  C、condition3  D、condition1finally

47.下列常见的系统定义的异常中,哪个是输入、输出异常? (B)

A、ClassNotFoundException B、IOException

C、NumberFormatException D、UnknownHostException

48.下列InputStream类中哪个方法可以用于关闭流?(B)

A、skip() B、close() C、mark() D、reset()

49.下面关于try-catch-finally语句块中有关finally说法正确的是(C)

A、它只会在catch语句块执行结束后才会执行

B、它只有在catch语句块不被执行的情况下才会被执行

C、不管有没有异常产生它总会被执行

D、只有在有异常产生的情况下它才会被执行

50.关于异常的应用,下列说法恰当的是(B)

A、在java中,使用异常很方便、很有效,因而,只要能使用异常的地方应尽量使用异常

B、在程序中过多的使用异常,会使程序的执行效率降低

C、异常产生后,我们只需捕获它,至于是否对异常给与处理,无所谓

D、Java中的异常全部都被预先定义好了,程序员无需自行定义异常类

51.如果一个程序段中有多个catch,则程序会按如下哪种情况执行(C)

A.找到适合的例外类型后继续执行后面的catch

B.找到每个符合条件的catch都执行一次

C.找到适合的例外类型后就不再执行后面的catch

D.对每个catch都执行一次

52.属于Java输入输出流的、且处理的是char类型的类是(A)

A、Reader类B、InputStream类C、OutputStream类D、File类

53. 下列不属于面向对象编程的三个特征的是(    B   )。

A. 封装B.指针操作C.多态D.继承

54. 以下字符串常量中不合法的是(    B   )。

A. "q"    B. ‘&’    C. "k"    D. "整数"

55. public int getGameScore(),getGameScore这个方法的返回值类型是(   A    )。

A. int   B. void    C. INT     D. short

56. 在java中语句:37.2%10的运算结果为(   C    )。

A. 37         B. 2        C. 7.2        D. "0"

57. 若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(   C  )。

A. 1      B. 2     C. 2.0     D. 2.5

58. 关于while和do-while循环,下列说法正确的是:(   D   ) 。

A. 两种循环除了格式不同外,功能完全相同

B. 与do-while语句不通的是,while语句的循环至少执行一次

C. do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句

D. 以上都不对

59. 下面(   C   )表达式是声明一个含有10个String对象的数组。

A. char str[ ];                       B. char str[ ][ ];

C. String str[ ]=new String[10];      D. String str[10];

60. 多分支语句switch(表达式){}中,表达式可以返回哪种类型的值(   B   )。

A. 实型B.字符型C.数组D.布尔型

61. 下列不属于条件语句关键字的是: (   A   )。

A. for        B. if           C.else         D. switch

62. 下列类的定义,错误的是(   D   )。

A. public class test extends Object{

…… }

B. final class operators{

……}

C. class Point{

……  }

D. void class Point{

……  }

63. 下面表达式中,用来访问数组a中第一个元素的是(   A   )。

A. a[0]      B. a[1]      C. a.0        D. a.1

64. a为true时,值为“真”的表达式是(   A   )。

A. a       B.!(++a)    C. a=true     D. a==0

65. 下面命令中(   A   )可用于解释Java程序。

A. java   B. javac  C. javaapplview  D. javadoc

66. 方法的形参是(   A   )。

A. 可以没有              B. 至少有一个

C. 方法必须都含有        D. 一个方法中可以有多个return

67. 有一个类A,对于其构造函数的声明正确的是(   B   )。

A. void  A(int x){…}        B. public  A(int x){…}

C. A  A(int x) {…}          D. int  A(int x) {…}

68. 设Test为已定义的类,下面声明类Test对象a的语句正确的是(   C   )。

A. Test a=Test();              B. public Test a;

C. Test a=new Test();          D. public Test a=new Test();

69. 如下哪个是Java中的正确的标识符(   D   )。

A. public   B. super     C. 3number   D. width

70. 定义一个类,必须使用的关键字是(   B   )。

A. public      B. class     C. interface    D. static

71. 下列数组声明语句错误的是:(   C   )。

A. int [] a;    B. int a[];     C. int a[5];      D. int[]a=new int[5];

72. Java语言属于下列哪一种语言(   B   )。

A. 面向过程语言B.面向对象语言

C. 面向机器语言D.面向操作系统语言

73. 现有一个整型数组a [4],它的所有元素是(   B   )。

A. a0.a1,a2.a3              B.  a[0],a[1],a[2],a[3]

C. a [1],a [2],a[2],a[4]      D.  a [0],a[1],a [2],a[3],a[4]

填空题

答题要求:每空只有一个正确答案,填对给分,填不对不给分。

1.若有定义 int[ ] a = new int[8]; 则a的数组元素中第7个元素和第8个元素的下标分别是(6)和(7)。

2.Scanner类在(java.util)包下面。

3.JVM是指(java虚拟机)。

4.假设有一个JAVA应用程序,其源程序文件名是Morning.java,则编译该源程序时应该在命令提示符窗口中输(javac Morning.java)命令,运行该程序时应该在命令提示符窗口中输入(java Morning)命令。

5.要声明整型数组a,应该用语句(int a[ ];)。

6.要定义x为int类型的数组,并且数组元素的初值是1、2、3、4、5,则可以用一条语句(int[ ]x={1,2,3,4,5};)。

7.在Java语言中,所有的数组都有一个(length)属性,这个属性存储了该数组的元素的个数或者说数组长度。

8.面向对象程序设计的四个特性是:抽象性、(继承性)、(封装性)、(多态性)。

9.Java中类成员的限定词有以下几种:private缺省,(public),(protected)。其中(public)的限定的范围最大。

10. 用于创建类实例对象的运算符是(new), Java中所有类都是类(Object)的子类。

11. 构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个没有参数的构造的方法。

12. java中用关键字(extends)指明继承关系、用关键字(implements)指明接口实现。

13. this代表了(当前对象 )的引用,super表示的是当前对象的(父类)对象。

14. java中提供了两种用于多态的机制(重载)、(覆盖)。

15.关键字(final)表示一个对象或变量在初始化后不能被修改。

16. 下面方法的功能是判断一个整数是否为偶数,将程序补充完整。

public(boolean)isEven(int  a)

{   if(a%2==0)

return (true);

else

return  false;

}

17. this和super关键字只能在(非静态)方法中使用。

18. java中用关键字(abstract)指明抽象类,用关键字(interface)指明接口。

19. 执行下列代码后的结果是什么? int x,a=8,b=4,c=5; x=++a+b+++c++;

x = (18), a = (9     ),b = (  5 ),  c = (  6  )

20. 在Java语言中,字符串直接量是用双引号括起来的字符序列,字符串不是字符数组,而是类( String )的实例对象。

21. 当String对象用= =比较时,如果String包括相同的地址,则结果为( true )。

22. 对于下列描述,各写出一条语句完成要求的任务

(1)比较s1中的串和s2中的串的内容的相等性;(s1.equals(s2) ; )

(2)用+=向串s1附加串;( s1+=s2; )

(3)判断s1中串的长度;(s1.length(); )

23. 设x,y,max,min均为int型变量,x、y已赋值。用三目条件运算符求x、y的最大值和

最小值,并分别赋给变量max和min,这两个赋值语句分别是(max=a>b?a:b)和( min=a

24. “当整型变量n的值不能被13除尽时其值为false” 的Java语言表达式是(n%13==0)。

25. 执行以下程序段后:x = ( 6 ),  y =( 24 )。

int x = 5, y=5;

y = ++x * - -y;

26. 在Java程序运行时,系统自动通过System类创建三个静态的I/O对象,它们是标准输入流对象(  System.in )、标准输出流对象( System.out )和标准错误流对象( System.err )。

27. java中的异常处理通过5个关键字来实现:它们是try、catch、throw、throws和finally。进行异常监测的代码要放在try子句内:捕获异常需要使( catch )子句;在方法中宣布可能产生的异常应使用(throw)关键字。

28. 异常是一种运行时错误,在java中,异常是以对象的方法表示的,任何异常对象都是(Throwable)类或其子类的对象。

29. Java中,InputStream和OutputStream是以(字节)为数据读写单位的输入输出流的基类;Reader和Writer是以(字符)为数据读写单位的输入输出流的基类。

30. Java的异常处理模型以3种操作为基础:声明异常、抛出异常和捕捉异常。当程序语句导致错误时,包含语句的方法将创建异常对象并把它传递到系统,这个过程称为(抛出异常),查找异常处理程序的过程称为(捕捉异常)。

31.一般用( System.in)创建InputStream对象,表示从标准输入中获取数据。用( System.out)创建OutputStream对象,表示输出到标准输出设备中。

32.java把它能够识别的异常分为两大类:检查的和非检查的异常。非检查的异常是(Error)类和RuntimeException类的实例,它代表程序不必处理严重系统错误;检查异常是(Exception)类的子类,它代表程序应该而且能够处理的错误。

33. 将以( .java )为扩展名的Java源文件编译成字节码文件,字节码文件的扩展名为(.class) 。

34. Java语言中的浮点数默认类型是(double或者双精度浮点型)。

35. Java语言以(类)为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

36. 代码System.out.println(076)的输出结果是(62)。

37. 数组初始化分为(动态数组)和(静态数组)两种。

39. 类中的(构造)方法是一个特殊的方法,其名称与类名相同。

40. 在面向对象方法中,类的实例被称为(对象)。

问答题

答题要求:按采分点给分,语言能符合采分点表达的含义。

1.什么是变量?什么是常量?变量名和变量的数据类型各有什么意义?

答:常量是一个某种基本数据类型的数值(1分),变量是内存中一个存放数据的存储单元(1分)。变量名表示存放该变量的存储单元地址(1分),变量的数据类型表示该变量占用内存的大小(2分)。

2.怎样构成一个合法的Java变量名?

答:Java要求变量名只能由英文字母、美元符号$或下划线_构成,且不能以数字开头,中间也不能有空格。(3分)不能以关键字作为变量名(1分)区分大小写(1分)。

3、简述构造方法的特殊性以及它的主要作用

答:构造方法的特殊性在于:该方法没有返回数据类型,创建对象时系统自动调用。该方法的作用(3分):为创建的对象分配存储空间,为对象的属性赋初始值。(2分)

4、类的主要修饰符有哪些?类的成员变量的修饰符有哪些?

答:类的修饰符有缺省、public、abstract、final等;(2分)成员变量的修饰符有public、private、缺省、protected、static、final等。(3分)

5、类包括哪些部分?类体包括哪些部分?方法定义包括哪些部分?方法声明包括哪些部分?

答:类包括类声明和类体两部分(2分)。类体包括变量定义和方法定义两部分(1分)。

方法定义包括方法声明和方法体两部分(1分)。方法声明包括方法名和返回类型两部分(1分)。

6.类和接口有什么不同

答:一个类只能有一个父类,但是可以有多个接口。接口中只能声明方法,不允许给出方法体,方法体要在实现接口的类中给出。(3分)在默认状态下接口中所有变量和方法都是public。所以当一个类实现了某个接口以后,便可以使用接口的所有变量和方法。(2分)

7.能不能将一个类既声明为abstract又声明为final?

答:不能。abstract类可能包含抽象方法,抽象方法只有方面声明,没有方法体。所以抽象类不能直接使用,只能通过继承,在子类中给出抽象方法的方法体。final类不能被继承,没有子类。所以,他们是矛盾的。

8.如果某子类和它的父类不在同一个包中,采用什么权限修饰符才能访问父类的成员?不加任何修饰符行不行?

答:需要用public或protected修饰(3分)。不行,不加任何修饰符的成员只能在同一个包中访问(2分)。

9.Java是否支持多重继承,如何实现多重继承关系?

答:在Java程序中,通过类的定义只能实现单重继承(3分),但通过接口的定义可以实现多重继承关系。(2分)

10、字符串类String和StringBuffer类有何不同?

答:从根本上来说应该是stringBuffer在做字符长度变动的时候将继续使用原来的内存空间,不新分配.(2分)而String的长度一旦变动,就如上面的例子一样,其内部将分配新的内存空间。(3分)

11.流是指数据的流动。输入流的数据从哪里流到哪里?输出流中的数据从哪里流到哪里?

答:对于输入流,数据从文件或输入设备流动到程序。(2分)对于输出流,数据从程序流动到文件或输出设备。(3分)

程序分析题

1.如果程序代码为:

public class Demo{

public static void main (String[ ] args){

String a=args[1];

System.out.println(a);

}

}

进行编译后,执行以下命令将得到什么结果?java Demo a1 a2 a3

答:a2 (5分)

2、现有一个类定义如下,请回答问题:

class Employee{

String name;

int age;

double wage;

static int No=0;

Employee(String a1,int a2,double a3){

name=a1; age=a2; wage=a3;

No++;

}

}

在使用该类时,已使用下面语句生成了该类的对象:

Employee e1,e2;

e1=new Employee("王劲",26,6300);

e2=new Employee("张山",30,3800);

问题:

1)e2.name,e2.age,e2.wage的值各是什么 ?

2)生成对象e1,e2后,e1.No值为多少 能否通过类名做前缀引用属性No和age?

答:1)(张山;30;3800.0);(3分)

2)(2;可以访问No,不能访问age)(2分)

3、阅读以下程序,写出运行结果  。

class  Q1{

public static void main(String  args[ ]){

double  d=1.23;

Dec  dec=new  Dec( );

dec.decrement(d);

System.out.println(d);

}

classs   Dec{

public void  decrement(double   decMe){

decMe = decMe -0.1;

}

}

答:1.23  (5分)

4、分析下列程序的执行结果:

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

5、分析下列程序的执行结果:

public class Test{

public static void main(){

int i = 1, j = 10;

do{

if(i++ > --j)

continue;

}while(i < 5);

System.out.println("i=" + i + " j=" + j);

}

}

结果是:

答:i=5,j=6

6、阅读程序后回答问题 。

public class ContinueTest

{

public static void main( String args[])

{

char  c='i';

for (int  n=6; n < 11; n++ )

{

if ( n == 8 )   continue;

System.out.print("\t"+(c++));

}

}

}

问题:1)程序的输出结果是什么?

2)若将if中的continue语句替换为break语句,输出结果是什么?

答:1)ij   k  l;(2分)

2)ij(3分)

7.分析下列程序的功能是:

import java.io.File;

public class FileExercise{

public static void main(String[] args){

File fileObject = new File("Sally.txt");

if(fileObject.exists()){

System.out.println("There is a file named Sally.txt");

}else{

System.out.println("There is no file named Sally.txt");

}

}

}

答:测试程序所在的目录是否包含一个名为Sally.txt的文件。如果存在则输出There is a file named Sally.txt;如果不存在则输出There isnofile named Sally.txt。

8. 下面程序输出结果为:

姓名:张三 性别:女 年龄:20

姓名:李四 性别:女 年龄:33

class Person{

String name;

char sex;

int age;

Person(String pName,char pSex,int pAge){//以下代码完成类属性赋值

;

;

;

}

public String toString(){

String s = ("姓名:" + name + "性别:" + sex + "年龄:" +age);

; /返回s的值

}

}

public class CreatePerson{

public static void main(String[] args){

Person p1 = new Person("张三",'男',20);

以下代码完成定义对象p2,各参数值分别为:李四,女,28

;

p1.sex = '女';    //将p1的sex属性改为女

System.out.println(p1.toString()); //输出p1的各个属性

//以下代码将p2的age改为33

;

//以下代码输出p2的各个属性

;

}

}

答:1、name=pName(2分)

sex=pSex(2分)

age=pAge(2分)

2、return s(2分)

3、Person p2=new Person(“李四”,’女’,28) (2分)

4、p2.age=33(2分)

5、p2.toString( )(2分)

9.分析程序的运行结果

public class Course{

private String cNumber;

private String cName;

private int cUnit;

public Course(String number,String name,int unit){

cNumber=number;cName=name;cUnit=unit;

}

public void printCourseInfo(){

System.out.println ("课程号:"+cNumber+"课程名:"+cName+"学分:"+cUnit);

}

}

class CourseTest{

public static void main(String[]args){

Course c;

c=new Course("001","Java",3);

c.printCourseInfo();

}

}

答:课程号:001 课程名:Java学分:3(5分)

10. 下面的程序运行结果如下,请将代码填充完整:

name:Tom

salary:5000

name:Jerry

salary:3000

public class Employee{

String name;

int salary;

Employee(String n,int s){

____;          //给变量name赋值

____;          //给变量salary赋值

}

Employee(String n){

name = n;        //给变量name赋值

}

void print(){

System.out.println("name:" + name);

System.out.println("salary:" + salary);

}

void setSalary(int s){

____;             给变量salary赋值

}

public static void main(String[] args){

Employee e1 = new Employee("Tom",5000);

Employee e2 = new Employee("Jerry");

e1.print();

e2.setSalary(3000);

e2.print();

}

}

答: 1、name=n;//给变量name赋值

salary=s;

2、salary=s;

11.分析程序的运行结果

public class Father{

String name,address,tel;

int age;

public Father(String name,int age){

this.name=name;this.age=age;

}

void out(){

System.out.print("姓名:"+name);

System.out.print(" 年龄:"+age);

}

void outOther(){

System.out.print(" 家庭住址:"+address);

System.out.print(" 电话:"+tel);

}

}

class Son extends Father{

String school;

public Son(String name,int age){

super(name,age);

}

void out(){

super.out();

super.outOther();

System.out.println (" 学校:"+school);

}

public static void main(String args[]){

Son son=new Son("Tom",15);

son.address="金水区";

son.school="九中";

son.tel="66123456";

son.out();

}

}

答:姓名:Tom 年龄:15家庭住址:金水区 电话:66123456学校:九中 (5分)

12.阅读如下所示的3个JAVA类,分析它们之间的关系,写出运行结果。

class SuperClass{

int x;

SuperClass(){

x = 3;

System.out.println("in SuperClass:x=" + x);

}

void doSomething(){

System.out.println("in SuperClass.doSomething()");

}

}

class SubClass extends SuperClass{

int x;

SubClass(){

super();

x = 5;

System.out.println("in SubClass:x=" + x);

}

void doSomething(){

super.doSomething();

System.out.println("in SubClass.doSomething()");

System.out.println("super.x=" + super.x + " sub.x=" + x);

}

}

public class Inheritance{

public static void main(String[] args){

SubClass subC = new SubClass();

subC.doSomething();

}

}

答:运行结果:

in SuperClass:x=3(2分)

in SubClass:x=5(2分)

in SuperClass.doSomething()(2分)

in SubClass.doSomething()(2分)

super.x=3 sub.x=5(2分)

13.阅读如下程序,写出运行结果。

class StaticDemo

{

static int x;

int y;

public static int getX()

{ return x; }

public static void setX(int newX)

{ x=newX; }

public int getY()

{return y;}

public void setY(int newY)

{y=newY;}

}

public class MainDemo {

public static void main(String[] args)

{

System.out.println("静态变量x="+StaticDemo.getX());

StaticDemo a=new StaticDemo();

StaticDemo b=new StaticDemo();

a.setX(1);

a.setY(2);

b.setX(3);

b.setY(4);

System.out.println("静态变量a.x="+a.getX());

System.out.println("实例变量a.y="+a.getY());

System.out.println("静态变量a.x="+b.getX());

System.out.println("实例变量a.y="+b.getY());

}

}

答:运行结果:

静态变量x=0(2分)

静态变量a.x=3(2分)

实例变量a.y=2(2分)

静态变量a.x=3(2分)

实例变量a.y=4(2分)

14. 观察下面程序的运行结果,注意try语句中产生的异常与catch参数的匹配。

public class Test2{

static int a = 3,b = 0;

static String c[] = {"数组元素c[0]"};

public static void main(String[] args){

try{

System.out.println(a);

System.out.println(a/b);

System.out.println(c[b]);//若上条语句产生异常,本语句将不被运行

}

catch(ArithmeticException e){

System.out.println("捕捉到一个算术异常");

}

catch(ArrayIndexOutOfBoundsException e){

System.out.println("捕捉到一个数组下标越界异常");

}

catch(Exception e){

System.out.println("捕捉到一个系统异常");

}

finally{

System.out.println("程序结束");

}

}

}

答:运行结果:

3(2分)

捕捉到一个算术异常(2分)

程序结束(2分)

编程题

答题要求:按采分点给分,要求代码编写有一定的规范性,完成采分点功能区代码则给分,未完成该采分点的,不给分。

1. 编写出一个程序,其中创建了数组abc,该数组的五个元素分别为“北京奥运会”五个汉字。要求程序运行后,能将五个元素显示在同一行上,并显示该数组的长度。(共10分)

编码规范2分;类和主方法的定义2分;数组的声明和赋值2分,汉字输出2分(注意:字符输出时一定要转为字符串后输出,没有转换的扣1分),数组长度输出2分。

答:

public class ShowChar{

public static void main (String[ ]args){

char abc[] = {'北','京','奥','运','会'};

System.out.println(""+ch[0]+ch[1]+ch[2]+ch[3]+ch[4]);

System.out.println(abc.length);

}

}

2. 设计一个动物类,它包含动物的基本属性。例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。

编码规范2分;类定义2分;成员变量定义3分,成员函数定义3分。

答:public class Animal{private String name;private double weight;private int length;privateString sex;public void run(){System.out.println("the animal is running!");来源:考试大}public void jump(){System.out.println("the animal is jumping!");}public void walk(){System.out.println("the animal is walking!");}}

3. 定义一个环形类Ring,包含属性外半径outerRadius,内半径innerRadius,颜色,生成Get和Set方法,并定义一个方法求环形的面积getArea,定义一个含有三个参数的构造方法和一个参数为0的构造方法。

编码规范2分;类的成员变量的定义3分;类的成员函数的定义5分;

答:public class Ring {

private double outerRaduis;

private double innerRaduis;

private String Color;

public double getArea()

{

return Math.PI*this.outerRaduis*this.outerRaduis-

Math.PI*this.innerRaduis*this.innerRaduis;

}

public Ring(double r1,double r2,String c)

{

this.outerRaduis=r1;

this.innerRaduis=r2;

this.Color=c;

}

public Ring()

{

this.outerRaduis=50;

this.innerRaduis=40;

this.Color="green";

}

}

4. 设计一个三角形类,它包含三角形基本属性底和高,以及求三角形面积的方法。要求从键盘接收三角形的底和高的值,然后输出三角形的面积。(提示:可以使用键盘扫描类Scanner或命令行参数接收三角形的底和高的值)

编码规范2分;类的成员变量的定义2分;类的成员函数的定义3分;主方法的实现3分。

答:import java.util.*;

class Reta {

private double di;

private double high;

public Reta(double di, double high) {

this.di = di;

this.high = high;

}

public double area() {

try {

return 0.5 * this.di * this.high;

} catch (Exception e) {

e.printStackTrace();

return 0;

}

}

}

public class Ret{

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

double x = sc.nextDouble();

double y = sc.nextDouble();

Reta reta = new Reta(x,y);

double area = reta.area() ;

System.out.print(area);

}

}

5. 有三个字符串String s1= "Hello Java";  String s2= "Java Applet";  String s3= "Java";,编写程序找出其中最大者。

编码规范2分;类定义2分;主方法的实现6分。

答:

public class max1

{

public static void main(String args[])

{

String s1= "Hello Java";

String s2= "Java Applet";

String s3= "Java";

String s;

if(s1.compareTo(s2)<0)

s=s2;

else s=s1;

if(s.compareTo(s3)<0)

s=s3;

Systrm.out.println("big="+s);

}

}

6. 编写一个程序,设定一个有大小写字母的字符串String s1= "Hello Java";,先将字符串的大写字符输出,再将字符串中的小写字符输出。注:利用StringBuffer完成。

编码规范2分;类定义2分;主方法的实现6分。

答:

public class out

{

public static void main(String args[])

{

String str="Hello Java";

StringBuffer bufup=new StringBuffer();

StringBuffer buflow=new StringBuffer();

for(int i=0; i

{

if(str.charAt(i)<97)

{

bufup.append(str.charAt(i));

bufup.append(' ');

}

else

{

buflow.append(str.charAt(i));

buflow.append(' ');

}

}

System.out.println("str= "+str);

System.out.println("uppercase="+bufup);

System.out.println(" lowercase= "+buflow);

}

}

7. 设定一个有大小写字母的字符串String s1="abcdefghi";和一个查找字符,使用类String方法IndexOf()来判断在该字符串中该字符出现的次数。

编码规范2分;类定义2分;主方法的实现6分。

答:

import java.util.*;

public class StringNum{

public static void main(String args[]){

Scanner input = new Scanner(System.in);

System.out.println("请输入一个字符串:");

String s1 = input.nextLine();

System.out.println("请输入一个字符:");

String c1 = input.nextLine();

char[] cArr = c1.toCharArray();

char c = cArr[0];

int num = 0;

int index;

int i = 0;

while(i < s1.length()){

index = s1.indexOf(c, i);

if(index == -1){

break;

}else{

i = index+1;

num++;

}

}

System.out.print("字符" + c + "的个数为" + num );

}

}

8. 编写一个程序,要求:

1)在当前目录下创建目录Personal

2)将自己的学号、姓名、性别写入到目录Personal下的文件Info.txt中

3)将文件中的数据显示在屏幕上

编码规范2分;类定义2分;主方法的实现6分(其中题目要求的每个功能实现各2分)。

答:

import java.io.*;

import java.util.*;

public class FileExercise3{

public static void main(String[] args){

//create folder

String folderName = "Personal";

String fileName = "Info.txt";

File f=new File(folderName);

f.mkdir();

//write file

PrintWriter outputStream = null;

try{

outputStream = new PrintWriter(new FileOutputStream(folderName + "\\" + fileName));

}catch(FileNotFoundException e){

System.out.println("Error opening the file Info.txt.");

System.exit(0);

}

outputStream.println("学号:0921404");

outputStream.println("姓名:安文琪");

outputStream.println("性别:男");

outputStream.close( );

//read file

Scanner inputStream = null;

try{

inputStream = new Scanner(new FileInputStream(folderName + "\\" + fileName));

}catch(FileNotFoundException e){

System.out.println("File " + fileName + " was not found");

System.out.println("or could not be opened.");

System.exit(0);

}

while(inputStream.hasNextLine()){

System.out.println(inputStream.nextLine());

}

inputStream.close( );

}

}

9. 编写一个程序,将一维数组中元素顺序倒置。例如:若数组元素的顺序原来是1、2、3,则倒置后的顺序变为3、2、1。(要求使用循环语句)

编码规范2分;类定义2分;主方法的实现6分。

public class LianXi {

public static void main(String[] args) {

int a[]={1,2,3,4};

int temp;

for(int i=0;i<=(a.length/2);i++){

temp=a[i];

a[i]=a[a.length-1-i];

a[a.length-1-i]=temp;

}

for(int i=0;i

System.out.print(a[i]+",");

}

}

}

10. 设计一个矩形类,包括属性:长、宽及方法,再通过主类调用其矩形类输出相应的面积。(注:长宽自己给定任意的值就可以)

编码规范2分;类定义2分;主方法的实现6分。

class JuXing{

private double length;

private double weight;

public JuXing(double length,double weight){

this.length=length;

this.weight=weight;

}

public double Area(){

double area=length*weight;

return area;

}

}

public class LianXi {

public static void main(String[] args) {

JuXing ju=new JuXing(1.2,3.4);

System.out.print(ju.Area());

}

}

11. 创建一个Table类,该类中有桌子名称(name)、重量(weight)、桌面宽度(width)、长度(length)和桌子高度(height)等私有的属性,以及以下几个方法

构造方法:初始化所有成员变量

area():计算桌面的面积。

display():在屏幕上输出所有成员变量的值

changeWeight(int w):改变桌子的重量

在MainTable类main()方法中实现创建一个桌子对象,计算机桌面的面积,改变桌子的重量,并在屏幕上输出桌子属性的值。

编码规范2分;类定义2分;主方法的实现6分(其中题目要求的每个功能实现各1分)。

12. 定义一个人类(Person),包括属性:姓名(name)、性别(sex)、年龄(age);包括方法:吃饭(eat)、睡觉(sleep)、工作(work)。

(1)根据人类,派生一个学生类(Student),增加属性:学校(school)、学号(s_number);重写工作方法(学生的工作是学习)。

(2)根据人类,派生一个工人类(Worker),增加属性:单位,工龄;重写工作方法(工人的工作是……自己想想吧)。

(3)根据学生类,派生一个学生干部类(StudentLeading),增加属性:职务(job);增加方法:开会(meeting)。

(4)编写主类分别对上述3类具体人物进行测试。

编码规范2分;类定义2分;其他8分(其中题目要求的每个功能实现各2分)。

java知识竞赛题库_java程序设计题库相关推荐

  1. python程序设计教程题库_Python程序设计题库-查询

    Python程序设计题库-查询,将学生内部认知过程和外部行为结合起来,即方法.我国基础教育课程改革中的目标分类归纳为.布鲁姆的目标分类理论由组成.教学设计是依据教学理论学习理论和传播理论,运用系统科学 ...

  2. java web应用程序设计填空题_Java Web程序设计题库答案

    Java Web Java Web程序设计题库 一.选择题 1.以下文件名后缀中,只有( C )不是静态网页的后缀. A..html B..htm C .JSP D..shtml 2.以下文件名后缀中 ...

  3. 计算机基础access数据库操作题,2021年3月全国计算机等级考试二级Access数据库程序设计题库及答案讲解...

    原标题:2021年3月全国计算机等级考试二级Access数据库程序设计题库及答案讲解 资料来源:学盛通学习网547所大学考研专业课(历年真题及模拟题可在线作答,系统自动评分,出答案及解析) 本题库是详 ...

  4. java毕业设计——基于java+JSP+sqlserver的Smart系统-题库及试卷管理模块设计与实现(毕业论文+程序源码)——学生信息管理系统模板2

    基于java+JSP+sqlserver的Smart系统-题库及试卷管理模块设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+JSP+sqlserver的Smart系统-题库及试卷 ...

  5. c语言上机题库程序设计,C语言上机程序设计题库及答案.docx

    C语言上机程序设计题库及答案 C语言上机程序设计题库[程序设计]功能:根据整型形参m,计算如下公式的值:y=sin(m)*10.[参考代码] double y=0; y=sin(m)*10; retu ...

  6. 东北大学c语言及程序设计题库,东北大学c语言编程试题及其答案

    东北大学C语言程序设计题库 第一部分( 选择题 ) 1.构成C语言的基本单位是________.你的答案是:正确答案是:B 过程 函数 语句 命令 2.设x为整型变量,不能正确表达数学关系:5 5&l ...

  7. c语言上机题库程序设计,c语言上机程序设计题库及答案.pdf

    C 语言上机程序设计题库 [程序设计] 功能:根据整型形参 m,计算如下公式的值:y=sin(m)*10. [参考代码] double y=0; y=sin(m)*10; return(y); 功能: ...

  8. 职教云python题和答案_智慧职教云课堂APPPython程序设计题库及答案

    智慧职教云课堂APPPython程序设计题库及答案 更多相关问题 What are the features of Eton College? 在温度T时,容器内充有3.0 mol的氧气,2.0 mo ...

  9. [知识竞赛策划方案]那么如何用PPT制作知识竞赛所需要的题库?

    使用百木知识竞赛管理系统时,需要制作题库,那么如何用PPT制作知识竞赛所需要的题库? 步骤如下: 1.根据本次竞赛的要求,可把这些竞赛题目按照类型分类,比如按照单选.多选.问答等分类,也可按照环节分类 ...

  10. Java毕设项目软考在线题库系统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目软考在线题库系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Web ...

最新文章

  1. IntelliJ IDEA 设置项目编码
  2. oracle 获得月最后一天,oracle获取本月第一天和最后一天及Oracle trunc()函数的用法...
  3. 五十三、开始算法刷题磨练
  4. 百万TPS高吞吐、秒级低延迟,阿里​搜索离线平台如何实现?
  5. 学习deercao的正则笔记
  6. 带你了解zabbix整合ELK收集系统异常日志触发告警~
  7. ip地址合不合法怎么看_到底醇基燃料合不合法呢?
  8. 雨林木风win11 64位全新专业版系统v2021.08
  9. mysql insert
  10. grpc java 泛型_关于使用GRPC遇到的BUG-Go语言中文社区
  11. Hls之Hls.js源码解析
  12. ArcGIS运行任务前台显示
  13. 拓端tecdat|R语言多项式回归拟合非线性关系
  14. docker用gpu的参数_Docker化部署(GPU)
  15. HP计算机管理软件,HP Power Assistant
  16. python读excel表_怎么用python读取excel表格的数据
  17. 结构体初始化为0的技巧!!
  18. 禹司凤扛鸿蒙炉,琉璃美人煞12人物结局,司凤 璇玑完满,柏麟 副宫主结局大快人心...
  19. 阅读5Incorporating travel behavior regularity into passenger flow forecasting
  20. jsr 正则验证_使用JSR-303进行校验 @Valid

热门文章

  1. Android 消息机制之深入学习MessageQueue
  2. LDPC — 信道编码
  3. 阿里云视频点播 和HLS加密解密
  4. 神经网络编程的34个案例,神经网络编程是什么
  5. 数字图像处理·SLIC超像素分割算法C++实现
  6. 已解决:“apktool” W: invalid resource directory name:XXX\res navigation
  7. 软件测试工程师必备的27个基础技能
  8. canvas贝塞尔曲线爱心_贝塞尔曲线之爱心点赞代码全解析!| CSDN 博文精选
  9. java ipv6转换成ipv4,如何映射IPv4的IPv6地址转换为IPv4(字符串格式)?
  10. QQ音乐付费格式转换