文档库 最新最全的文档下载
当前位置:文档库 › Java试题库

Java试题库

Java试题库
Java试题库

第一章选择题:(共20题)

1.Java语言是哪个公司开发的(C )。

A、 Microsoft

B、Borland

C、 Sun

D、Fox Software

2.下列说法正确的是()。

A、Java程序中的main方法不是必须写到类里面。

B、Java程序中只能有一个main方法。

C、Java程序的类名必须与文件名一致。

D、Java程序的main方法里如果只有一条语句,可以不用{}括起来。

3.Java源代码文件的拓展名是()。

A、java

B、class

C、txt

D、doc

4.Java程序中,main方法的格式正确的是()。

A、static void main(String[] args)

B、public void main(String[] args)

C、public static void main(String[]s)

D、public static void main(String[] args)

5.从控制台显示的消息语句正确的是()。

A、System.out.println(“第一章考试题”);

B、System.Out.println(“第一章考试题”);

C、system.out.println(“第一章考试题”);

D、System.out.println(第一章考试题);

6.下列属于是Java中正确注释的是()。

A、/这是注释

B、//这是注释

C、/*…*/这是注释

D、/**…*/这是注释

7.下面哪一项不是Java体系中的一种()。

A、Java ME(Java Micro Edition)

B、Java SE(Java Standard Edition)

C、Java EE(Java Enterprise Edition)

D、Java VE(Java Virtual Edition)

8.下列语句中哪一个是正确的()。

A、Java程序经编译后会产生machine code

B、Java程序经编译后会产生byte code

C、Java程序经编译后会产生DLL

D、以上都不正确

9.下列关于虚拟机说法错误的是()。

A、虚拟机可以用软件实现

B、字节码是虚拟机的机器码

C、虚拟机部可以用硬件实现

D、虚拟机把代码程序与各操作系统和硬件分开

10.Java程序的执行过程中用到一套JDK工具,其中javac.exe是指()。

A、java类分解器

B、java字节码解释器

C、java文档生成器

D、java语言编译器

11.每个Java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类

或者界面是公共的。

A、一个

B、两个

C、四个

D、任意多个

12.在当前的Java实现中,每个编译单元就是一个以()为后缀的文件。

A、doc

B、class

C、java

D、exe

13.下列说法正确的是()。

A、使用javac对java文件进行编译的时候,它对java文件名称大小写敏感。

B、使用javac对class文件进行编译的时候,它对class文件名称大小写不敏感。

C、使用java指令运行class文件的时候,它对class文件名称是敏感的。

D、使用java指令运行java文件的时候,它对java文件名称是不敏感的。

14.下列说法错误的是()。

A、一个Java源文件中至多只能有一个public的class,但可以有多个class的定义。

B、源文件名必须和程序中定义的public的类名大小写完全相同。

C、Java采用面向对象的编程技术,其应用程序是由类的定义组成。

D、Java采用面向过程的编程技术,其应用程序是由类的定义组成。

15.下面关于方法中的几个关键字描述错误的是()。

A、public表明方法的使用范围,它是使用范围最广泛的一种修饰。

B、static表明这是一个静态方法、可以通过类名直接调用。

C、void表明方法不返回任何值。

D、args表明是Java字符串数组类型方法不可更改的参数名。

16.Java中的JRE和JDK分别的英文全名为()。

A、Java Runtime Environment和Java SE Development Kit

B、Java Runtime Environment和Java SE Edition Kit

C、Java Runtime Edition和Java SE Environment Kit

D、Java Runtime Edition和Java SE Edition Kit

17.下列关于编码规范的描述不正确的是()。

A、用{}括起来的语句通常是表示程序的某一层结构。“{”一般放在结构开始的最末,“}”

与该结构的第一个字母对齐,并单独一行。

B、要求类名前面必须使用public修饰。

C、一行不只写一条语句。

D、代码注意缩进。

18.Java语言的执行模式是()。

A、全编译型

B、全解释型

C、半编译和半解释型

D、同脚本语言的解释模式

19.下列不是虚拟机执行过程特点的是()。

A、多线程

B、双线程

C、动态链接

D、异常处理

20.下列说法错误的是()。

A、path:操作系统运行环境的路径。

B、classpath使得系统可以在任何路径下识别java命令。

C、JAVA_HOME:供需要运行JAVA的程序使用。

D、classpath:Java运行应用程序时所需要的类包路径。

答案:1~5:CBADA 6~10:BDBCD 11~15:ACCDD 16~20:ACCAB 第二章选择题:(共20题)

1.以下哪一个是合法的标示符()。

A、double

B、3x$

C、str@

D、exam2e_

2.表达式(11 + 3 * 8) / 4 % 3的值是()。

A、31

B、2

C、1

D、0

3.x和y是整形的变量,值分别为16和5,则x/y和(double)x/y值分别是()。

A、1和3.2

B、3.2和1

C、3和3.2

D、3.2和3

4.下列不属于简单数据类型的是()。

A、整数类型

B、浮点数类型

C、布尔类型

D、类

5.下列属于Java关键字的是()。

A、TRUE

B、goto

C、float

D、NULL

6.下列声明和赋值语句错误的是()。

A、double w=3.1415;

B、String strl=”bye”;

C、float z=6.74567;

D、boolean truth=true;

7.自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为()。

A、char-int-long-float-double

B、int-long-float-double-char

C、long-float-int-double-char

D、以上都不对

8.JAVA中,数据类型值中不可能出现的符号是()。

A、d

B、f

C、E

D、/

9.下列语句块输出的值为()。

int three = 3;

char one = '1';

char result = (char) (three + one);

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

A、result=3+1

B、result=4

C、result=31

D、result=1

10.下列不属于整型变量的是()。

A、float

B、long

C、byte

D、short

11.下列部分代码的正确输出结果分别为()。

System.out.println("26.1 % 4 = " + 26.1 % 4);

System.out.println("26 % 4 = " + 26 % 4);

A、26.1 % 4 = 2.0和26 % 4 = 2

B、26.1 % 4 = 2和26 % 4 = 2.0

C、26.1 % 4 = 2.1000000000000014和26 % 4 = 2

D、26.1 % 4 = 2.1000000000000014和26 % 4 = 2.0

12.下列数据类型转换,必须进行强制类型转换的是()。

A、byte→int

B、int→char

C、short→long

D、float→double

13.在java语句中,位运算操作数只能为整型或()数据。

A、实型

B、字符型

C、布尔型

D、字符串型

14.Java中,用()关键字定义常量。

A、final

B、#define

C、float

D、const

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

boolean b1 = true, b2 = false, b3;

b3 = b1 ? b1 : b2;

A、0

B、1

C、true

D、false

16.设有定义int i=123; long j=456; 下面赋值不正确的语句是()。

A、j=i;

B、j=(long)i;

C、i=(int)j;

D、i=j;

17.下列说法错误的是()。

A、简单类型指的是一个数、一个字符或者一个true/false值。

B、引用类型指的是八种简单类型以外的数据类型。

C、String不是基本数据类型,而属于引用类型。

D、浮点类型数字除非明确声明为double,否则为float。

18.已知i为整形变量,关于一元运算++i和i++,下列说法正确的是()。

A、++i运算将出错。

B、在任何情况下运行程序结果都一样。

C、在任何情况下运行程序结果都不一样。

D、在任何情况下变量i的值都增1。

19.下列不属于逻辑运算符的是()。

A、&&

B、+

C、!

D、^

20.下列代码输出结果为()。

int a = 10;

int b = 0;

int c;

if (a > 50) {

b = 9;

}

c = b + a;

System.out.println(c);

A、10

B、19

C、0

D、编译出错

答案:1~5:DBCDC 6~10:CADBA 11~15:CBBAC 16~20:DDDBA 第三章选择题:(共20题)

1.下列哪一项不属于Java语言流程控制结构是()。

A、分支语句

B、跳转语句

C、循环语句

D、赋值语句

2.以下哪项不是循环结构()。

A、while

B、do while

C、switch

D、for

3.假设a是int类型的变量,并初始化为1,则下列哪一项是合法的条件语句()。

A、if(a){}

B、if(a<<=3){}

C、if(a=2){}

D、if(true){}

4.下列说法中,不正确的一项是()。

A、switch语句的功能可以由if…else if语句来实现。

B、if …else if语句的执行效率总是比switch语句高。

C、case子句中可以有多个语句,并且不需要大括号{}括起来。

D、若用于比较的数据类型为double型,则不可以用switch语句来实现。

5.设a、b为long型变量,x、y为float型变量,ch为char类型变量,且它们均已被赋值,

则下列语句中正确的是()。

A、switch(a+b); {}

B、switch(x+y) {}

C、switch(ch+1) {}

D、switch ch {}

