《Java编程基础知识点汇总及习题集》--答案 下载本文

12. 表达式1%5的结果是( 1 )。

13. 设有“int a = 2; double d=2.0;”,下列每个表达式都是独立的,填写表达式的执行结果。

(1) a=46/9; ( 5 ) (2) a=46%9+4*4-2;( 15 )

(3) a=45+43%5*23*3%2;( 46 ) (4) a%=3/a+3; ( 2 ) (5) d=4+d*d+4; ( 12.0 )

(6) d+=1.5*3+(++a); ( 9.5 ) (7) d-=1.5*3+(++a); ( -5.5 )

14. 下列语句输出的结果是( 30+20=3020 )。

System.out.println(“30+20=”+30+20);

15. 执行以下三条语句后,a=( 3 ),b=( 1 ),c=( 3 )。

int a =1; int b =a++ ; int c=++a;

16. 以下语句输出( He said ”Java is fun.” )。

System.out.println(“He said\\”Java is fun.\\””); 17. 已知:int a =8,b=6; 则:表达式++a-b++的值为( 3 )。

18. 已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为( false )。 19. 已知:double x=8.5,y=5.8; 则:表达式x++>y--值为( true )。 20. 执行int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是(x=10,a=3,b=4,c=5)。 21. Java中的显式类型转换是(从低类型向高类型转换),从高类型向低类型转换是(隐式类型转

换 )。

22. 执行下列程序代码的输出结果是(i=11 j=11 a=10)。

int a = 10; int i, j; i = ++a; j = a--;

23. 执行完boolean x=false; boolean y=true; boolean z=(x&&y)&&(!y) ; int f=z==false?1:2;

这段代码后,z与f的值分别是( false )和( 1 )。

24. 对于在程序运行过程中一直不变的值,可以声明成( 常量 )确保它的值不会被修改,在声明

时使用( final ),还必须( 赋初值 )。

25. 在声明类中,方法之内的变量就叫做(局部 )变量。

26. 数据类型转换时,两种数据类型( 兼容 )并且( 目标 )类型大于( 源)类型,则可以

自动类型转换。

27. 字面量都有默认类型,整型字面量的默认类型为(int ),浮点型字面量的默认类型是( double)。 28. long类型字面量末尾字母是( L ),float类型字面量末尾字母是( F ),double的是( D )。

二、 选择题

1. 以下选项中,哪些属于合法的标识符?(多选)(AD )

A、Hello_World B. class C.123username D.username123 2. 下列哪些是合法的标识符(多选)( ABCD )

A、applet B、Applet C、$4 D、$$44 3. 下列哪个不是Java的关键字( D )

A、else B、public C、int D、radius 4. byte类型数据中最大的数据为( A )

A、127 B、128 C、255 D、256 5. short类型数据中最大数据为( C )

A、65535 B、65536 C、32767 D、32768

6. 表达式25/4的结果是( B )

A、6.25 B、6 C、6.0 D、以上都不对 7. 以下关于变量的说法错误的是?( C )

A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问

D、在程序中,可以将一个byte类型赋值给一个int类型的变量,不需要特殊声明 8. 下面的运算符中,用于执行除法运算的是哪个?( A )

A、/ B、\\ C、% D、*

9. double类型的数据占用( B )字节。

A、4 B、8 C、1 D、2 10. ”float f=15.6F; int i=(int)f; System.out.println(“f=”+f);”执行后的结果是( A )。

A、f=15.6 B、f=15 C、f=15.0 D、以上都不对 11. 下列语句正确的是( A )。

A、boolean b=true; B、double x=2.5f; C、char c=A D、float y=0.8d 12. Java程序中,计算表达式”-1-3*10/5-1”后的结果是( A )。

A、-8 B、-6 C、7 D、8

13. 下面( D )赋值语句不会出现编译警告或错误。

A、float f=1.3 B、char c=a C、byte b=257 D、int i=10 14. 下列标识符(名字)命名原则中,正确的是( C )。

A.类名的首字母小写 B.接口名的首字母小写

C.常量全部大写 D.变量名和方法名的首字母大写 15. 下面哪种注释方法能够支持javadoc命令?( C )

A.// B./*...*/ C./**...*/ D./**...**/ 16. 下面哪些标识符在Java语言中是合法的?( AB )

A.persons$ B.TwoUsers C.*point D.instanceof F.end-line 17. 下列( D )是合法标识符。

A.2end B.-hello C.=AB D.整型变量

18. 若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。

