职友集java面试题_一套Java测试题 带答案

2012-12-24 20:30:19

阅读( 0 )

试题1

指出下面语句没有编译错误的是( )。

A. long n = 999999999999;

B.int n = 999999999999L;

C. long n = 999999999999L;

D. double n = 999999999999;

试题2

完成代码计算10的阶乘并输出,应该填入的代码是(  )

long result = 1;

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

}

System.out.println(“result= ” + result);

… … …

A. result = result * i;

B. result = i*i;

C. result = i*(i+1);

D. reslut = i*(i-1);

试题3

下列关于数组的声明错误的是

A.int[] arry = new int[100];

B. int[3] arry = {1,2,3}

C. int[] arry = new int[]{1,2,3}

D. int[][] arry = new int[3][]

试题4

实现对数组arry的冒泡排序,应填入的代码是

public static void bubbleSort(int[] arry) {

int len = arry.length;

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

boolean asc = true;

if (asc)  return;

}

}

private static void swap(int[] arry, int i, int j) {

int temp = arry[i];

arry[i] = arry[j];

arry[j] = temp;

}

A.

for (int j = len-1; j > i; j–) {

if (arry[j] < arry[j - 1]) {

swap(arry, j, j – 1);

asc = false;

}

}

B.

for (int j = len – 1; j >= i; j–) {

if (arry[j] < arry[j - 1]) {

swap(arry, j, j – 1);

asc = false;

}

}

C.

for (int j = len – 1; j >= i; j–) {

if (arry[j] > arry[j - 1]) {

swap(arry, j, j – 1);

asc = false;

}

}

D.

for (int j = len – 1; j >= i; j–) {

if (arry[j] < arry[j - 1]) {

swap(arry, j, j – 1);

asc = true;

}

}

试题5

数列1,1,2,3,5,…(从第三项开始每一项是前两项之和)

下面的代码用于求第100项的值,应填入的代码是

int n = 100; //项目数

long n1 = 1, n2 = 1;

for (int i = 3; i <= n; i++) {

}

System.out.println(n2);

A. n2 = n1 + n2;

B. n2 = n1 + n2; n1 = n2;

C. n2 = n1 – n2; n1 = n2 – n1;

D. n2 = n1 + n2; n1 = n2 – n1;

试题6

语句System.out.println(1+2+”java”+3+4)输出的结果是( C )。

A. 3java34

B. 12java34

C. 3java7

D. 12java7

试题7

下面程序的输出结果是:C

public static void main(String[] args) {

int d = 325;

int sum = 0;

while (d > 0) {

int n = d % 10;

sum += n;

d /= 10;

}

System.out.println(sum);

}

A. 10

B. 12

C. 5

D. 32

试题8

下面的程序没有编译错误的是:

A.

public class Main{

public static void main(String[] args) {

byte b1 = 1;

byte b2 = 2;

byte b = b1+b2;

}

}

B.

public class Main{

public static void main(String[] args) {

int n;

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

n +=i;

}

}

}

C.

public class Main{

public static void main(String[] args) {

int n = 100;

for(;;)  {

}

System.out.println(n);

}

}

D.

public class Main{

public static void main(String[] args) {

int n = 100;

while(n>0);

System.out.println(n);

}

}

试题9  D

Java语言中int类型标示整数的最大范围是

A. -2147483647 ~ 2147483647

B. -2147483648 ~ 2147483647

C. -32767~32767

D. -32768~32767

试题10   A

Java语言中字符串“学Java”所占的内存空间是

A. 6个字节

B. 7个字节

C. 10个字节

D. 11个字节

试题11

下面的代码使用二分法在有序的int类型数组arry查找元素key,如果找到输出元素在数组中的下标

否则输出-1,应该填入的代码是:

public static void main(String[] args) {

int key = 16;

int[] arry = { 1, 3, 5, 7, 8, 10, 12, 15, 16 };

int low = 0;

int high = arry.length – 1;

while (low <= high) {

else {

System.out.println(mid);

return;

}

}

System.out.println(-1);

}

A.

