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

Java最新试题及答案

Java最新试题及答案
Java最新试题及答案

Java基础习题

习题

一选择题

1、下列java标识符,错误的是(D )

A、_sys_var

B、$String

C、user_name

D、1_file

2、下列不属于基本数据类型的是( B )

A、整数类型

B、类

C、浮点数类型

D、布尔类型

3、下列声明和赋值语句错误的是C (z声明为float类型,数据6.74567默认为double类型,不能赋值,应该改为float z=6.74567f)

A、double w=3.1415;

B、String strl=”bye”;

C、float z=6.74567

D、boolean truth=true;

4、隐式类型转换是由按优先关系从低到高的顺序,下列描述正确的顺序为(A )

A、char-int-long-float-double

B、int-long-float-double-char

C、long-float-int-double-char

D、以上都不对

5、下列表示单引号的是(B)

A、‘

B、\\’

C、\\\\’

D、‘\\

6、下列语句片断中,d的值为:(10)D

int c=3;

char a=‘1’

char d=(char)(c+a);

A、3

B、4

C、31

D、’4’

7、关于变量的作用范围,下列说法错误的是(15)A

A、异常处理参数作用域为整个类

B、局部变量作用域为声明该变量的方法代码段

C、类变量作用域为声明该变量的类

D、方法参数作用域为传递到方法内代码段

8、下列程序test类中的变量c的最后结果为(17)D

public class test{

public static void main(String args[ ]){

int a=10;

int b;

int c;

if(a>50){

b=9;

}

c=b+a;

}

}

A、10

B、0

C、19

D、编译出错

9、00101010(&)00010111语句的执行结果为(19)A

A、00000010

B、11111111

C、00111111

D、11000000

10、已知i为整形变量,关于单目运算++i和i++,下列说法正确的是(20)D

A、++i运算将出错

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

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

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

11、多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值(28)C

A、整型

B、实型

C、接口型

D、字符型

12、关于while和do-while循环,下列说法正确的是(34)D

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

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

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

D、以上都不对。

13、下列数组定义及赋值,错误的是(36)B

A、int intArray[];

B.、intArray=new int[3];

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

D、int[][]=new int[2][];

14、在java中,常用的字符串由https://www.wendangku.net/doc/0f3934636.html,ng.String和(37)定义B

A、https://www.wendangku.net/doc/0f3934636.html,ng.StringChar

B、https://www.wendangku.net/doc/0f3934636.html,ng.StringBuffer

C、java.io.StringChar

D、java.io.StringBuffer

15、下列程序输出结果为:(35)C

public class test{

public static void main(String args[]){

int a=0;

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

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

if(j>i){

continue inner;

}

a++;

}

}

System.out.println(a);

}

}

A、0

B、2

C、3

D、4

二、填空题

1. 在java语言中,boolean型常量只有true和_false____两个取值。1

2. 标识符是以字符、_字母____、美元符号和数值组成,并且首字符不能为数字的字符序列。2

3. 在java程序中,用关键字_final____修饰常量。4

4. 数据类型包括基本数据类型和复合数据类型。复合数据类型又包括类、数组、_接口_。5

5. 八进制整数012表示十进制的__10__。6

6. 浮点型数据属于实型数据,分为float和_double_两种类型。7

7. java语言中的各种数据类型在运算时可以自动转换,如操作数1是byte类型,操作数2是float类型,其数值运算的结果是_float_类型。9

三、简答题

1、Java语言中的基本数据类型包括哪些?byte、short、int、long、float、double、char、boolean

2、Java语言中包括哪些运算符?算术运算符、关系运算符、逻辑运算符和位运算符。

3、Java语言中的注释有哪些?分别做出解释。

1、单行注释: //...普通的单行注释,给读代码的人看的。

2、多行注释: /*...*/普通的多行注释,也是给读代码的人看的。

3、文档注释: /**......*/这种注释是JA V A DOC,是将来用来生成类说明书用的,JDK里有生成JA V ADOC的工具。里面可以写类的输入输出参数,作者,接口等信息。

4、switch语句的执行流程?break关键字的作用?

switch(表达式){

case 值1:程序块;

break;

case 值2:程序块;

break;

……

case 值n:程序块;

break;

defaut:程序块;

}

将表达式的值与case比较,哪一个符合就执行哪一个,之后跳出整个分支。如何没有break语句,则会从符合的值的地方一直顺序执行,直到最后。

5、while语句和do…while语句的区别while语句是先测试条件再执行语句,条件不符后终止

do while语句是先执行语句再测试条件,条件不符后终止,所以do while循环至少执行一次