6.下列循环体执行的次数是()。

int y=2, x=4;

while(--x != x/y){ }

A、1

B、2

C、3

D、4

7.下列循环体执行的次数是()。

int x=10, y=30;

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

A、1

B、2

C、3

D、4

8.已知如下代码:

switch(m){

case 0: System.out.println("Condition 0");

case 1: System.out.println("Condition 1");

case 2: System.out.println("Condition 2");

case 3: System.out.println("Condition 3");break;

default:System.out.println("Other Condition");

}

当m的值为()时,输出“Condition 3”。

A、0

B、1

C、2

D、3

9.跳转语句不包括下列哪项()。

A、goto

B、continue

C、throw

D、return

10.下面这段代码的输出结果为()。

int i=5, j=2;

while(j

System.out.print(j);

A、2

B、3

C、4

D、5

11.下列选项中正确的是()。

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

if(i==5) break;

System.out.print(i);

}

A、01234

B、12345

C、4

D、0

12.下列哪个选项是r的正确值()。

char ch='7';

int r=10;

switch(ch+1){

case '7': r += 7;

case '8': r += 8;

case '9': r += 9;

default:

}

System.out.print(r);

A、7

B、17

C、18

D、27

13.下列对switch语句描述正确的是()。

A、都可以用if-else if结构实现

B、都不可以用if-else if结构实现

C、有的可以用if-else if结构实现

D、大部分不可以用if-else if结构实现

14.下面是一个递归Java程序,其功能为()。

long Factorial(int n){

if(1==n){

return 1;

}

else

return n*Factorial(n-1);

}

A、求1-n的和

B、求2到n的和

C、求n的阶乘

D、求2-n的积

15.下列描述不正确的是()。

A、if语句合法的条件值是boolean类型。

B、continue语句必须使用于循环语句中。

C、与C++语言不同,Java语言可以通过goto语句实现跳转。

D、switch语句先计算switch后面的表达式的值,再和各case语句后的值做比较。

16.下列描述错误的是()。

A、break语句有两种用途:一种从switch语句的分支中跳出,一种是从循环语句内部

跳出。

B、do-while循环首先执行一遍循环体,而while循环首先判断表达式的值。

C、在for循环语句中可以声明变量,其作用域是for循环体。

D、以上说法都正确。

17.对于Java中的控制语句描述不正确的是()。

A、分支语句包括if-else,switch。

B、循环语句包括while,do-while,for,switch。

C、跳转语句包括break,continue,return。

D、例外处理语句包括try-catch-finally,throw。

18.下面关于while循环执行描述有误的一项是()。

A、先判断布尔表达式的值。

B、值为假跳过循环体,执行后面的语句。

C、值为真则执行循环体,再返回判断布尔表达式的值。

D、值为真则执行循环体,执行完后及跳出循环。

19.下面关于while和do-while描述错误的是()。

A、循环条件的值必须是布尔值,不能是算术值。

B、在实际应用中,do-while比while更常用一些。

C、循环体中应包含循环变量控制语句,否则会造成死循环。

D、while与do-while的区别在于,do-while的循环体至少执行一次。

20.下面这段代码执行后m的值为()。

int a = 10, b = 3, m = 5;

if (a == b)

m += a;

else

m = ++a * m;

A、55

B、50

C、15

D、5

答案:1~5:DCDBC 6~10:CBDAC 11~15:ADACC 16~20:DBDBA 第四章选择题:(共20题)

1.下列关于数组的描述不正确的是()。

A、数组是用来存储一组相同数据类型数据的。

B、数组是编程语言中非常常见的一种数据结构。

C、数组可以通过整型索引访问数组中的每一个值。

D、在一个数组里面,既允许用于存储一种数据类型的数据,也允许存储多种数据类型

数据。

2.下列关于数组定义错误的是()。

A、type[] var_name;

B、int[10] a;

C、String student[];

D、boolean[] booleanArray;

3.下列关于数组的说法中不正确的是()。

A、定义数组时必须分配内存。

B、数组的初始化操作分为静态初始化和动态初始化。

C、数组元素可以是基本数据类型、对象或其他数组。

D、数组是最简单的复合数据类型,是一系列数据的集合。

4.设有下列数组定义语句:

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

则对此语句的叙述错误的是()。

A、定义了一个名为a的一维数组。

B、a数组有3个元素。

C、a数组元素的下标为1~3。

D、数组中每个元素的类型都是整数。

5.给出下面程序代码:

byte[] a1, a2[];

byte a3[][];

byte[][] a4;

下列数组操作语句中哪一个是不正确的?()

A、a2 = a1

B、a2 = a3

C、a2 = a4

D、a3 = a4

6.执行语句:int[] x = new int[20];后,下面说法正确的是()。

A、x[19]为空

B、x[19]未定义

C、x[19]为0

D、x[0]为空

7.已知有定义:String s="I love",下面正确的表达式是()。

A、s += "you";

B、char c = s[1];

C、int len = s.length;

D、String s = s.toLowerCase();

8.下面代码运行后的输出结果为()。

public class Test04_01 {

public static void main(String[] args) {

AB aa = new AB();

AB bb;

bb = aa;

System.out.println(bb.equals(aa));

}

}

class AB{ int x = 100; }

A、true

B、false

C、编译错误

D、100

9.下列说法错误的是()。

A、数组是一种复合数据类型。

B、数组是有限元素的有序集合。

C、在Java中,数组是作为常量来处理的。

D、数组中的元素具有相同的数据类型,并可用统一的数组名和下标来唯一确定其元素。

10.下列运行结果正确的是()。

public class Test04_02 {

public static void main(String[] args) {

int a[] = { 12, 39, 26, 41, 55, 63, 72, 40, 83, 95 };

int i1 = 0, i2 = 0;

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

if (a[i] % 2 == 1)

i1++;

else

i2++;

System.out.println(i1 + "," + i2);

}

}

A、5,4

B、5,5

C、6,5

D、6,4

11.在Java中,下面哪一个是不合法的声明()。

A、short x[]

B、short[] y

C、short[5] x2

D、short z2[5]

12.语句int[] a = new int[100]的含义是()。

A、数组a 有100 个自然数

B、数组a 有100 个整数

C、数组a 中的最大数是100

D、数组a 的下标自100 开始计数

13.下列关于Java 的数据结构类型描述说法正确的是()。

A、有多维数组

B、不可实现多维数组

C、只有一个维数组,不可实现多维数组

D、可用“一维数组的数组”实现多维数组

14.数组用来存储一组的数据结构是()。

A、对象

B、相同类型数据

C、不同类型数据

D、整数类型数据

15.下面这段代码的正确输出结果是()。

public class Test04_03 {

public static void main(String[] args) {

int[] beforeArray = { 1, 2, 3, 4, 5, 6, 7 };

int[] afterArray;

afterArray = beforeArray;

afterArray[3] = 3;

System.out.println("After Modifying:");

for (int i = 0; i < beforeArray.length; i++) {

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

}

}

}

A、a[0]=1,a[1]=2,a[2]=3,a[3]=3,a[4]=5,a[5]=6,a[6]=7,

B、a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,a[5]=6,a[6]=7,

C、a[0]=1,a[1]=2,a[2]=4,a[3]=3,a[4]=5,a[5]=6,a[6]=7,

D、a[0]=1,a[1]=2,a[2]=4,a[3]=4,a[4]=5,a[5]=6,a[6]=7,

16.下面这段代码的正确输出结果是()。

public class Test04_04 {

public static void main(String[] args) {

int[] beforeArray = {1,2,3,4,5,6,7,8};

int[] afterArray = new int[8];

System.arraycopy(beforeArray, 2, afterArray, 3, 5);

System.out.println("After Copying:");

for (int i = 0; i < afterArray.length; i++) {

System.out.print("b[" + i + "]=" + afterArray[i] + ",");

}

}

}

A、b[0]=3,b[1]=4,b[2]=5,b[3]=6,b[4]=7,b[5]=0,b[6]=0,b[7]=0,

B、b[0]=0,b[1]=0,b[2]=3,b[3]=4,b[4]=5,b[5]=6,b[6]=7,b[7]=0,

C、b[0]=0,b[1]=0,b[2]=3,b[3]=4,b[4]=5,b[5]=0,b[6]=0,b[7]=0,

D、b[0]=0,b[1]=0,b[2]=0,b[3]=3,b[4]=4,b[5]=5,b[6]=6,b[7]=7,

17.下面这段代码的正确输出结果是()。

public class Test04_05 {

public static void main(String[] args) {

String tomClass = "anjoyo";

String leeClass = "Anjoyo";

boolean result = false;

if (tomClass.toLowerCase().equals(leeClass.toLowerCase())) {

result = true;

System.out.println(result);

} else {

result = false;

System.out.println(result);

}

}

}

