admin 管理员组

文章数量: 887021


2023年12月24日发(作者:my sql官方下载)

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[] )

1

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 应用程序的编写分为___________,____________,_______________三步

2

语言基础

标识符

下列标识符(名字)命名原则中,正确的是__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

3

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

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不易区分)。

4

下列代码中,将引起编译错误的行是 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) n (" 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双精度浮点数

5

运算符、表达式与输入输出

"++"运算符的操作数个数是 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;

n(c);

. println(c++);

n(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”)

n(s1==s2)

}

public static void main(String args[]){

OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();

//用于复合类型数据的“= =”运算符

Method1();

}

}

程序运行结果是_C__。

A)== B)true C)false D)equal

6

分析下面的Java代码段,编译运行后的输出结果为(b)。

public class Test{

public static void main(String[] args){

("姓名:");

("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; n(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 .*;

public class TypeTransition{

public static void main(String args[]){

char a = ‘h’;

int i=100;

int j=97;

int aa=a+i;

n(“aa=”+aa);

Char bb=(char)j;

n(“bb=”+bb);

}

}

如果输出结果的第二行为bb=a,那么第一行的输出是__B___。

A)aa=1 B)aa=204 C)aa=v D)aa=156

7

执行下列代码后的结果是什么? 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[]){

n(5/2);}

}

其执行结果是 2

选择(分支)语句

执行以下几个语句后的输出结果是 This one 。

String s = “This one” , s1=”This two”;

int i=5

if (i>10)

(s) ;

else

(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;

(b);

if(b){

("真");

} else{

("假");

8

}

}

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;

}

n(k);

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

在switch(expression)语句中,expression的数据类型不能是

A)double

B)char

C)byte

D)short

在Java语言中,有如下代码:

switch(x){

case 100:

n(“One humdred”);

break;

case 200:

n(“two humdred”);

break;

case 300:

n(“three humdred”);

break;

}

下列x的定义中,()可以使得上段代码编译通过。

a) double x=100;

b) char x=’d’;

c) string x=”100”;

d) int x= 100;

下列代码中

【答案】C

(选择二项)9

if(x>0){n(“first”);}

else if (x>-3){n(“second”);}

else { n(“third”);}

要求打印字符串为“second”时,x的取值范围是 A

A)x<=0 并且 x>-3

B)x>0

C)x>-3

D)x<=-3

阅读下面代码

if(x==0){n(“冠军”);}

else if(x>-3){n(“亚军”);}

else{n(“季军”);}

若要求打印字符串“季军”,则变量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; n(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;

10

}

(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<;i++){

if(x[i]>max)

max=x[i];

}

n(max);

A) 678 B) 122 C) -987 D) 33 【答案】A

分析所示的Java代码,编译运行后的输出结果是()

(选择一项)

public static void main(String arg[]){

int a = 100;

while(a%2==0){

(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;

11

}

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[][];

n("杨晖三角形:");

yanghui = new int[yhlevel][];

for (i = 0; i < ; i++)

yanghui[i] = new int[i + 1];

yanghui[0][0] = 1;

for (i = 1; i < ; i++) {

}

for (i = 0; i < ; i++) {

}

for (j = 0; j < yanghui[i].length; j++)

(yanghui[i][j] + " ");

n();

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;

输出结果是:

12

杨晖三角形:

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<;i++) {

for(int j=0;j

13

sum+=b[i][j];

}

}

n("sum="+sum);

A) 28 B)6 C) 9 D) 13

类和对象

对象有哪些属性?什么是状态?什么是行为?二者之间有何关系?

类是由Java编译器自动生成的,它伴随每个类。

面向对象的程序程序方法有哪些优点?

所有JAVA的类都派生自

Object (或) ,此类在

包中。

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

14

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 = (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 B C a1 D

创建类的对象时,使用运算符___________给对象分配内存空间。

构造方法

对于构造函数,下列叙述正确的是( )。

15

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){

}

16

B b1=new B();

B b2=new B();//b1,b2的值不确定;