6、for语句的语法结构是什么?分别做出解释。

7、如何定义一维数组?它的初始化有哪些方式?

int a[]; //声明未初始化

a = new int [10]; // 定义占用空间大小(10个int)

int a[] = new int [10]; //声明并定义大小(即分配了指定大小的空间)

int a[] = {1,2,3}; // 声明并初始化,占用空间大小是3个int。

8、与数组有关的操作有哪些?列举出6个常用方法。(附录一)

9、Java语言中如何定义字符串并说明什么是字符串字面量?

Java中定义字符串其实也就是“String类的用法”。

赋值:

String s1 = "fdsfd";

String s2 = new String("fdsdfds");

String s3 = new String(s2);

获取长度

int size = s1.size();

字符串字面量(stringliteral)是指双引号引住的一系列字符,双引号中可以没有字符,可以只有一个字符,也可以有很多个字符。

10、StringBuffer类的特点是什么?如何定义?

四、程序设计题

1、编程实现两个变量的互换。

import java.util.Scanner;

public class VariableExchange {

public static void main(String[] args){

System.out.println("请输入变量A的值");

Scanner scanner=new Scanner(System.in);

long A=scanner.nextLong();

System.out.println("请输入变量B的值");

Scanner scannerB=new Scanner(System.in);

long B=scannerB.nextLong();

System.out.println("A="+A+"\t"+"B="+B);

System.out.println("执行变量互换...");

A=A^B;

B=B^A;

A=A^B;

System.out.println("A="+A+"\t"+"B="+B);

}

}

2、键盘输入20人的成绩(0到100之间),统计输出优秀、良好、中等、及格和不及格人数。

import java.util.Scanner;

public class Chenji {

/**

* @param args

*/

private static String test(double num) {

if (num <= 100 && num > 90) {

return "优秀";

}

if (num <= 90 && num > 80) {

return "优良";

}

if (num <= 80 && num >= 70) {

return "良好";

}

if (num <= 70 && num >= 60) {

return "合格";

}

return "不及格"; }

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc=new Scanner(System.in);

System.out.print("请输入学生成绩:");

double level= sc.nextDouble();

if (level <0||level>100){

System.out.print("输入成绩不合法");

System.exit(1);

}

else{

System.out.print(test(level));

}

}

}

3、分别用while、do…while和for语句实现1~100内所有奇数求和。//do while 循环

do{

if(i%2!=0){

sum = sum + i ;

}

i++ ;

}while(i<=100);

System.out.println("和是:"+sum);

//while 循环

int sum = 0 ;

int i = 1;

while(i<=100){

if(i%2!=0){

sum = sum + i ;

}

i++ ;

}

System.out.println("和是:"+sum);

// for 循环

int sum = 0 ;

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

if(i%2!=0){

sum = sum + i ;

}

i++ ;

}

System.out.println("和是:"+sum);

4、求1到1000内的水仙花数,并打印输出。

public class NarcissusNumber {

public static void main(String[] args) {

for (int n = 100; n < 1000; n++) {

int i = n / 100; //百位数

int j = (n - i * 100) / 10; //十位数

int k = n - i * 100 - j * 10; //个位数

if (n == i * i * i + j * j * j + k * k * k) {

System.out.print(" " + n);

}

}

}

}

153 370 371 407