A.变量f1,f2均被初始化为8.0 B.变量f1没有被初始化,f2被初始化为8.0 C.变量f1,f2均未被初始化 D.变量f2没有被初始化,f1被初始化为8.0 19. 基本数据类型short的取值范围是( B )。

A.(-256)~ 255 B.(-32 768)~ 32 767 C.(-128)~ 127 D.0~65 535 20. 下列( B )是不能通过编译的语句。

A.double d = 545.0; B.char a1 = “c”; C.int i = 321; D.float f1 =45.0f; 21. 若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。

A.char B.short C.int D.byte 22. 下列代表十六进制整数的是( C )。

A.012345 B.2008 C.0xfa08 D.fb05 23. 哪些是合法的标识符(多选)( AEFHIJ )。

A、Name B、2hello C、class D、a-public E、Sex

F、MIN_VALUE G、age# H、_id I、getName j、$main 24. 下列选项中为byte类型的取值范围的是( C )。

A、1~255 B、0~65535 C、-128~127 D、-32768~32767 25. 下列选项中,Java语句错误的是( C )。

A、double a=3.5 B、char a=322 C、flat a=1.0 D、double a=1 26. 下列选项中,合法的字符类型是( B )。

A、’ab’ B、’b’ C、”123” D、”\?” 27. String c=1+2+”6”+5;如果输出c,那么c的值是( C )。 A、1265 B、14 C、365 D、语法错误

28. 下列选项中,赋值语句不会出现编译错误的是( C )。

A、float a=2.0 B、char c=”a” C、byte b=25 D、boolean d=1 29. 下列选项中,赋值语句产生编译错误的是( AB )。

A、char a=’abc’ B、byte b=1234 C、long c=0x123 D、double d=1e-3f 30. 下列哪项不属于Java语言的基本数据类型?( B )

A.int B.String C.double D.boolean 31. 下列哪项不是int类型的字面量?( A )

A.\Φ B.077 C.OxABBC D.20 32. 下列哪项不是有效的标识符?( B )

A.userName B.2test C.$change D._password 33. 下列哪项是Java语言中所规定的注释样式?(多选)( ACD )

A.//单行注释 B.--单行注释 C. /* D. /**

*单行或多行注释 *文档注释 */ */ 34. 下列哪项不是Java语言的关键字?( B )

A.goto B.sizeof C.instanceof D.volatile35. 现有如下五个声明:

Linel: int a_really_really_really_long_variable_name=5 ; Line2: int _hi=6;

Line3: int big=Integer. getlnteger(\ Line4:int $dollars=8; line5: int %opercent=9; 哪行无法通过编译?( D )

A.Line1 B.Line3 C. Line4 D. Line5 36. 现有:

1. class Top {

2. static int x=l;

3. public Top (int y) { x*=3; } 4. }

5. class Middle extends Top { 6. public Middle() {x+=1; }

7. public static void main (String [] args) { 8. Middle m = new Middle(); 9. System. out .println (x); 1O. } 11. }

结果为( D )

A.1 B. 2 C.3 D.编译失败 37. 现有:

1. class Passer {

2. static final int X=5;

3. public static void main (String [] args) { 4. new Passer().go (x); 5. System. out .print (x); 6, }

7. void go (int x) {

8. System. out .print(x++); 9. } 10. }

结果是什么?( A )

A.55 B.56 C.65 D.66

38. 现有:

1. class Wrench {

2. public static void main(String [] args) {

3. Wrench w=new Wrench(); Wrench w2=new Wrench(); 4. w2=go (w, w2);

5. System.out.print (w2==w); 6. }

7. static Wrench go (Wrench wrl, Wrench wr2) { 8. Wrench wr3=wrl; wrl=wr2; wr2=wr3; 9. return wr3; 10. } 11. }

结果是什么?( B )

A. false B.true C.编译失败 D.运行的时候有异常抛出 39. 现有:

1. class Wrench2 { 2. int size;

3. public static void main(String [] args) { 4. Wrench2 w=new Wrench2(); 5. w.size=II;

6. Wrench2 w2=go(w, w.size);

7. System. out .print (w2. size); 8. }

9. static Wrench2 go(Wrench2 wr. int s) { 10. S=12;

11. return wr; 12. } 13. }

结果为( A )

A. 11 B. 12 c.编译失败。 D.运行时异常被抛出 40. 现有:

class Test2 f

public static void main (String [] args) { short a,b,C; a=l; b=2; C=a+b; a+=2: } }

以上代码中,哪一句是错误的?( B )

A.a=1: B.C=a+b; C. a+=2; D. short a,b,C; 41. 表达式:1-2/5+2*5的结果是哪项?( D )

A. 10.6 B. 9.8 C. 9 D.11