n(b1==b2);

n(b1!=b2);

n((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 {

}

void method(long i) {

}

n("long: " + i);

void method(float i) {

}

n("float: " + i);

public static void main(String[] args) {

}

T1 a = new T1();

(8);

(1.2f);

17

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 一个子类可以有一个父类,但一个父类可以有多个子类

D 上述说法都不对

对于子类的构造函数说明,下列叙述中不正确的是( )。

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函

数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行

自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

答:D

18

设有下面两个类的定义:

class Person { class Student extends Person {

long id; // 身份证号 int score; // 入学总分

String name; // 姓名 int getScore(){

} return score;

}

}

问:类Person和类Student的关系是( )。

A、包含关系 B、继承关系

C、关联关系 D、无关系,上述类定义有语法错误

答:B、

程序分析:判断下面的程序或程序段是否正确?指出错误位置、说明原因并进行修改

名为的Java源程序,内容如下:

public class AA1 extends JFrame, Thread

{

……

}

答:(1) 属性为public的类必须与文件名同名;

(2)extends后不能有多个类名,因为Java中的类不能继承多个父类,若要实现多继承,须利用接口。

错误修改如下:

public class A2 extends JFrame implements Runnable

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

方法覆盖

设有下面的两个类定义:

class AA {

void Show(){ n(“我喜欢Java!”);

}

class BB extends AA {

void Show(){ n(“我喜欢C++!”);

}

则顺序执行如下语句后输出结果为:( )

AA a; BB b;

(); ();

A、我喜欢Java! B、我喜欢C++!

我喜欢C++! 我喜欢Java!

C、我喜欢Java! D、我喜欢C++!

我喜欢Java! 我喜欢C++!

19

答:A

包Package

用来导入已定义好的类或包的语句是 B

A)main

B)import

C)public class

D)class

下列关于Java对import语句规定的叙述中,错误的是__C__。

A)在Java程序中import语句可以有多个

B)在Java程序中import语句可以没有

C)在Java程序中import语句必须有一个

D)在Java程序中import语句必须引入在所有类定义之前

Java的核心包中,提供编程应用的基本类的包是__A__。

A) B) C) D)

包包含了Collection的接口和类的API

在运行时,由java解释器自动引入,而不用 import 语句引入的包是

关键字_import_____用于导入包中的类到程序中,供程序中使用。

接口

Java通过 接口 实现多重继承。

Java不直接支持多继承,但可以通过 [10] 实现多继承。

在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。 A、private B、protected

C、private protected D、public

答:D

下面的是关于类及其修饰符的一些描述,正确的是:( )。

20

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没

有abstract方法。

答:A C D

若在某一个类定义中定义有如下的方法: abstract void performDial( );

该方法属于( )。

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

答:D

处理对象传输的接口是_____。

A)Serializable B)Cloneable C)ItemListener D)ActionListener

内部类

下列程序的运行结果是 26

class A {

class Dog {

private String name;

private int age;

public int step;

Dog(String s, int a) {

name = s;

age = a;

step = 0;

}

public void run(Dog fast) {

++;

}

}

public static void main(String args[]) {

A a = new A();

Dog d = Dog("Tom", 3);

= 25;

(d);

n();

}

21

}

字符串

设有整型数组的定义:int a[]=new int[8]; ,则的值为_____。

指出下列程序运行的结果 B

public class Example{

String str=new String("good");

char[]ch={'a','b','c'};

public static void main(String args[]){

Example ex=new Example();

(,);

(+" and ");

();

}

public void change(String str,char ch[]){

str="test ok"; //局部变量str重新指向一个新的字符串

ch[0]='g';

}

}

A good and abc

B good and gbc

C test ok and abc

D test ok and gbc

下列程序段执行后的结果是( )。

String s=new String("abcdefg");

for(int i=0;i<();i+=2){

((i));

}

A) aceg B) ACEG C) abcdefg D) abcd

A