A、false

B、true

C、null

D、0

18.下面这段代码的正确输出结果是()。

public class Test04_06 {

public static void main(String[] args) {

String name = "安卓越科技";

String address = "北京市海淀区";

String strName = "我是".concat(name);

String strAddress = "住在".concat(address);

String newStr = strName.concat(strAddress);

System.out.println(newStr);

}

}

A、我是安卓越科技

B、我是住在北京市海淀区

C、安卓越科技住在北京市海淀区

D、我是安卓越科技住在北京市海淀区

19.下面这段代码的正确输出结果是()。

public class Test04_07 {

public static void main(String[] args) {

String fileName, email;

fileName = "TestAnjoyo.java";

int index1 = https://www.wendangku.net/doc/e57578011.html,stIndexOf(".");

if (index1 != -1) {

String after = fileName.substring(index1);

if (".java".equals(after)) {

email = "anjoyo.student@https://www.wendangku.net/doc/e57578011.html,";

int index2 = https://www.wendangku.net/doc/e57578011.html,stIndexOf("@");

int index3 = https://www.wendangku.net/doc/e57578011.html,stIndexOf(".");

if (index2 != -1 && index3 != -1 && index2 < index3

&& index3 - index2 != 1) {

System.out.println("True");

} else {

System.out.println("False");

}

}

} else {

System.out.println("once more");

}

}

}

A、True

B、False

C、once more

D、程序出错

20.下面这段代码的正确输出结果是()。

public class Test04_08 {

public static void main(String[] args) {

String str = "Hello";

int index = str.indexOf("l");

String firstStr = str.replace('l', 'f');

String secondStr = str.replaceFirst("ll", "f");

System.out.println(index + "," + firstStr + "," + secondStr);

}

}

A、3,Heffo,Hefo

B、3,Hefo,Heffo

C、2,Heffo,Heffo

D、2,Heffo,Hefo

答案:1~5:DBACA 6~10:CAACD 11~15:CBDBA 16~20:DBDAD 第五章选择题:(共20题)

1.下面关于类的说法错误的一项是()。

A、类属于Java语言中的复合数据类型

B、对象是Java语言中的基本结构单位

C、类是同种对象的集合和抽象

D、类就是对象

2.如下所示代码:

public class Test05_01{

private float a;

public static void m ( ){ }

}

如何使成员变量a被方法m( )访问()。

A、将private float a改为public float a

B、将private float a改为static float a

C、将private float a改为protected float a

D、将private float a改为float a

3.下面关于类的说法有误的一项是()。

A、类就是对象

B、类是同种对象的集合和抽象

C、类属于Java语言中的复合数据类型

D、对象是Java语言中的基本结构单位

4.下列哪种类成员修饰符修饰的变量只能在本类中被访问()。

A、protected

B、default

C、private

D、public

5.下面关于方法的说法不正确的一项是()。

A、类的私有方法不能被其他类直接访问。

B、Java中的构造方法名必须和类名相同。

C、方法体是对方法的实现,包括变量声明和合法语句。

D、如果一个类定义了构造方法,也可以用该类的默认构造方法。

6.下列程序的运行结果是()。

public class Test05_02 extends x{

int ab(){

static int a = 10;

a++;

System.out.println(a);

}

public static void main(String[] args) {

Test05_02 b = new Test05_02 ();

b.ab();

}

}

A、10

B、编译错误

C、11

D、运行成功,但不输出

7.下面关于构造方法的描述有误的一项是()。

A、构造方法必须要有返回类型的声明。

B、构造方法和类中的方法很相似:有访问修饰符、方法名、参数列表、方法体。

C、构造方法当成是一个特殊的方法,这个方法的作用就是用来产生一个类的实例。

D、构造方法的方法名必须和类名完全相同。

8.下列关于对象的说法错误的一项是()。

A、对象成员是指一个对象所拥有的属性或可以调用的方法。

B、由类生成对象,称为类的实例化过程,一个实例可以是多个对象。

C、在创建类的对象时,需要使用Java的new关键字。

D、在Java中要引用对象的属性和方法,需要使用“.”操作符来实现。

9.类的方法可以不包含下面哪一项()。

A、方法的参数

B、方法的主体

C、方法的名称

D、方法的返回值类型

10.下面关于变量说法错误的一项是()。

A、对于成员变量,我们可以不需要手动的显式初始化,因为系统在创建一个新的对象

的时候,会给这些成员变量赋一个初值。

B、对于引用变量,它的默认初值是null而非相应的引用类型对象,也就是说,它并不

是指向任何对象的首地址。

C、系统会对全局(成员)变量指定默认的值,也会对局部变量赋值。

D、局部变量在使用之前,必须对其进行显式初始化。

11.下面的各种数据类型的默认初始化值表示错误的一项是()。

A、int是0

B、float 是0.0

C、char 是…\u0000?

D、boolean是false

12.下面哪一项不是Java的访问控制符()。

A、public

B、private

C、void

D、protected

13.Java语言类间的继承关系和接口间的继承关系分别是()。

A、单继承、不能继承

B、多重继承、不能继承

C、多重继承、单继承

D、单继承、多重继承

14.如果局部变量和成员变量同名,如何在局部变量作用域内引用成员变量()。

A、不影响,系统可以自己区分

B、不能引用,必须改名,使它们的名称不相同

C、在成员变量前加this,使用this访问该成员变量

D、在成员变量前加super,使用super访问该成员变量

15.下列关于内部类说法错误的一项是()。

A、内部类可用private或protected修饰符修饰

B、内部类不能有自己的成员方法和成员变量

C、除static内部类外,不能在类内声明static成员

D、内部类可以作为其他类的成员,而且可访问它所在的类的成员

16.定义外部类时不能用到的关键字是()。

A、public

B、abstract

C、protected

D、final

17.下面说法不正确的一项是()。

A、abstract和final能同时修饰一个类

B、抽象类既可以做父类,也可以做子类

C、声明为final类型的方法不能在其子类中重新定义

D、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口

18.有一个类B,下面为其构造方法的声明,正确的是()。

A、void b(int x) {}

B、void B(int x) {}

C、B(int x) {}

D、b(int x) {}

19.区分类中重载方法的依据是()。

A、不同的形参名称

B、返回值的类型不同

C、形参列表的类型和顺序

D、访问权限不同

20.下面说法错误的一项是()。

A、在Java中,为了节省创建对象的时间和空间,对于一些常用的方法,会将它在内存

中缓存起来。

B、在JDK中针对各种基本数据类型分别定义相应的引用类型,称之为封装类(Wrapper

Classes)。

C、JDK5.0中,引入了自动装箱/拆箱功能,可以让我们方便的在简单类型和对应的封

装类型数据之间转换。

D、在Object类中,定义了一个toString()方法,用来返回一个表示这个对象的字符串。答案:1~5:DBACD 6~10:BABAC 11~15:BCDCB 16~20:CACCA

第六章选择题:(共20题)

1.关于异常的含义,下列描述中最正确的一项是()。

A、程序编译或运行时发生的异常事件

B、程序语法错误

C、程序自定义的异常事件

D、程序编译错误

2.自定义异常时,可以通过对下列哪一项进行继承()。

A、Exception类及其子类

B、Applet类

C、AssertionError类

D、Error类

3.对应try和catch子句的排列方式,下列说法正确的一项是()。

A、父类和子类不能同时出现在try语句块中

B、子类异常在前,父类异常在后

C、父类异常在前,子类异常在后

D、只能有子类异常

4.运行下面程序时,会产生的异常是()。

public class Test06_01 {

public static void main(String[] args) {

int x = 0;

int y = 5/x;

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

int p = z[4];

}

}

A、ArrayIndexOutOfBoundsException

B、IOException

C、NumberFormatException

D、ArithmeticException

5.运行下面程序时,会产生的异常是()。

public class Test06_02 {

public static void main(String[] args) {

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

int p = z[4];

int x = 0;

int y = 5/x;

}

}

A、NumberFormatException

B、ArithmeticException

C、IOException

D、ArrayIndexOutOfBoundsException

6.下列程序执行的结果是()。

public class Test06_03 {

public static void main(String[] args) {

try{

return;

}

finally{

System.out.println("Finally");

}

}

}

A、编译通过,但运行时出现异常

B、因为没有catch子句,因此不能通过编译

C、程序正常运行,并输出Finally

D、程序正常运行,但不输出任何结果

7.下列代码中给出正确的在方法体内抛出异常的是()。

A、throw new Exception(" ");

B、throws IOException;

C、new throw Exception(" ");

D、throws IOException();

8.下列描述了Java语言通过面相对象的方法进行异常处理的好处,请选出不在这些好处

范围之内的一项()。

