日期:2014-05-20  浏览次数:20869 次

Java面试——数据类型及类型转换

1.int和Integer有什么区别?


?

2.下面选项中是将一个十六进制值赋值给一个long型变量,哪些是正确的?D

A. long number = 123L;

B. long lg = 0123;

C. long lg = 0123L;

D. long lg = 0x123L;

?

3.在“// value”处哪些声明是合法的?DE

public class Student
{
	private int age;
	
	public int name(int m)
	{
		return m;
	}
}

public class Boy extends Student
{
	public int store;
	
	public static void main(String[] args)
	{
		Student s = new Student();
		Boy b = new Boy();
		int i;
		// value
	}
}

A. i = m;

B. i = store;

C. i = s.age;

D. i = b.store;

E. i = s.name(30);


?

4.下面的选项可以表示八进制值,请选择哪些是正确的?B

A. 08

B. 062

C. 0x7

D. 0x10

?

5.下面选项中有哪些是Java的原始数据类型?BC

A.math

B.char

C.float

D.Boolean

E.String

?

6.下面的选项中属于int的取值范围是哪个?D

?

7.根据下面的代码,哪个叙述是正确的?A

public class IntArray
{
	static int ary[] = new int[10];
	
	public static void main(String[] args)
	{
		System.out.println(ary[1]);
	}
}

A.输出为0

B.没有结果输出

C.编译时将发生错误

D.编译时正确但是运行时出错

?

8.下面的哪些选项可以正确表示一个10的十六进制值?A

A.0xA

B.0x16

C.0A

D.016

?

9.判断表达式的正误

short s1 = 1; s1 = s1 + 1; 有什么错?

short s1 = 1; s1 += 1; 有什么错?


?

10.下面选项中表示的是对float型变量的声明,请选择哪些是正确的?ACF

A.float fa = -586;

B.float fb = 3.1415;

C.float fc = 0xA4E;

D.float fd = 42e1.2L;

E.float fe = 52.08D;

F.float ff = 5.88F;


?

11.下面的哪些赋值语句是正确的?BCD

A.float f = 11.1;

B.double d = 5.3E12;

C.double d = 3.14159;

D.double d = 3.14D;

?

12.下面的哪些声明是合法的?ADE

A.long l = 12345;

B.int i = 5.6L;

C.float f = 12.56;

D.double d = 3.14;

E.double d = 45.9F;

?

13.char型数据的取值范围是多少?D

A.-128~127

B.0~32767

C.由平台决定

D.0~65535


?

?

14.根据给出的代码,选择正确的答案。C


?

15.char型变量中能不能存储一个汉字?为什么?


?

16.下面选项对boolean型变量的声明,请选择哪些选项是正确的?AD

A.boolean b1;

B.boolean b2 = 1;

C.boolean b3 = 'true;

D.boolean b4 = false;

E.boolean b5 = Boolean.false();

?

17.变量“result”是一个boolean型的值,下面的哪些表达式是合法的?AB

A.result = true;

B.if (result) {// do something...}

C.if (result != 0) {// do something...}

D.result = 1

?

18.下列哪些选项是合法的?

A.int w = (int)888.8;

B.byte x = (byte)1000L;

C.long y = (byte)100;

D.byte z = (byte)100L;


?

19.表达式10.4+“4.2”的结果是什么?D

A.返回double类型14.6

B.返回String类型"14.6"

C.返回long类型14

D.返回String类型"10.44.2"

?

20.运行下面的代码,正确的结果是哪一个?A

public class Test
{
	public static void main(String[] args)
	{
		int x = 1;
		Test test = new Test();
		System.out.println(" x1 = " + x);
		test.setValue(x);
		System.out.println(" x3 = " + x);
	}
	
	public void setValue(int x)
	{
		x = x + 1;
		System.out.println(" x2 = " + x);
	}
}

A.x1=1 x2=2 x3=1

B.x1=1 x2=0 x3=2

C.x1=1 x2=1 x3=1

D.不能编译

?

21.在下面程序标明的位置处插入哪条语句会导致编译错误?AF

public class FinalUse
{
	public static void main(String[] args)
	{
		int x = 0;
		final int y = 1;
		int[] z = {2};
		final int[] n = {3};
		use(x, y, z, n);
	}
	
	static void use(final int x, int y, final int[] z, int[] n)
	{
		// 插入内容
	}
}

A.x++

B.y++

C.y = x;

D.z[0]++;

E.n[0]++;

F.z=n


?

?

?

?