应用程序的main方法中有以下语句,则输出的结果是 (

String s1="0.5",s2="12";

double x=ouble(s1);

int y=nt(s2);

n(x+y);

A) 12.5 B) 120.5 C) 12 D) “12.5”

【答案】)。

【答案】A

22

Which of the following fragments might cause errors?

A. String s = "Gone with the wind";

String t = " good ";

String k = s + t;

B. String s = "Gone with the wind";

String t;

t = s[3] + "one";

C. String s = "Gone with the wind";

String standard = rCase();

D. String s = "home directory";

String t = s - "directory".

(b,d)

题目:下面的哪些程序片断可能导致错误。

A:String类型可以直接使用+进行连接运算。

B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。

C:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。

D:String类型不能进行减(-)运算,错误。

关键字final static 等

若需要定义一个类域或类方法,应使用哪种修饰符?( )

A、static B、package C、private D、public

答:A

下列关于静态初始化器的叙述中,哪一个是正确的?( )

A、静态初始化器是在构造函数之前加上static修饰符。

B、静态初始化器是对类自身进行初始化。

C、静态初始化器在同一个类中只能有一个。

D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。

答:B D

不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( )

A、实例方法可以直接调用父类的实例方法。

B、实例方法可以直接调用父类的类方法。

C、实例方法可以直接调用其他类的实例方法。

D、实例方法可以直接调用本类的类方法。

答:B D

设有下面的一个类定义:

class AA {

23

static void Show( ){ n(“我喜欢Java!”); }

}

class BB { void Show( ){ n(“我喜欢C++!”); } }

若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( )

A、( ) B、( );

( ) ( );

C、( ); D、( );

( ); ( );

答:A C

给出下面代码: C

public class Person{

static int arr[] = new int[10];

public static void main(String a[])

{

n(arr[1]);

}

}

那个语句是正确的?

A 编译时将产生错误;

B 编译时正确,运行时将产生错误;

C 输出零;

D 输出空。

为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A、static void method( ) B、public void method( )

C、final void method( ) D、abstract void method( )

答:A

程序分析:判断下面的程序或程序段是否正确?指出错误位置、说明原因并进行修改

class A1

{ String mystring="hello";

public static void main(String args[])

{

}

}

n(mystring);

24

变量i在main方法中使用错误。类的成员变量不能直接用在静态方法中。

错误修改如下:

class B1

{

public static void main(String args[])

{ int i=0;

i++;

n(i);

}

}

或:

class B1

{ static int i=0;

public static void main(String args[])

{

i++;

}

}

n(i);

异常

异常由

try-catch 语句捕获处理,定义方法声明抛出异常用 throws 子句。

什么是异常?

异常就是以对象的方式表示的一个或一类错误,该异常对象不仅封装了错误信息,还包含了错误发生的“上、下文”信息。

Java类的main方法如下所示,当程序启动运行后,用户在控制台输入“你好”,则程序将()。

(选择一项)

public static void main(String arg[]) {

Scanner input =new Scanner(System .in);

int score =input .nextInt();

n(score);

}

a) 输出“你好”

b) 输出 “你”

c) 程序正常运行,但不输入任何内容

d) 程序出现错误,被中断,提示输入内容不匹配,无法获得整数数值

25

在下列程序的下划线处,填入适当语句使程序能正确执行并输出异常栈信息。

Public class ThrowableException{

Public static void main(String args[]){

try{

throw new Throwable(“这里是本人定义的异常”);

{catch(Throwable e){

n(“Caught Throwable”);

n(“sage():”+sage());

n(“ng():”+ng());

n(“tackTrace():”);

tackTrace() ;}

}}

集合类

欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?A ArrayList myList=new Object();

B List myList=new ArrayList();

C ArrayList myList=new List();

D List myList=new List();

下列程序中构造了一个SET并且调用其方法add(),输出结果是 1

public class A{

public int hashCode(){return 1;}

public Boolean equals(Object b){return true}

public static void main(String args[]){

Set set=new HashSet();

(new A());

(new A());

(new A());

n(());

}

}

26


本文标签: 方法 程序 对象 语句 下列