A、把错误处理代码从常规代码中分离出来

B、可以利用异常处理机制代替传统的控制流程

C、把各种不同的异常事件进行分类,体现了良好的继承性

D、这种机制对具有动态运行特性的复杂程序提供了强有力的支持

9.下面关于try块说法错误的一项是()。

A、如果try块里的代码过于庞大,业务过于复杂,造成try块中出现异常的可能性增大,

从而导致分析异常原因会很麻烦。

B、当try块过于庞大的时候,就难免在try块后紧跟着大量的catch块才可以针对不同

异常提供不同的处理逻辑。

C、同一个try块后紧跟着大量catch块则需要分析它们之间的逻辑关系,但不会导致程

序的复杂性增加。

D、可以把大块的try块分割成多个可能出现异常的程序段落,并把它们放在单独的try

块中,从而分别捕获并处理异常。

10.下列关于自定义异常类描述有误的一项是()。

A、定义异常类时通常需要提供两种构造方法:无参数的构造方法和带一个字符串的构

造器,这个字符串将作为该异常对象的详细说明(也就是异常对象getMessage方法的返回值)。

B、在选择抛出什么异常时,应该选择合适的异常类,从而可以明确描述该异常情况。

C、通常情况下,程序很少会自行抛出系统异常,因为异常的类名通常包含了该异常的

有用信息。

D、用户自定义异常都应该继承Exception基类,如果希望自定义Runtime异常,则也

应该继承Exception基类,利用Exception的printStackTrace()方法可以追踪异常出现的执行堆栈情况,并可以以此找到异常的源头。

11.下面关于过度使用异常说法错误的一项是()。

A、把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单的抛出异

常来代替所有错误处理,这会导致过度使用异常。

B、使用异常处理代替流程控制,这会导致过度使用异常。

C、异常处理机制的初衷是将不可预期异常的处理代码和正常的业务逻辑代码分离,可

以使用异常处理来代替正常的业务逻辑判断。

D、应该只对外部的、不能确定和预知的运行错误才使用异常。

12.下面关于抛出异常说法错误的一项是()。

A、一个方法应该抛出它可能碰到的重要的“已检查异常”和Error,而对于“未检查异常”,

应该通过程序来避免这种情况的发生。

B、如果一个现成的异常可以使用,则我们可以方便的自己来抛出异常,找到一个合适

的异常类。

C、如果一个现成的异常可以使用,则我们可以方便的自己来抛出异常,实例化这个异

常类。

D、如果一个现成的异常可以使用,则我们可以方便的自己来抛出异常,抛出这个异常

类对象。

13.下面关于使用throw抛出异常说法不正确的一项是()。

A、当程序出现错误的时候,系统会自动抛出异常。

B、当程序出现错误的时候,Java允许程序自行抛出异常。

C、throw语句可以单独使用,不需要和throws或者是try-catch结构结合使用。

D、throw语句抛出的不是异常类,而是异常实例,而且每次只能抛出一个异常实例。

14.下面关于try-catch-finally处理异常说法错误的一项是()。

A、当try块内的任何代码抛出了由catch() 子句指定的异常,则try代码段中的程序将

会终止执行,并跳到相应的catch()代码块中来执行。

B、可以通过Exception的getMessage()方法来获得异常的详细信息或者通过

printStackTrace()方法来跟踪异常事件发生时执行堆栈的内容。

C、无论是否出现异常,程序最后都会执行finally代码块中的内容。

D、在通过catch来捕获多个异常时,越“具体”的异常放在越前面,也就是说,如果这

些异常之间有继承关系,则应该将父类的异常放在前面,而将子类的异常放在后面来捕获。

15.下列说法错误的一项是()。

A、如果try块被执行一次,则try块后只有一个catch块会被执行,绝不可能有多个catch

块被执行。

B、在循环中使用了continue开始下一次循环,下一次循环又重新运行了try块,这样

才可能导致多个catch块被执行。

C、使用Exception声明抛出异常的思路是:当前方法不知道应该何处处理这种类型的

异常,该异常应该由上一级调用者处理。

D、当Java运行时决定调用某个catch块来处理该异常对象时,会将该异常对象赋给catch

块后的异常参数,程序就可以通过参数来获得该异常的相关信息。

16.下面哪一项属于IOException异常()。

A、InterruptedException:线程中断

B、ClassNotFoundException:无法找到需要的类文件异常

C、FileNotFoundException:指定文件未找到异常

D、UnsupportedOperationException:对象不支持的操作异常,如调用方法名、方法参数

写错等。

17.下面关于Java中的异常处理机制描述错误的一项是()。

A、Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被

提交给Java运行时环境,这个过程称为抛出(throw)异常。

B、当Java运行时环境接收到异常对象时,会寻找能处理这一异常的代码并把当前异常

对象交给其处理,这一过程称为捕获(catch)异常。

C、程序员通常只能处理异常(Exception),而对错误(Error)无能为力。

D、如果Java运行时环境找不到可以捕获异常的方法,则运行时环境将终止,但相应的

Java程序不会退出。

18.RuntimeException异常不包括下面哪一项()。

A、NullPointerException:空指针异常

B、SocketException:Socket通信异常

C、NegativeArraySizeException:负数组长度异常

D、ClassCastException:造型异常

19.下面哪一项不属于RuntimeException异常()。

A、Exception :异常层次结构的根类

B、ArithmeticException:数学计算异常

C、FileNotFoundException:指定文件未找到异常

D、ArrayIndexOutOfBoundsException:数组越界异常

20.下面关于Error/Exception说法错误的一项是()。

A、Error类和Exception类都是Throwable类的子类。

B、Error类只有四个子类,分别是AWTError、LinkageError、VirtualMachineError以及

ThreadDeat。

C、Exception的子类大致分为有关I/O的IOException,有关运行时的异常

RuntimeException以及其它的异常。

D、IOException异常是由于程序编写过程中的不周全的代码引起的,而

RuntimeExcepiton是由于IO系统出现阻塞等原因引起的。

答案:1~5:AABDD 6~10:CABCD 11~15:CACDC 16~20:CDBCD 第七章选择题:(共20题)

1.下面关于File类描述错误的一项是()。

A、File类是java.io包下代表与平台无关的文件和目录。

B、在Java中,不管是文件、还是目录都使用File来操作。

C、如果需要在程序中操作文件和目录都可以通过File类来操作。

D、File类只能创建和删除文件与目录。

2.下面关于访问文件和目录描述有误的一项是()。

A、因为在Java中,反斜杠“\”是转义符,所以在使用它来表示Windows目录的分割符

的时候,需要用“\\”来表示。

B、在Windows中,通过盘符和“/”来表示绝对路径,可以通过类File的字符串常量

seperator,也可以获得对应目标操作系统上的路径分割符。

C、在Java中,File类定义的是一个抽象的、与操作系统无关的类。

D、创建一个File对象只是创建了一个表示相应的文件或路径的File类的实例。

3.下面说法不正确的一项是()。

A、File类创建的File对象是可以用来获取磁盘文件的相关信息,例如:权限、时间、

日期、目录路径或目录层次结构,File类被封装在java.io包中。

B、FileNameFilter是一个接口,它只有一个accept()方法,所以,只需要自己定义一个

类实现这个接口,并且将接口中的accept()实现,然后将它作为File的list()方法的参数就可以实现文件的过滤功能。

C、在File类的list()方法中,可以接受一个参数FileNameFilter,通过它,可以只将一

些符合条件的文件列出来。

D、只需将FileNameFilter对象作为accept()方法参数,不需要在程序中调用list()方法,

程序在运行过程中会自动调用这个方法来过滤文件,它是一个回调方法(callback method)。

4.下面关于流的概述说法错误的一项是()。

A、stream是从起源到接收的无序数据。

B、Java中把不同的输入/输出源(例如:键盘、网络连接等)抽象表述为“流”,通过流

的方式允许Java程序使用相同的方式来访问不同的输入/输出源。

C、Java 的IO流是实现输入/输出的基础,它可以方便实现数据的输入/输出操作。

D、输入的数据来自键盘、文件、其它应用程序或者网络,而输出的数据可以给屏幕、

文件、其它应用程序或者网络等。

5.下面关于流的分类说法错误的一项是()。

A、用于处理字节数据分类的方式中,按照流的方向分,可以分为输入流(Input Stream)

和输出流(Output Stream)。

B、输出流(Output Stream):既能向其写入数据,也能从中读取数据。

C、输入流(Input Stream):只能从中读取数据,而不能向其写入数据。

D、输入流和输出流分别通过抽象类InputStream和OutputStream来实现。

6.下列关于节点流和处理流说法错误的一项是()。

A、按照流的“角色”分,可以分为“节点流”和“处理流”。

B、节点流又常常被称为低级流(Low Level Stream)。

