而隐式类型转换只有前者。
7.在Java中,字符串和数组是作为(对象)出现的。
8.执行下列程序代码的输出结果是( 10,11,11 )。
int a = 10; int i, j; i = ++a; j = a--;
System.out.printf("%d,%d,%d"
, a, i, j);
9.执行完boolean x=false; boolean y=true; boolean z=(x&;&;y)&;&;(!y) ; int f=z==false?1:2;
这段代码后,z与f的值分别是( false )和( 1 )。
二、选择题
1.下面哪些标识符在Java语言中是合法的?( AB )
A.persons$ B.TwoUsers C.*point D.instanceof F.end-line
2.下列( D )是合法标识符。
A.2end B.-hello C.=AB D.整型变量
3.已知int i = 2 147 483 647; ++i; 则i的值等于( A )。
A.- 2 147 483 648 B.2 147 483 647 C.2 147 483 648 D.-1
4.若x = 5,y = 8,则表达式x|y的值为( B )。
A.3 B.13 C.0 D.5
5.若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。
A.变量f1,f2均被初始化为8.0 B.变量f1没有被初始化,f2被初始化为8.0
C.变量f1,f2均未被初始化 D.变量f2没有被初始化,f1被初始化为8.0
6.基本数据类型short的取值范围是( B )。
A.(-256)~ 255 B.(-32 768)~ 32 767 C.(-128)~ 127 D.0~65 535
7.下列( B )是不能通过编译的语句。
A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =45.0f;
8.若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。
A.char B.short C.int D.byte
9.下列循环语句的循环次数是( B )。
int i=5;
do { System.out.println(i--);
i--;
}while(i!=0);
A.5 B.无限 C.0 D.1
10.下列代码哪几行会出错?( C )
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while (I > 0) {
5) j = I * 2;
6) System.out.println(" The value of j is " + j);
7) k = k + 1;
8) I--;
9) }
10 }
A.line 4 B.line 6 C.line 7 D.line 8
11.下列关于数组的定义形式,哪些是错误的?( ABC )
A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ];
C.int[ ]a; a=new int; D.char b[ ]; b=new char[80];
12.执行String[] s=new String[10];语句后,哪些结论是正确的?( BC )
A.s[0] 为 未定义 B.s.length 为10
C.s[9] 为 null D.s[10] 为 ""
13.下列关于Java语言的数组描述中,错误的是( D )。
A.数组的长度通
常用length表示 B.数组下标从0开始
C.数组元素是按顺序存放在内存的 D.数组在赋初值和赋值时都不判界
14.下面的表达式哪些是正确的? ( ACE )
A.String s="你好";int i=3; s+=i;
B.String s="你好";int i=3; if(i==s){ s+=i};
C.String s="你好";int i=3; s=i+s;
D.String s="你好";int i=3; s=i+;
E. String s=null; int i=(s!=null)&;&;(s.length()>0)?s.length():0;
15.下列代表十六进制整数的是( C )。
A.012345
B.2008 C.0xfa08 D.fb05
16.在switch(expression)语句中,expression的数据型不能是( C )。
A.char B.short C.double D.byte
◆◆◆ 17.下列说法正确的是( ABC )。
A.表达式“1+2>3”的值是false B.表达式“1+2||3”是非法的表达式
C.表达式“i+j=1”是非法的表达式 D.表达式“1+2>3”的值是true
18.指出正确的表达式( B )。
A.byte=128; B.long l=0xfffL; C.Boolean=null; D.double=0.9239d;
19.public class T18 {
static int arr[] = new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}
哪个语句是正确的?( C )
A.编译时将产生错误 B.编译时正确,运行时将产生错误
C.输出零 D.输出空
◆◆◆ 20.若String s = "hello"; String t = "hello"; char c[] = {'h','e','l','l','o'} ; 则下列哪些表达式返回true?( ABD )
A.s.equals(t); B.t.equals(new String("hello"));
C.t.equals(c); D.s==t;
21.执行下面的代码段:
switch(m){ case 0: System.out.println("case 0");
case 1: System.out.println("case 1"); break;
case 2:
default: System.out.println("default");
}
下列m的哪些值将引起"default"的输出?( CD )
A.0 B.1 C.2 D.3
22.下列关于“<<”和“>>”的运算,哪些是正确的?( AC )
A.0000 0100 0000 0000 0000 0000 0000 0000<<5 的运行结果是
1000 0000 0000 0000 0000 000