java笔试训练题一

更新时间:2024-04-01 05:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

java训练题

一、单选题

1.下列选项中,哪一项不属于Java语言的简单数据类型( B )

A. 整数型 B. 数组 C. 字符型 D. 浮点型

2.如果在编译Java程序时,编译结果报告说找不到编译的代码,通常的错误不是如下的哪一项?( A )

A. 没有import相应的包 B. 文件名拼写错误

C. 未加.java后缀 D. 源文件不在当前目录下

3.以下的选项中能正确表示Java语言中的一个整型常量的是( B ) A. 435. B. –34 C. 34,000 D. 4 5 6

4.现在一个变量为boolean b1; ,下面赋值语句中正确的是( A )

A. b1=true; B. b1=True; C. b1=“true”; D. b1=0;

5.现在2个char类型的变量a1=‘a’,a2=2;,当执行a1=(char)(a1+a2);语句之后,a1的值应该是( B)

A. ‘a’ B. ‘c’ C. 12 D. 语句在编译时出错

6.下列哪一个是表达式1+2+“aa”+3的值是( B )

A. “12aa3” B. “3aa3” C. “12aa” D. “aa3”

7.执行以下列程序段之后,变量n的值为(A ) public class Test7{

public static void main(String[] args) { int y=2, z=3, n=4; n=n+-y*z/n;

System.out.println(n); } }

A. 3 B. –1 C. –12 D. –3

8.执行下列代码段之后,变量z的值为(D ) public class Test8{

public static void main(String[] args)

{ int x=2, y=3, z=4; z-=--y-x--;

System.out.println(z); }}

A. 1 B. 2 C. 3 D. 4

9.对下列表达式值的判断正确的一个是( C )

A. 23<43的值为false B. 18>=19的值为true C. 12<=12的值为true D. 66!=22的值为false

10.下列关于equals()方法和==运算符的说法,不正确的一个是(C ) A. equals()方法可以用来比较复合数据类型的数值是否相等 B. ==运算符可以用来比较简单数据类型的数据值是否相等 C. ==运算符和equals()方法的功能一样,可以相互替换

D. ==运算符和equals()方法的功能不完全一样,不可以相互替换

11.表达式(12==0)&&(1/0<1)的值为( D )

A. true B. false C. 0 D. 运行时抛出异常

12.能构成多分支的语句是( C )

A. for语句 B. while语句 C. switch语句 D. do-while语句

13.下程序的输出结果是( A ) public class ex13{

public static void main(String[] args)

{ for(int cnt=0; cnt<10; cnt++) { if(cnt==5) break;

System.out.print(cnt); } } }

A. 01234 B. 6789 C. 0123456789 D. 5

14.下列程序执行后,输出的结果是( A ) public class ex14{

public static void main(String[] args) { int a=10;

if(a<10||a>10)

System.out.println(“a<>10”); else

System.out.println(“a=10”);

}

}

A. a=10 B. a<>10 C. a>10 D. a<10

15.执行下开程序之后,输出的结果为( C ) public class ex15 {

public static void main(String[] args) { int a=0;

label: for(; a<4; a++)

{ for(int j=0; j<2; j++)

{ if(a==2) break label;

System.out.print(a*2+j+“ ”);

}

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

} }

}

A. 0 1 a=0 B. 0 1 a=1 2 3 a=2 2 3 a=2 C. 0 1 a=0 D. 1 2 a=0 2 3 a=1 3 4 a=1

16.下列程序的执行结果是( B ) public class ex16{

public static void main(String[] args)

{ int j=2, i=8; while(j<--i)

{ for(int k=0; k<4; k++) j++; }

System.out.println(j); } }

A. 10 B. 6 C. 4 D. 2

17. 下列程序的执行结果是( C) public class ex17{

public static void main(String[] args)

{ int i=0, j=100; while(j>=0) { if(j%3==0) i+=j; j--; }

System.out.println(i) } }

A. 5050 B. 2500 C. 1683 D. 1717