C、可以向一个特定的IO设备(例如磁盘或网络)读/写数据的流,称为处理流。

D、实现对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功

能的流,称为处理流。

7.下列关于InputStream和OutputStream描述有误的一项是()。

A、InputStream用于从源按照字节读取数据,它的int read()方法读取一个字节,并将它

返回,如果遇到源的末尾,则返回-1。可以通过返回的值是否为-1来判断是否已经到了流的末尾。

B、InputStream/OutputStream是抽象类,提供了输入输出处理的基本接口。

C、OutputStream的int read(byte[] buffer)方法将数据读入一个字节数组,同时返回读取

的字节数,如果遇到源的末尾,则返回-1。

D、InputStream/OutputStream读/写流的方式都是以字节为单位进行的。

8.下面关于InputStream描述有误的一项是()。

A、InputStream中的read()方法以“阻塞(blocking)读取方式工作”,这就意味着如果源

中没有数据,该方法将一直等待(处于阻塞状态)。

B、InputStream的void close()方法用于关闭该流,在使用完流以后,不一定要使用此方

法将流关闭,释放流所占用的资源。

C、InputStream的int available()方法用于返回在不发生阻塞情况下,该流中可以读取的

字节数。

D、InputStream的void reset()方法是返回到流的上一个标记。以后再次调用read()方法

的时候,将会重读那些数据,如果流没有做标记,则不进行reset操作。

9.下列关于高级InputStream类(处理流)的描述正确的一项是()。

A、高级InputStream类(处理流)的FileInputStream方法用于读取文件中的信息,它

用于从文件中读取二进制数据。

B、高级InputStream类(处理流)的ByteArrayInputStream方法是读取字节数组设计的

流,允许内存的一个缓冲区被当作InputStream使用。

C、高级InputStream类(处理流)的BufferedInputStream方法提供内部缓冲能力的字

节流,它避免了每次需要数据的时候都必须进行读取,可以减少对系统资源的读写,从而提高程序的运行效率。

D、高级InputStream类(处理流)的PipedInputStream方法是管道流,产生一份数据,

能被写入相应的PipedOutputStream。

10.下面关于低级与高级OutputStream描述有误的一项是()。

A、与低级InputStream相对,低级OutputStream是用来向设备中写出字节流的类。

B、低级OutputStream的ByteArrayOutputStream方法是按照字节数组方式来向设备中

写出字节流的类。

C、低级OutputStream的PipedOutputStream方法是管道输出,与PipedInputStream相对。

D、高级OutputStream的BufferedOutputStream方法提供了具有内部缓冲能力的字节流,

避免了每次想要写入数据时都需要执行实际写入动作,从而提高了程序的执行效率,但不可以通过调用flush()方法显式地将缓存中的数据输出。

11.下面关于FileInputStream和FileOutputStream的描述错误的一项是()。

A、Java中提供了FileInputStream和FileOutputStream用于从文件中读取信息和向文件

中写入信息。

B、FileInputStream和FileOutputStream分别是InputStream和OutputStream的直接子类。

C、在生成FileInputStream和FileOutputStream类的对象时,如果指定的文件找不到,

都会产生FileNotFoundException异常,可以不捕获,但必须声明抛出。

D、指定在程序中打开的文件,首先创建一个FileInputStream对象,然后通过其read()

方法将文件内容读入定义的字节数组中,然后使用System.out的write()方法将字节数组中的数据输出到控制台。

12.下面说法有误的一项是()。

A、Reader/Writer处理的是字符类型的数据的流,与InputStream/OutputStream不同在于

其处理流的方式是以字符为单位进行的。

B、Reader/Writer与InputStream/OutputStream相同,也分为节点流(低级流)和处理流

(高级流)。

C、Reader 与OutputStream类似,用于向流中写入数据,它们之间的区别在于Writer

写入的是字符,而OutputStream写入的是字节。

D、根据流处理的是设备还是其它的流,也可以将Reader分为低级流和高级流。

13.下面说法错误的一项是()。

A、Writer与InputStream相同,用于从流中读取数据,它和InputStream的区别在于

InputStream是以字节为单位操作流,而Reader是以字符为单位操作流。

B、根据Writer操作的对象,将其分为低级Writer和高级Writer,低级Writer操纵的是

设备,而高级Writer操纵的是其它的流。

C、低级Writer类的CharArrayWriter方法对应于ByteArrayOutputStream,它实现了一

个字符类型的缓冲。

D、高级Writer类的OutputStreamWriter方法,它是字符流到字节流之间的桥梁,写入

的字符串将根据特定的编码方式转换成字节。

14.下列关于读写随机访问文件(RandomAccessFile)说法有误的一项是()。

A、通过RandomAccessFile,可以向一个文件中追加内容,即在原来文件内容后面添加

新写入的内容。

B、RandomAccessFile是一种特殊的文件流,可以用它在文件的任何地方查找或者插入

数据。

C、如果使用FileOutputStream,还可以使用其构造器FileOutputStream(String

filename,boolean append)创建文件流,并将其append参数设置为true来创建FileOutputStream对象,也可以达到向文件附加内容而不是替换原来内容的目的。

D、RandomAccessFile只实现了DataOutput接口,因此只能用它来读文件。

15.下面关于XML的描述错误的一项是()。

A、XML(Extensible Markup Language)即可拓展标记语言,它是一种简单的数据存储

语言。

B、XML文档总以XML声明开始,它仅定义了XML的版本信息。

C、XML文档的主要部分是元素,元素由开始标签、元素内容和结束标签组成,元素

内容包含子元素、字符数据等。

D、XML独立于计算机平台,操作系统和编程语言来表示数据,凭借其简单性、可拓

展性、交互性和灵活性在计算机行业中得到了世界范围的支持和采纳。

16.Java语言提供处理不同类型流的类所在的包是()。

A、java.io

B、java.sql

C、java.util

D、https://www.wendangku.net/doc/e57578011.html,

17.下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入“//x”

处,完成要求的功能()。

import java.io.*;

public class Text07_01 {

public static void main(String[] args) {

char ch;

try{

//x

System.out.println(ch);

}

catch(IOException e){

e.printStackTrace();

}

}

}

A、ch = (char)System.in.read();

B、ch = (int)System.in.read();

C、ch = System.in.read();

D、ch = (char)System.in.readln();

18.下列程序实现了在当前包dir20130424下新建一个目录subDir20130424,选择正确的一

项填入程序的横线处,使程序符合要求()。

package dir20130424;

import java.io.*;

public class Text07_02 {

public static void main(String[] args){

char ch;

try{

File path = ________________________;

if(path.mkdir())

System.out.println("successful!");

}

catch(Exception e){

e.printStackTrace();

}

}

}

A、new File("dir20130424.subDir20130424");

B、new File("dir20130424/subDir20130424");

C、new File("dir20130424\subDir20130424");

D、new File("subDir20130424");

19.若文件是RandomAccessFile的实例file,并且其基本文件长度大于0,则下面的语句实

现的功能是()。

file.seek(file.length()-1);

A、会导致seek()方法抛出一个IOException异常

B、将文件指针指向文件的第一个字符后面

C、将文件指针指向文件的最后一个字符前面

D、将文件指针指向文件的最后一个字符后面

20.下列哪一个是Java系统的标准输入流对象()。

A、System.in

B、System.exit

C、System.out

D、System.err

答案:1~5:DBDAB 6~10:CCBCD 11~15:CCADB 16~20:AABCA 第八章选择题:(共15题)

1.Math类中向下取整的方法是()。

A、Ceil()

B、floor()

C、round()

D、abs()

2.Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不

是Collection接口所定义的()。

A、int size()

B、boolean containsAll(Collection c)

C、compareTo(Object obj)

D、boolean remove(Object obj)

3.list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍

历的过程中正确并安全的删除一个list中保存的对象()

Iterator it = list.iterator();

int index = 0;

while (it.hasNext()){

Object obj = it.next();

if (needDelete(obj)) {

//needDelete返回boolean,决定是否要删除

//todo delete

}

index ++;

}

A、list.remove(obj);

B、list.remove(index);

C、list.remove(it.next());

D、list.remove();

4.执行以下代码后,打印出来的y的值是()。

int x=8,y=2;

if (Math.pow(x,y)= =64)

y=x;

if (Math.pow(x,y)<63)

y=2*x;

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

Java程序员认证考试题库

第一部分 基础知识练习 目标 本章对应于《学生指南》各章的内容分别提供了练习题集,包括: ●第一章Java入门 ●第二章数据类型和运算符 ●第三章流程控制与数组 ●第四章封装 ●第五章继承 ●第六章抽象类与接口 ●第七章多态 ●第八章异常 ●第九章多线程机制 ●第十章输入输出流 ●第十一章使用泛型和集合框架 ●第十二章基于Swing的图形用户界面(GUI)设计 ●第十三章Java事件驱动编程

