Java基础测试题
一、选择题(每题2分)
1、在JA V A编程中,Java编译器会将java程序转换为()。
A. 字节码;
B. 可执行代码;
C. 机器代码;
D. 以上所有选项都不正确。
2、下列那些不是合法的标识符?()
A. Tel_num
B. 8ABc
C. Emp_1
D. b123.6
E. NULL
F. Hello World
3、以下字符常量中不合法的是( )。
A. '|'
B. '\''
C."\n"
D.'我'
4、下列语句编译没有错误的是:()
A. float a=1.5;
B.byte a=129;
C.byte a=5;
D.byte a=(byte)200;
5、java中int数据类型在内存中表示为()
A. 2个字节
B.4个字节
C. 由程序员指定
D. 以上都不正确
6、下列程序段执行后t5的结果是( )。
int t1 = 9, t2 = 11, t3=8;
int t4,t5;
t4 = t1 > t2 ? t1 : t2+ t1;
t5 = t4 > t3 ? t4 : t3;
A. 8
B.20
C.11
D.9
7、若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。
A. 0
B. 4
C. 8
D.–4
8、设a, b, c, d 均为int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( )
A. a!=b & c%d < a
B.a++ = =a+b+c+d
C.++a*b--+d
D.a+b>=c+d
9、以下代码段执行后的输出结果为()
int x=3;int y=10;
System.out.println(y%x);
A.0
B.1
C.2
D.3
10、下列语句序列执行后,k 的值是( )。
int i=10, j=18, k=30;
switch( j - i )
{ case 8 : k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A. 31
B. 32
C. 2
D.33
11、假定有变量定义: int k=7,x=12; 则能使值为3的表达式是()。
A. x%=(k%=5)
B.x%=(k-k%5)
C. x%=k-k%5
D. (x%=k)-(k%=5)
12、设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()。
A. 把x和y按从大到小排列
B. 把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
13、若有定义int a=1,b=2; 表达式(a++)+(++b) 的值是()。
A. 3
B. 4
C. 5
D. 6
14、若有定义int a=9,b=6; a> b的值是()。
A. 0
B. 1
C. false
D. true
15、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是:()
A.3
B.3.5
C.4
D.5
16、设有定义float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。
A.x > y || x > z
B. x != y
C. z > ( y + x )
D. x < y & ! ( x < z )
17、设有定义int i = 6 ;,则执行以下语句后,i 的值为( )。
i += i - 1;
A.10
B.121
C.11
D.100
18、设有定义int i=123; long j=456; 下面赋值不正确的语句是( )。
A.j=i;
B. j=(long)i;
C.i=(int)j;
D.i=j;
19、设int 型变量a、b,float 型变量x、y,char 型变量ch 均已正确定义并赋值,
正确的switch语句是( )。
A. switch (x + y)
B. switch ( ch + 1 )
{ ...... } { ...... }
C. switch ch
D.switch ( a + b );
{ ...... } { ...... }
20、执行如下程序代码后,C的值是()
a=0;c=0;
do{
--c;
a=a-1;
}while(a>0);
A. 0
B. 1
C. -1
D. 死循环
21、以下由for 语句构成的循环执行的次数是( )。
for ( int i = 0; true ; i++) ;
A.有语法错,不能执行
B.无限次
C.执行1次
D. 一次也不执行
22、分析下列代码行:( )
if(5 && 7>0 && 5<2)
System.out.println(“true”);
A.此行代码不会编译
B.会编译,但不会有任何输出
C.可以编译,输出”true”
D.以上都不正确
23、在循环中break 和continue语句的说法,正确的是()
A.break 中断循环的的本次执行,接着执行下一次循环
B.continue 中断循环的的本次执行,接着执行下一次循环
C.break 中断整个循环语句的执行,转去执行循环体外的内容
D.continue中断整个循环语句的执行,转去执行循环体外的内容
24、哪些是将一个十六进制值赋值给一个long型变量()
A. long number = 345L;
B. long number = 0345;
C. long number = 0345L;
D. long number = 0x345L
25、给出下面的代码:
if (x>0) { System.out.println("first"); }
else if (x>-3) { System.out.println("second"); }
else { System.out.println("third"); }
x的取值在什么范围内时将打印字符串"second"?()
A. x > 0
B. x > -3
C. x <= -3
D. x <= 0 & x > -3
26、以下程序的输出结果是()。
A. -1 1
B. 0 1
C. 0 0
D. 1 0
public class aaa {
static public void main(String args[] ){
int a=-1,b=1,k;
if((++a <0)&&!(b-- <=0))
System.out.println(a+" "+b);
else
System.out.println(b+" "+a);
}
}
27、下列语句序列执行后,k 的值是( )。
int m=3, n=6, k=0;
while( (m++) < ( -- n) ) ++k;
A.0
B.1
C.2
D.3
28、下列语句序列执行后,i 的值是( )。
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A.15
B.16
C.7
D.8
29、下列语句序列执行后,i的值是( )。
int i=16;
do { i/=2; } while( i > 3 );
A.16
B.8
C.4
D.2
30、面程序的输出结果是什么?()
class Happy {
public static void main(String args[]) {
int i =1;
int j = 10;
do {
if ( i++ < j--)
continue;
} while ( i <5 );
System.out.println ( i+" "+j );
}
}
A.5 5
B. 5 4
C. 6 4
D.5 6
二、编程题
1、输入一个三位正整数,然后将它逆序输出.
2、设计一个电话计费程序.某市公用电话收费标准如下:通话时间在3分钟以下,收费0.20
元;3分钟以上,每超过1分钟收费0.10元;在7 : 00 - 19 : 00 之间通话,按上述收费标准全价收费;其它时间按标准收费的半价收费.试计算某人在T 时间通话S 分钟应交纳的电话费.
3、计算s=2!+4!+6!+ (10)
4、编程求个位数是3的可以被3整除的三位数的个数,并输出这些三位数。