18.下列哪一个不是分支语句( D)

A. switch语句 B. if-else语句 C. if语句 D. break语句

19. 下列程序的执行结果是( D ) public class ex19{

public static void main(String[] args)

{ int sum=0;

for(int i=1; i<=50; i+=5) sum+=i;

System.out.println(sum); } }

A. 50 B. 200 C. 250 D. 235

20.下列程序的执行结果是( D ) public class ex20{

public static void main(String []args)

{ int i1=12, i2=5; switch(++i1)

{ case 11: i2=i2<<1; case 12: i2=i2<<2; case 13: i2<<3; break; default: ; }

System.out.println(i2); } }

A. 5 B. 10 C. 20 D. 40

21. 下列程序的执行结果是( A ) public class ex21{

public static void main(String []args)

{ String str=“Hello,”; str=str+”Guys!”;

System.out.println(str); } }

A. Hello,Guys! B. Hello, C. Guys! D. 编译不通过

22.下面哪个可以作为命名Java中的类名?(D )

A.class B.¥8$ C. 3s D.String

23. 哪一个运算符返回除法运算的余数?(B )

A. / B. % C. mod D.?

24. 若有如下定义: int i=8; String s=“123”; 则下面哪个描述是不正确的?( C ) A.执行i=Integer.parseInt(s); System.out.println(“i=”+i);则输出结果为i=123 B.若执行s=String.valueOf(i); System.out.println(“s=”+s);则输出结果为s=8 C.若执行s=Int.toString(i); System.out.println(“s=”+s);则输出结果为s=8 D.执行s=new String(“567”);System.out.println(“s=”+s);则输出结果为:s=567

25. 有关数组的定义正确的是( C) A. int a[3]; B. int[3] a; C. int[] a; D. int a();

26. 在Java中,能表示条件表达式为“真”的是(A )

A. true B. 1 C. 非0的任何数 D. false

27.下列程序的执行结果是( C ) public class ex27{

public static void main(String[] args) { String s1=“abc”+“def”;

String s2=new String(s1); if(s1==s2)

System.out.println(“s1==s2”); if(s1.equals(s2))

System.out.println(“s1 equals s2”); } }

A. 不输出任何结果 B. s1==s2 C. s1 equals s2 D. s1==s2 s1 equals s2 28. 下面说法正确的是( )

A. Java程序的源文件名称与主类(公共类)的名称相同,后缀可以是以.java或.txt等。

B. JDK的编译命令是java。

C. 一个Java源程序编译后可能产生几个字节码文件。

D. 在命令运行编译好的字节码文件,只需在命令行直接键入程序名即可运行该程序。

29. 下面的数据类型( D )是float型。

A. 33.8 B. 129 C. 89L D. 8.6F

30.定义整型变量: int n=456; ,表达式的值不为5的是( )

A. n/10 B. (n-n/100*100)/10 C. n-1 D. n/10

31. 下列方法x的定义中,正确的是( )

A. int x(){ char ch=?a?; return (int)ch; } B. void x {…}

C. int x(int i){ return (double)(i+10); } D. x(int a){ return a; }

32. 设有定义语句int a[]={66,88,99}; 则以下对此语句叙述错误的是( ) A. 定义了一个名为a的一维数组 B. a数组有3个元素

C. a数组的下标为1~3 D. 数组中的每个元素是整型

33. 下面是在命令行运行Java应用程序A:

java A the first snow came.怎么才能在 main(String args[])方法中访问单词“first”( )

A. args[0] B. args[1] C. args[2] args[3]

34. 以下语句执行后输出的结果是( ) String s=new String(“hello,Java!”); System.out.println(s.length());

A. 10 B. 11 C. 9 D. 15

35.给出下面程序的代码: byte[] a1, a2[]; byte a3[][]; byte [][]a4;

下列数组操作语句中哪一个是不正确的?( A )

A. a2=a1; B. a2=a3; C. a2=a4; D. a3=a4;

二、填空题