第一章练习题(Java入门) (C)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言 B.工具及工具的API C.Java EE扩展API D.Java平台虚拟机 2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JRE中包含了JDK,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 3.下列哪个工具可以编译java源文件? A.javac B.jdb C.javadoc D.junit 4.JDK工具javadoc的作用是哪项? A.生成Java文档 B.编译Java源文件 C.执行Java类文件 D.测试Java代码 5.以下哪些包是Java标准库中常用的包?(选三项)A.java.lang B.javax.servlet .http C.j ava. io D.java.sql

6.使用JDK工具生成的Java文档的文件格式是? A.XML格式 B.自定义格式 c.二进制格式 D.HTML格式 (AC)7.以下关于JVM的叙述,哪项正确?(选两项) A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件 8.以下关于支持Java运行平台的叙述,哪项错误? A.Java可在Solaris平台上运行 B.Java可在Windows平台上运行 C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关 (B)9.以下关于Applet和Java程序之间关系的叙述,哪项错误? A.-个Applet就是一段Java程序 B.Applet是一种特殊的Java程序,它需要运行在Web服务器上C.Applet是一种特殊的Java程序,它需要运行在Web浏览器上D.Applet是一种Java SE平台的应用程序 (AD)10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.Java HotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化

java基础测试题

一、选择题48分每题2分 1.面向对象的三大特性不包括() A 封装 B 继承 C 多态 D 消息通信 2.下列声明哪个是错误的() A int i = 10; B float f = 1.1; C double d = 34.4; D long m = 4990; 3.程序的执行结果是() public class Test { public static void main(String [] args){ System.out.println(“”+'a'+1); } } A 98 B a 1 C 971 D 197 4.程序的执行结果是() public class Test { int x; public static void main(String [] args){ Test t = new Test(); t.x=5; change(t); System.out.println(t.x); } public static void change(Test t){ t.x=3; } } A 5 B 3 C 编译出错 D 以上答案都不对 5.关于类与对象说法错误的是() A 类是模板,对象是产品 B 人是类,男人是对象 C 类是对某一事物的描述是抽象的,对象是实际存在的该类事物的个体 D 汽车设计图是类,制造的若干汽车是对象 6.关于构造函数说法错误的是() A 构造函数名与类相同 B 构造函数无返回值,可以使用void 修饰 C 构造函数在创建对象时被调用 D 在一个类中如果没有明确的给出构造函数,编译器会自动提供一个构造函数7.程序的执行结果是() public class Test { public static void main(String [] args){ String str1= new String("abc"); String str2 = new String("abc"); String str3=str1; if(str1.equals(str2)){ System.out.println("true"); }else{ System.out.println("false"); } if(str1==str3){

Java机试题

《使用Java实现面向对象编程》阶段测试-机试试卷 一、语言和环境 A、实现语言 Java B、环境要求 JDK 6.0、MyEclipse7.5 二、功能要求 开发基于控制台的购书系统。具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。 (2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。 (3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。 系统运行界面如图-1所示。 三、类的设计 该系统中必须包括三个类,类名及属性设置如下。 图书类(Book) ?图书编号(bookId) ?图书名称(bookName) ?图书单价(price) ?库存数量(storage) 订单项类(OrderItem) ?图书名称(bookName) ?图书单价(price) ?购买数量(num) 订单类(Order): ?订单号(orderId) ?订单总额(total) ?订单日期(date) ?订单项列表(items) 四、具体要求及推荐实现步骤

1、创建图书类,根据业务需要提供需要的构造方法和setter/getter方法。 2、创建订单项类,根据业务需要提供需要的构造方法和setter/getter方法。 3、创建订单类,根据业务需要提供需要的构造方法和setter/getter方法。 4、创建测试类Test,实现顾客购买图书。 A、获取所有图书信息并输出:创建至少三个图书对象并输出即可。 B、顾客购买图书:顾客通过输入图书编号来购买图书,并输入购买数量。 C、输出订单信息:包括订单号、订单明细、订单总额、订单日期。 图-1 系统运行界面

最新Java基础试题及其答案

Java试题 一单项选择 1)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。() a)protected b)private c)public d)friendly 2)在Java中,下列()语句不能通过编译。(选择一项) a) String s= “join”+ “was”+ “here”; b) String s= “join”+3; c) int a= 3+5 d) float f=5+5.5; 3)给定java代码如下,运行时,会产生()类型的异常。(选择一项) String s=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 4) 在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b) HashSet c) HashMap d) LinkedList 5)给定如下java代码,编译运行之后,将会输出()。 public class Test{ public staticvoid main(String args[]){ int a=5; System.out.println(a%2==1) ?(a+1) /2:a/2) ; } } (选择一项) a)1 b)2 c)2.5 d)3 6)以下Java语句中,String str = “123456789”;str =str.subString(1,3);执行后str中的值为。(选择一项) a) “23” b)“123”

java考试题库第五章

5-1 下列关于容器的描述中,错误的是D A.容器是由若干个组建和容器组成的 B.容器是对图形界面中界面元素的一种管理 C.容器是一种对指定宽和高的矩形范围 D.容器都是可以独立的窗口 5-2 下列界面元素中,不是容器的是A A.List B.Frame C.Dialog D.Panel 5-3 下列关于实现图形用户界面的描述中,错误的是D A.放在容器中的组件首先要定义,接着要初始化 B.放在容器中的多个组件是要进行布局的,默认的布局策略是FlowLayout C.容器中所有组件都是事件组件,都可以产生事件对象 D.事件处理是忧监听者定义的方法来实现的 5-4 下列关于组件类的描述中,错误的是A A.组件类中包含了文本组件类(TextComponent)和菜单组件类(MenuComponent) B.标签(Label)和按钮(Button)是组件类(Component)的子类 C.面板(Panel)和窗口(Window)是容器类(Container)的子类 D.文本框(TextField)和文本区(TextArea)是文本组件类(TextComponent)的子类 5-5 在对下列语句的解释中,错误的是C but.addActionListener(this); A.but是某种事件对象,如按钮事件对象 B.t his表示当前容器 C.A ctionListener是动作事件的监听者 D.该语句的功能是将but对象注册为this对象的监听者 5-6 所有事件类的父类是C A.ActionEvent B.AwtEvent C.KeyEvent D.MouseEvent 5-7 所有GUI标准组件类的父类是C A.Buttom B.List C.Component D.Container 5-8 下列各种布局管理器中Window类、Dialog类和Frame类的默认布局是C A.FlowLayout B.CardLayout C.BorderLayout D.GridLayout 5-9 在下列各种容器中,最简单的无边框的又不能移动和缩放的只能包含在另一种容器中的容器是D A.Window B.Dialog C.Frame D.Panel 5-10 下列关于菜单和对话框的描述中,错误的是C A.Frame容器是可以容纳菜单组件的容器 B.菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项 C.对话框与Frame一样都可作为程序的最外层容器 D.对话框内不含有菜单条,它由Frame弹出

Java基础试题

考砸了,把做错的题目重新复习一下对应的知识点 一、单项选择(每题2.5分,20 * 2.5’=50’)A 1.下面哪种情况属于方法重载。 A)方法名相同,参数类型与个数不同 B)方法参数类型相同 C)方法参数个数相同 D)方法名相同,方法参数类型与个数也相同 2.你想用下面的代码查找数组最后一个元素的值,当你编译并运行它的时候,会发 生什么?C public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } A).编译通过并输出0 B).编译通过并输出 null C).编译通过但发生运行时错误 D).编译出错 3.JFrame的默认布局管理器是什么?C 4.Frame 的默认布局是FlowLayout 5.JFrame的默认布局是BorderLayout A)FlowLayout B)GridLayout C)BorderLayout D)CardLayout 6.给定下面的类定义D class Base{ Base(int i){} } class DefCon extends Base{ DefCon(int i){ //XX } } 如果将标记//XX 的地方替换为下面的行,哪一行是独立合法的? A).super(); B).this();

C).this(99); D).s uper(99); 7.启动线程方法正确的是___D________。 A)run( )方法 B)suspend( )方法 C)stop( )方法 D)start( )方法 6、在Java中,调用Math.random() 方法可能返回的结果是(B) Math.random 返回的是一个double值此值大于0.0 且小于1.0 A)132.34 B)0.342 C)29.34E10 D) 1.0009 7、下面的哪一个声明是合法的?B A) public protected amethod(int i) B) public void amethod(int i) C) public void amethod(void) D) void public amethod(int i) 8、假设有以下Java代码:C import java.applet.*; import java.awt.*; public class My_Applet extends Applet { … } 如果要在HTML页中嵌入以上Applet,可按下面()方式完成。(选择一项) A) B) C) D) 9、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用(A)关 键字。 A)不需要任何关键字 B)private C)final D)protected 10、下述哪些说法是正确的?A