int mid = (low + high) >>> 1;

if (arry[mid] > key)

low = mid + 1;

else if (arry[mid] < key)

high = mid – 1;

B.

int mid = (low + high) >>> 1;

if (arry[mid] < key)

low = mid;

else if (arry[mid] > key)

high = mid – 1;

C.

int mid = (low + high) >>> 1;

if (arry[mid] < key)

low = mid + 1;

else if (arry[mid] > key)

high = mid;

D.

int mid = (low + high) >>> 1;

if (arry[mid] < key)

low = mid + 1;

else if (arry[mid] > key)

high = mid – 1;

试题12

下面的代码试图从26个小写字母中随机抽取5个不重复的字母,并输出到控制台。

其中random(int n)方法用于返回大于等于0且小于n的随机整数。应填入的代码是:

public static void main(String[] args) {

int num = 10;

char[] ch = { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’, ‘j’, ‘k’,

‘l’, ‘m’, ‘n’, ‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’,

‘x’, ‘y’, ‘z’ };

int len = ch.length;

char[] result = new char[num]; // 用于存放抽取结果

boolean[] flags = new boolean[len];

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

System.out.print(result[i]+” “);

}

}

public static int random(int n) {

Random r = new Random();

return r.nextInt(n);

}

A.

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

int r;

do {

r = random(len);

} while (!flags[r]);

result[i] = ch[r];

flags[i] = false;

}

B.

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

int r;

do {

r = random(len);

} while (!flags[r]);

result[i] = ch[r];

flags[r] = true;

}

C.

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

int r;

do {

r = random(len);

} while (flags[r]);

result[i] = ch[r];

flags[r] = true;

}

D.

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

int r;

do {

r = random(len);

} while (!flags[r]);

result[i] = ch[r];

flags[r] = true;

}

试题13

对JDK描述错误的是  C

A. 运行Java程序只要有JRE环境就可以,不一定需要全部JDK的功能

B. JDK中包括JVM、核心类库、Java开发工具(java,javac)等

C. JDK本身也是平台无关的,不同的操作系统安装的JDK是一样的

D. JDK的全称是 Java Development Kit

试题14

对CLASSPATH描述正确的是   D

A. 设置CLASSPATH用于指示操作系统找到JDK命令,如java或javac

B. CLASSPATH设置不对,可能会导致java命令失败,但不会导致javac失败

C. CLASSPATH的设置中可以包含目录路径但不可以包含文件路径

D. java命令可以通过 -cp 参数指定类路径

试题15

下面代码的输出结果是  b

public class Main {

public static void main(String[] args) {

int n1 = 1;

int n2 = 2;

n1 = n1 + n2;  3

n2 = n1 – n2;   1

n1 = n1 – n2;   2

System.out.println(n1 + “,” + n2);

}

}

A. 1,2

B. 2,1

C.1,3

D. 3,2

试题16

下面代码的输出结果是 C

public class Main {

public static void main(String[] args) {

int n = 100;

int m = 200;

System.out.println(f(n,m));

System.out.println(n);

}

public static int f(int m, int n) {

n = m+n;

return n;

}

}

A. 300

300

B.

100

100

C.

300

100

D.

100

300

试题17

下面关于Java语言中方法的说法错误的是  :D

A. 方法调用时参数类型必须符合方法的定义

B. 参数传递是值传递的方式

C. 如果方法没有返回值必须声明返回为void

D. 如果方法定义为返回void,则方法中不能出现return语句

试题18

下面不属于Java语言特点的是:C

A. 平台无关

B. 面向对象

C. 支持指针类型

D. 垃圾回收机制

试题19

下面代码的输出结果是  B

double money = 3.0;

money -= 2.9;

System.out.println(money==0.1);

A. 0.1

B. 0.10000000000000009

C. 0.099

D. 0

试题20

关于数组的说法正确的是  D

A. 数组类型属于基本类型

B. 数组创建后,其的长度可以改变

C. int[]类型的变量可以直接赋值给long[]类型的变量

D. 数组的长度必须在创建是指定

分享给朋友:

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息:

面试题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值