class test{

public static void main(String []args){

int bai,shi,ge;

System.out.println("您要求的水仙花数为:");

for(int i=100;i<1000;i++)

{

bai=i/100;

shi=(i%100)/10;

ge=i%10;

if(i==Math.pow(bai,3)+Math.pow(shi,3)+Math.pow(ge, 3))

System.out.println(i);

}

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

int hundred, ten, bits;

System.out.println("水仙花数为:");

for (int i = 100; i <= 999; i++)

{

hundred = i / 100;

ten = i % 100 / 10;

bits = i % 10;

if (i == hundred * hundred * hundred + ten * ten * ten + bits * bits * bits)

{

System.out.print(i + " ");

}

}

}

5、定义含有30个元素的数组,并将数组中元素按由大到小顺序排序并输出。

6、编程实现互换一个二维数组的行和列元素。

import java.util.Arrays;

public class A{

public static void main(String[] args){

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

int row = array1.length;

int column = array1[0].length;

int[][] array2 = new int[row][column];

for(int i=0; i

for(int j=0;j

array2[i][j] = array1[j][i];

}

}

for(int i=0;i

System.out.println(Arrays.toString(array2[i]));

}

}

}

7、判断一个给定的字符串是否是回文。回文的含义如下:例如“level”是回文而“levvel”不是。import java.util.*;public class StringBufferDemo {

public static void main(String[] args) {

// TODO Auto-generated method stub

//从键盘上输入一个字符串str

String str="";

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

Scanner in=new Scanner(System.in);

str=in.nextLine();

//根据字符串创建一个字符缓存类对象sb

StringBuffer sb=new StringBuffer(str);

//将字符缓存中的内容倒置

sb.reverse();

//计算出str与sb中对应位置字符相同的个数n

int n=0;

for(int i=0;i

if(str.charAt(i)==sb.charAt(i))

n++;

}

//如果所有字符都相等,即n的值等于str的长度,则str就是回文。

if(n==str.length())

System.out.println(str+"是回文!");

else

System.out.println(str+"不是回文!");

}

}

8、将一段给定英文文章拆分成一个个单词。并输出显示。

class Test12{

public String[] printStr(String str){

//正则表达式,按逗号,句号和空格将字符串分解成字符串数组String[] str1=str.split("[,. ]");

//将数组按字符顺序排序

Arrays.sort(str1);

//去掉字符串中的重复值

String[] str2=new String[str1.length];

int count=0;

for(int i=0;i

boolean flag=true;

for(int j=0;j

if(str1[i].equals(str2[j])){

flag=false;

}

}

if(flag){

str2[count]=str1[i];

count++;

}

}

String[] result=new String[count];

for(int i=0;i

result[i]=str2[i];

}

return result;

}

public static void main(String[] args) {

String str="In my spare time,I like to read novels I read my spare"; System.out.println(Arrays.toString((new Test12().printStr(str))));

}

}

附录一

1. 声明一个数组

Java代码

1.String[] aArray = new String[5];

2.String[] bArray = {"a","b","c", "d", "e"};

3.String[] cArray = new String[]{"a","b","c","d","e"};

2. 输出一个数组

Java代码

1.int[] intArray = { 1, 2, 3, 4, 5 };

2.String intArrayString = Arrays.toString(intArray);

3.

4.// print directly will print reference value

5.System.out.println(intArray);

6.// [I@7150bd4d

7.

8.System.out.println(intArrayString);

9.// [1, 2, 3, 4, 5]

3. 从一个数组创建数组列表

Java代码

1.String[] stringArray = { "a", "b", "c", "d", "e" };

2.ArrayList arrayList = new ArrayList(Arrays.asList(stringArray));

3.System.out.println(arrayList);

4.// [a, b, c, d, e]

4. 检查一个数组是否包含某个值

Java代码

1.String[] stringArray = { "a", "b", "c", "d", "e" };

2.boolean b = Arrays.asList(stringArray).contains("a");

3.System.out.println(b);

4.// true

5. 连接两个数组

Java代码

1.int[] intArray = { 1, 2, 3, 4, 5 };

2.int[] intArray2 = { 6, 7, 8, 9, 10 };

3.// Apache Commons Lang library

4.int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);

6. 声明一个内联数组(Array inline)

Java代码

1.method(new String[]{"a", "b", "c", "d", "e"});

7. 把提供的数组元素放入一个字符串

Java代码

1.// containing the provided list of elements

2.// Apache common lang

3.String j = StringUtils.join(new String[] { "a", "b", "c" }, ", ");

4.System.out.println(j);

5.// a, b, c

8. 将一个数组列表转换为数组

Java代码

1.String[] stringArray = { "a", "b", "c", "d", "e" };

2.ArrayList arrayList = new ArrayList(Arrays.asList(stringArray));

3.String[] stringArr = new String[arrayList.size()];

4.arrayList.toArray(stringArr);

5.for (String s : stringArr)

6. System.out.println(s);

9. 将一个数组转换为集(set)

Java代码

1.Set set = new HashSet(Arrays.asList(stringArray));

2.System.out.println(set);

3.//[d, e, b, c, a]

10. 逆向一个数组

Java代码

1.int[] intArray = { 1, 2, 3, 4, 5 };

2.ArrayUtils.reverse(intArray);

3.System.out.println(Arrays.toString(intArray));

4.//[5, 4, 3, 2, 1]

11. 移除数组中的元素

Java代码

1.int[] intArray = { 1, 2, 3, 4, 5 };

2.int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array

3.System.out.println(Arrays.toString(removed));

12. 将整数转换为字节数组

Java代码

1.byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();

2.

3.for (byte t : bytes) {

4. System.out.format("0x%x ", t);

5.}

JAVA测试题(三套含答案)

1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4. 编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; "The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F C. _whatavariable D. _3_