常见的Java上机面试题

常见的Java上机面试题 在程序员面试中,主要的考试形式分为笔试和上机编程考试两部分。笔试主要考查面试者的基础是否牢固;上机考试主要考查面试者的实际开发能力和技术技巧。 上机编程考试,要求面试者能够根据题目的要求,使用一种编程工具,编写全部代码并调试运行。这主要是考查面试者代码书写和编程的熟练程度。值得注意的是,这类面试题要求能够正确运行,往往要求面试者使用比较原始的JDK编译方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速开发环境。本章将经常出现的上机编程题进行分类,希望能够给读者带来帮助和启示。 17.1 Java基础编程试题(1) 在上机编程类的面试题中,大部分涉及基础编程,例如算法、语法、常用的类等知识点。 面试题1 怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个"。 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这个,就很容易完成本题了。 参考答案 具体代码实现如下: 1.package core_java; 2.import java.util.Scanner; 3.public class InterceptionStr { 4.static String ss; //要进行截取操作的字符串 5.static int n; //截取的字符串的字节数 6.public static void main(String[] args) { 7. System.out.println("请输入字符串:"); 8. Scanner scStr = new Scanner(System.in); //从键盘获取字符串 9. ss = scStr.next(); // 将Scanner对象中的内容以字符串的形式取出来 10. System.out.println("请输入字节数:"); 11. Scanner scByte = new Scanner(System.in); //从键盘获取字符串 12. n = scByte.nextInt(); //将Scanner对象中的内容以数值的形式取出来

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

《Java程序设计》上机实验

实验 1: 熟悉上机环境,编写并运行简单的java 程序( 3 学时) 实验目的 (1)熟悉 Java 程序开发环境 J2SDK+JCreator的安装及使用 (2)熟悉 Java Application 和 Applet 程序的结构及开发步骤 (3)熟练掌握 if 语句的使用 (4)掌握 Math.sqrt()等常用数学函数的用法 (5)熟悉 System.out.print()的用法 实验内容及要求 按Java Application 和 Applet 两种方式分别编写程序,求一元二次方程 ax2+bx+c=0 的根(系数在程序中给定),并输出。 思考并验证 (1)分别给定以下几组系数,给出输出结果a=1, b=5, c=3 a=4, b=4, c=1 a=2, b=3, c=2:+ i + i (2)如果程序的 public 类的类名和源文件的文件名不一样会有什么问题? (3)将类的 public 修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么 ? (4)将程序中 main 前面的 public 去掉,重新编译执行你的程序,你看到了什么信息? (5)将程序中 main 前面的 static 去掉,重新编译执行你的程序,你看到了什么信息?为 什么? (6)本次上机中,你还遇到了什么问题,是如何解决的? 第1 页

实验 2:控制流程1(3 学时 ) 实验目的 (1)进一步熟悉使用 if 语句 (2)掌握循环语句实现循环的方法 实验内容及要求 输出时,只使用下面的语句: System.out.print(“”); //输出一个空格,并且不换行System.out.print(“*”); //输出一个字符’*’,并且不换行System.out.print(“+”); //输出一个字符’+’,并且不换行System.out.println(“*”;) // 输出一个字符’*’,并换行 编写程序输出(注:在图形的中心处有一个加号’+’): * * * * ***** ***+*** ***** * * * * 思考并验证 下面程序片段给出了从键盘输入一个整数的方法: import java.io.*; InputStreamReader ir; BufferedReader in; ir=new InputStreamReader(System.in); in=new BufferedReader (ir); try {String s=in.readLine(); int i=Integer.parseInt(s);//转换成整形

java基础测试题

一、选择题 1、下面哪个是Java语言中正确的标识符(a) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(b) A.int x[] = {1,2,3}; B.int x[3] = {1,2,3}; C.int[] x = {1,2,3}; D.int x[] = new int[]{1,2,3}; 3、下述概念中不属于面向对象方法的是( a)。 A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 4、下面的代码段中,执行之后i 和j 的值是什么? ( a ) int i = 1; int j; j = i++*2+3*--i; A.1, 2 B.1, 5 C. 2, 1 D. 2, 2 5、下面哪条语句把方法声明为抽象的公共方法?(a)A.public abstract method(); B.public abstract void method(); C.public abstract void method(){} D.public void method() extends abstract; 6、下面关于java中类的说法哪个是不正确的?(c)

A.类体中只能有变量定义和成员方法的定义,不能有其他 语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语 句调用哪个是错误的?(d) class A { int i; static String s; void method1() { } static void method2() { } } A、System.out.println(a.i); B、a.method1(); C、A.method1(); D、A.method2() 10、在Java 中如果要在字符串类型对象s=“JAVA”,中找 出‘V’出现的位置可使用下面哪个方法:(b) A.mid(2,s); B.charAt(2); C.s.indexOf(‘V’); D.indexOf(s,’V’); 13、给出下面代码: public class Person{ static int arr[] = new int[10];

JAVA机试题

1、设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。 2、编写一个矩形类Rect,包含: 两个protected属性:矩形的宽width;矩形的高height。 两个构造器方法: (1)一个带有两个参数的构造器方法,用于将width和height属性初化; (2)一个不带参数的构造器,将矩形初始化为宽和高都为10。 两个方法: (1 求矩形面积的方法area() (2 求矩形周长的方法perimeter() 3、编写程序实现右图所示的界面,并为按钮添加事件处理,要求每按一下按钮,数字加5,初始值为0。 4.编写一个Java源程序,在程序中建立一个含10个整型(int)元素的一维数组,对数组中的每个元素赋值,然后按下标的逆序输出。 5. 设计一个圆类(Circle),将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并能计算圆的面积。 Circle类必须满足以下要求: (1) 圆类Circle 的属性有: cPoint_x : int型,代表圆心横坐标。 cPoint_y : int型,代表圆心纵坐标。 cRadius: double型,代表圆的半径。 cPI: double型,最终静态变量初值为3.14,代表圆的圆周率。 cArea: double型,代表圆的面积。 (2) 圆类Circle 的方法有: Circle ( ) : 构造函数,将圆的圆心置坐标原点,半径置1。 Circle ( int x , int y, double r) : 构造函数,形参 r 为半径的初值,x为横坐标的初值,y为纵坐标的初值。 double cAreaCount() : 计算当前圆类对象的面积并赋值给Circle类的cArea属性,返回cArea的值给此方法的调用者。 String toString( ) : 把当前圆类对象的圆心坐标、半径以及面积组合成“圆心为(x, y)半径为r的圆的面积为cA”字符串形式,其中x、 y、r和cA分别为横坐标、纵坐标、半径和面积的数据。 6.把一个文件名为Test.txt的文件内容写到TestOjb.text文件里。(注:使用缓存)

java笔试题 第五套题

一、选择题 1、在下列选项中,哪个不是一个算法一般应该具有的基本特征______。 A、确定性 B、可行性 C、无穷性 D、拥有足够的情报 2、希尔排序法属于哪一种类型的排序法______。 A、交换类排序法 B、插入类排序法 C、选择类排序法 D、建堆排序法 3、下列关于队列的叙述中正确的是______。 A、在队列中只能插入数据 B、在队列中只能删除数据 C、队列是先进先出的线性表 D、队列是先进后出的线性表 4、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为______。 A、N+1 B、N C、(N+1)/2 D、N/2 5、信息隐蔽的概念与下述哪一种概念直接相关______。 A、软件结构定义 B、模块独立性 C、模块类型划分 D、模拟耦合度 6、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。 A、模拟现实世界中不同事物之间的联系 B、强调模拟现实世界中的算法而不强调概念 C、使用现实世界的概念抽象地思考问题从而自然地解决问题 D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 7、在结构化方法中,软件功能分解属于下列软件开发中的______阶段。 A、详细设计 B、需求分析 C、总体设计 D、编程调试 8、软件调试的目的是______。 A、发现错误 B、改正错误 C、改善软件的性能 D、挖掘软件的潜能 9、按条件f对关系R进行选择,其关系代数表达式为______。 A、

B、 C、бf(R) D、∏f(R) 10、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。 A、自顶向下 B、由底向上 C、由内向外 D、由整体到局部 11、下面有关变量及其作用域的陈述______是不对的。 A、在方法里面定义的局部变量在方法退出的时候被撤销 B、局部变量也叫自动变量 C、在方法外面定义的实例变量在对象被构造时创建 D、在方法中定义的方法的参变量只要该对象被需要就一直存在 12、下面有关Java代码安全性的叙述______是不对的。 A、字节码校验器加载查询执行需要的所有类 B、运行时解释器执行代码 C、在运行时,字节码被加载,验证然后在解释器里面运行 D、类加载器通过分离本机文件系统的类和从网络导入的类增加安全性 13、给出下面的代码: public class Data{ public static void main (String args[]){ float f=0.0; f+=1.0; System.out.println(f); } } ______叙述是对的。 A、编译时将发生错误 B、编译时正确但是运行时出错 C、输出为1.0 D、输出为null 14、类的设计要求它的某个成员变量不能被外部类访问。应该使用下面的______修饰符获得需要的访问控制。 A、public B、no modifier C、protected D、private 15、假设以下代码 public class Parent { public int addValue( int a, int b) { int s; s = a+b;

Java上机题目及答案代码

Java上机实践三 实验题目1 假设字符串s1、s2、s3的定义如下: String s1 = “A String”; String s2 = “A String”; String s3 = s1; 请写出下列表达式的值: s1 == s2 s1 == s3 s1.length() s1.equals(s2) s1.equals(s3) https://www.wendangku.net/doc/e57578011.html,pareTo(s2) https://www.wendangku.net/doc/e57578011.html,pareTo(s3) s1.concat(s3) s1.indexOf(‘t’) https://www.wendangku.net/doc/e57578011.html,stIndexOf(‘t’) 实验目的 (1)熟悉字符串类String。 (2)学习创建类String的对象。 (3)学习使用类String执行字符串操作。 实验步骤 (1)按题目的要求创建String对象s1、s2,并声明对象引用s3指向s1;(2)调用String类的相关方法,执行指定操作并输出结果。 package lab1; public class Showstr { public static void main(String[] args){ String s1 ="A String"; String s2 ="A String"; String s3 = s1; System.out.println(s1 == s2); System.out.println(s1 == s3); System.out.println(s1.length()); System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(https://www.wendangku.net/doc/e57578011.html,pareTo(s2)); System.out.println(https://www.wendangku.net/doc/e57578011.html,pareTo(s3)); System.out.println(s1.concat(s3));

Java基础试题和答案

J a v a基础试题和答案 Revised by Petrel at 2021

J a v a试题1)java程序中,main方法的格式正确的是()。(选择一项) a)staticvoidmain(String[]args) b)publicvoidmain(String[]args) c)publicstaticvoidmain(String[]s) d)publicstaticvoidmain(String[]args) 2)给定java代码,如下: publicbytecount(byteb1,byteb2){ return______; } 要使用这段代码能够编译成功,横线处可以填入()。(选择一项)a)(byte)(b1-b2) b)(byte)b1-b2 c)b1-b2 d)(byte)b1/b2 3)在Java中,在包com.db下定义一个类,要让包com.util下的所有类都可以访问这个类,这个类必须定义为()。(选择一项) a)protected b)private c)public d)friendly 4)在Java中,下列()语句不能通过编译。(选择一项) a)Strings=“join”+“was”+“here”; b)Strings=“join”+3; c)inta=3+5 d)floatf=5+5.5;