1.在Java语言中的变量,必须先声明后使用,必须进行初始化的变量是 局部变量 。

2.char类型的数据可以表示的字符数一共为 65536 。

3.Java中的字符使用的是16位的 Unicode 编码。字符数据类型的包装类是 Character 。

4.在Java语言中,将位数多的数据类型向位数少的数据类型转换时,只能采用 强制转换 。

5.在Java语言中,复合数据类型有: 类、接口和 数组 。 6.在不产生溢出的情况下左移运算相当于 乘2 运算。 7.表达式7|12&55^~23的值为 -17 。

8.若a、b为int型变量,并且已分别赋值为5和10,则表达式(a++)+(++b)+a*b的值是 82 。

9.在Java语言中,用来分配内存的运算符是 new 。

10.结构化程序设计的三种基本流程控制结构是: 循环 、分支和 条件 。 11.一个for循环完全等同于一个 do while 。

12.case子句中的值必须是 常量 ,并且互不相同。

13.每一个else子句都必须和一个距离它最近的 if 子句相对应。 14.顺序执行以下两个语句的输出结果是 4 。 String str=“等级考试”; System.out.println(str.length());

15.Java中的方法的参数传递是 值 调用,而不是 地址 调用。

16.开发运行Java程序的一般步骤是: 源程序编辑、 编译 和 运行 。 17. Java源程序文件和字节码文件的扩展名分别为 Java 和 class 。 18. final 保留字用于定义常值变量,声明该变量以后不会改变。 19. 跳转语句包括return语句、 break 和 continue 。 20.当方法有返回值时,必须在该方法体内使用 return 语句。 21. 表达式9*4/-5%5的值为 -2 。

22.字符串分为两大类,一类是字符串常量,使用 string 类的对象表示;另一类是字符串变量,使用 stringbutter 类的对象表示。

三、简答题

1.改正下面程序的错误,使之能编译运行。 public class A {

static String s=“java”;

public static void main(String[] args) {

System.out.println(“s=”+s); } }

2.阅读下面的程序段,回答以下问题。 char c=?A?;

for(int i=1; i<=5; i++) { System.out.print(c++); //(2)问的代码加在此处。 }

(1) 写出程序段的输出结果。

ABCDE

(2)如果将程序段的for语句的最后加上语句:

if(i= =3) break;

写出程序输出结果。 ABC

3. 阅读程序,回答问题。 public class A

{ public static void main(String[] args) { String str[]=new String[3]; Str[2]=args[3];

System.out.println(str[2]); } }

(2) 程序能否编译通过?

(3) 编译后运行程序,在命令行键入: java A 1 2 3,程序运行结果如何? 4. float型float f=2.9;是否正确?为什么?

5. char型变量中能不能存贮一个中文汉字?为什么?

6. JAVA的基本数据类型有哪些 ? String 是不是基本数据类型 ?

四、编程题(类的命名为题目序号的英文单词,如One,Two;要求程序必须有足够的操作提示信息)

1. 使用Math类中的静态方法,随机产生3个67~295的整数(包括67和295)并找出数值居中的数,例如,100、225和200,应该输出200。

2. 买彩票中大奖:用户键入1~20的一个数 ,然后程序随机产生3个1~20不相同的数字,分别代表一等奖、二等奖和三等奖数字。最后进行比较,并输出用户是否中奖的的信息。

3. 人民币取法:有面值为壹元、贰元和伍元的人民币若干,从中取出20张使其总值为60元,问有多少种取法?每种取法中的壹元、贰元和伍元人民币各有多少张?

4. 某学校有三名同学参加数学竞赛,共10道题,答对一道得10分,答错一道题扣3分。这三名同学都回答了所有的问题,小明得了87分,王红得了74分,张凯得了48分,他们三人共答对了多少道题?

5. 投票选佳丽:假设一共有10位佳丽,共有50个人参加投票,然后统计并显示每个佳丽最终获得的票数。

本文来源:https://www.bwwdw.com/article/p3mr.html

Top