6.内部数据类型byte的取值范围是B - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: "zero"); break; case 1: "one"); case 2: "two"); default: "default"); } B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default: "default"); case 0:

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

java考试试卷及答案

JAVA考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) 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 = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

Java程序设计试题及答案

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 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[]) 3、关于下面代码的说法(C)是正确的 public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=; B、Double a=new Double C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

java考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

Java试题及答案

1、在中如果声明一个类为,表示什么意思? 答:是最终的意思,可用于定义变量、方法和类但含义不同,声明为的类不能被继承。 2、父类的构造方法是否可以被子类覆盖(重写)? 答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。 3、请讲述和的区别。 答:类所定义的对象是用于存放“长度固定”的字符串。 类所定义的对象是用于存放“长度可变动”的字符串。

4、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写这个C类呢? 答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、B的功能。 5、结合视频5(多线程),分析()和()方法的区别。 答:睡眠的意思 : () 方法用来暂时中止执行的线程。在睡眠后,线程将进入就绪状态。 等待的意思: 如果调用了 () 方法,线程将处于等待状态。 用于在两个或多个线程并发运行时。 6、谈谈你对抽象类和接口的理解。 答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。 他使用来继承。 接口:一个接口允许一个类从几个接口继承而来,程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是来实现。 7. 的接口和的虚类的相同和不同处。 由于不支持多继承,而有可能某个类或对象要使用分别在几

个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是,所有方法默认情况下是.一个类可以实现多个接口。 8. 垃圾回收的优点和原理。并考虑2种回收机制。 语言中一个显著的特点就是引入了垃圾回收机制,使程序员最头疼的内存管理的问题迎刃而解,它使得程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 9.谈谈,,的区别。 -修饰符(关键字)如果一个类被声明为,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为的,又被声明为的。将变量或方法声明为,可以保证它们在使用中不被改变。被声明为的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为的方法也同样只

JAVA试题及答案(精致)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D )

A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C )

JAVA试题及答案(精致),DOC

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2EE B、JAVA2Card C、JAVA2ME D、J AVA2HE E、J AVA2SE 2、下列说法正确的就是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起 来 3、变量命名规范说法正确的就是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A与a在java中就是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的就是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/

C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean=1; B、booleana=(9>=10); C、booleana="真"; D、b ooleana==false; 6、以下( C )不就是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值就是( D ) A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual=str、equals("q"); D、c ount==i;

9、运算符优先级别排序正确的就是(A ) A、由高向低分别就是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别就是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别就是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别就是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果就是:( B ) publicclassIncrement{ publicstaticvoidmain(Stringargs[]){ inta; a=6; } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john"=="john" B、"john"、equals("john") C、"john"="john" D、"john"、equals(newString("john")) 12、下列输出结果就是( C ) inta=0; while(a<5){

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符(C) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(B) A.intx[]={1,2,3};B.intx[3]={1,2,3}; C.int[]x={1,2,3};D.intx[]=newint[]{1,2,3}; 3、下述概念中不属于面向对象方法的是(D)。 A.对象、消息??B.继承、多态??? C.类、封装????D.过程调用 4、下面的代码段中,执行之后i和j的值是什么?(B) inti=1; intj; j=i++*2+3*--i; A.1,2B.1,5C.2,1D.2,2 5、下面哪条语句把方法声明为抽象的公共方法?(B) A.publicabstractmethod(); B.publicabstractvoidmethod(); C.publicabstractvoidmethod(){} D.publicvoidmethod()extendsabstract; 6、下面关于java中类的说法哪个是不正确的?(C) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(C)classA { inti; staticStrings; voidmethod1(){}

staticvoidmethod2(){} } A、; B、a.method1(); C、A.method1(); D、A.method2() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改 变?(B) A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的?(C) A.滑块 B.进度条 C.按钮 D.标签 10、在Java中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法: (B) A.mid(2,s);B.charAt(2);C.s.indexOf(‘V’);D.indexOf(s,’V’); 11、Java中哪个类提供了随机访问文件的功能。(A) A.RandomAccessFile类 B.RandomFile类 C.File类 D.AccessFile类 12、下面哪个方法是类的成员方法,用来获取Socket的输入流。(C) A.getChannel()B.getConnetion() C.getInputStream()D.getStream() 13、给出下面代码: publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 哪个语句是正确的?(B) A.编译时将产生错误; B.输出零; C.编译时正确,运行时将产生错误; D.输出空。 14、A派生出子类B?,B派生出子类C,并且在Java源代码中有如下声明: 1)?Aa0=newA(); 2)?A?a1=newB(); 3)???Aa2=newC();

相关文档