5)在Java中下列()方法可以把JFrame的布局管理器设为FlowLayout类型(选择一项) a)jFrame.setLayout(newFlowLayout()); b)jFrame.addLayout(newFlowLayout()) c)jFrame.setFlowLayout() d)jFrame.addFlowLayout() 6)给定java代码如下,运行时,会产生()类型的异常。(选择一项)Strings=null; s.concat(“abc”); a)ArithmeticException b)NullPointerException c)IOException d)EOFException 7)在java中,()对象可以使用键/值的形式保存数据。(选择一项) a)ArrayList b)HashSet c)HashMap d)LinkedList 8)给定如下java代码,编译运行之后,将会输出()。publicclassTest{ publicstaticvoidmain(Stringargs[]){ inta=5; (a+1)/2:a/2); } }(选择一项)

javaSE测试机试题

天讯测试题 编程题目: 1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,24个月后,问每个月的兔子总数为多少? 2.斐波那契数列(Fibonacci sequence):0、1、1、2、3、5、8、13、21、34 通过递归实现输出该序列: 3.编写一个采用随机函数生成句子的游戏。现有4个字符数组:article、noun、verb、preposition,它们的内容分别是:the、a、one、some、any,boy、girl、dog、town、car,drove、jumped、ran、walked、skipped,to、from、over、under、on。依照句法要求:article+noun+verb+preposition+article+noun,编写程序以产生20个句子。 4.根据福利彩票的规则,6个蓝色球,范围1--32,不允许重复,1个红色球,范围1-16,自动生存6个蓝色球,1个红色球。 5.书写父类,子类,测试类。并在测试类中实现多态? 6.演示向上转型,向下转型,以及不可以向下转型的情况(错误代码需注释,并加以说明): 7.Collection通过迭代器,进行遍历; 8.File遍历当前文件目录,分别输出文件目录和文件名称 9.通过字节流复制MP3文件。 10.通过字符流复制文本文件。 11.Student类,数据,方法完整。通过反射分别获取属性,方法,构造。 12.通过编写学生类,然后创建学生对象,然后把这个对象存放在一个文件中,然后再读出这个文件。使用对象序列化和反序列化。 13.编写程序实现,从键盘输入10个无序的数字,然后把这些数字存放在集合类中,具体自己来定。然后使用冒泡排序的方法对他进行排序,然后把排完序的从新放在一个集合类中。然后输出出来。 14.某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 15.题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件 "stud "中。 16.编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次, 共输出20次。 17.定义一个表示学生信息的类Student,要求如下:(有关类的编程)(1)类Student的成员变量: sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。 (2)类Student带参数的构造方法: 在构造方法中通过形参完成对成员变量的赋值操作。(3)类Student的方法成员: getNo ():获得学号; getName():获得姓名; getSex():获得性别; getAge()获得年龄;getJava():获得Java 课程成绩 (4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

Java笔试题库⑦

1,关于Spring MVC的核心控制器DispatcherServlet的作用,以下说法错误的是() A,它负责接收HTTP请求 B,加载配置文件 C,实现业务操作 D,初始化上下应用对象ApplicationContext 正确答案:C SpringMVC是Spring中的模块,它实现了mvc设计模式,首先用户发起请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求 处理器映射器查找匹配该url的handle,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handle进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染,并 把数据装入到request域,返回给用户。 DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据 用户的请求返回相应的视图给用户。实现业务在service层,所以c答案错误。 2,下面有关spring的依赖注入,说法错误的是() A,依赖注入通常有如下两种:设值注入和构造注入: B,构造注入可以在构造器中决定依赖关系的注入顺序,优先依赖的优先注入 C,当设值注入与构造注入同时存在时,先执行构造注入,再执行设值注入 D,设值注入是指IoC容器使用属性的setter方法来注入被依赖的实例。这种注入方式比较简单、直观 正确答案:C 使用构造函数依赖注入时,Spring保证一个对象所有依赖的对象先实例化后,才实 例化这个对象。使用set方法依赖注入时,Spring首先实例化对象,然后才实例化所有依赖的对象。 当设值注入与构造注入同时存在时,先执行设值注入,再执行构造注入。 3,将元数据配置到Spring容器,下面哪个方法是不正确的() A,通过编组与解组对象 B,注解基础配置 C,Java基础配置 D,XML基础配置 正确答案:A 有三种方式向Spring 容器提供元数据:1,XML配置文件;2,基于注解配置;3,基于Java的配置,死概念记住即可。

java上机实验答案与解析

JAVA上机实验题答案与解析 实验一 Java程序编程 1.编写一个Java应用程序,输出容为Hello!。 注:文件位置位于e:\2:\Hello.java 编译:(1)e:(2)cd 2 (3)javac Hello.java(4)java Hello 2.编写一个Java小应用程序,输出容为我一边听音乐,一边学Java。 第一步编写 import java.awt.*; import java.applet.*; public class MyApplet extends Applet{ public void paint(Graphics g){ g.drawString("我一边听音乐,我一边做java",25,25); } } 第二步在DOS环境中编译(....javac MyApplet.java) 第三步使用记事本编写 第四步将记事本文件名命名为MyApplet.html 第五步打开MyApplet.html 实验二类的定义 1.编写Java应用程序,自定义Point类,类中有两个描述坐标位置的double 变量x,y,利用构造方法,实现对Point 对象p1,p2初始化,p1和p2对应坐标分别为(15,20),(10,30);定义方法getX(),getY()分别获得点的横坐标和纵坐标;定义方法setX(),setY()分别获得点的横坐标和纵坐标;并且把p1和p2输出; public class Point { double x,y; Point(double x,double y){ this.x=x; this.y=y; } double getX(){ return x; } double getY(){ return y; } void setX(double x){ this.x=x;

相关文档
相关文档 最新文档