第2章试题

更新时间:2023-11-22 01:54:01 阅读量: 教育文库 文档下载

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

一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。答案错选或未选者,该题不得分。每小题1分,共10分。)

1、下面哪个是Java比较运算符(A)

A. == B. := C. = D. =:

2、下面表达式中哪个可以正确的把1赋值给变量X(B) A. 1 = x; B. x = 1; C. x := 1; D. 1 := x;

3、把MAX_LENGTH定义为常量,并且赋值为99.98(D) A. final MAX_LENGTH = 99.98;

B. final float MAX_LENGTH = 99.98; C. double MAX_LENGTH = 99.98;

D. final double MAX_LENGTH = 99.98;

4、为了提高可读性和可维护性,你应该声明____C_____而不是使用文字的价值,例如3.14159

A. variables B. methods C. constants D. classes 5、下面那些数据类型哪个需要的内存量最大(A)? A. long B. int C. short D. byte 6、下面哪个表达式是正确的(C) A. int number = 2L; B. int number = 2l; C. int number = 2; D. int number = 2.0;

7、 表达式45/4的结果是(B)

A.10 B. 11 C. 11.25 D. 12 8、下面哪个表达式的结果是1(D) A. 2 % 1 B. 15 % 4 C. 25 % 5 D. 37 % 6

9、分析下面的代码,输出的结果是(B) public class Test {

public static void main(String[] args) { int month = 09;

System.out.println(\

} }

A. month is 09 B. month is 9 C. month is 9.0 D. 程序报错

10、Y的值是多少(C) public class Test1 {

public static void main(String[] args) { int x = 1;

int y = x = x + 1;

System.out.println(\ } }

A. y is 0 B. y is 1 C. y is 2 D. 程序报错

11、i的值为多少(D) public class Test {

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

int i = ++j + j * 5;

System.out.println(\ } } A. 0 B. 1 C. 5 D. 6

12、分析下面代码,i的值为多少(C) public class Test {

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

int i = j++ + j * 5;

System.out.println(\ } }

A. 0 B. 1 C. 5 D. 6

13、下列代码的输出结果是(C) public class Test {

public static void main(String[] args) { int x = 1;

int y = x++ + x;

System.out.println(\ } }

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

14、下列代码的输出结果是(B) public class Test {

public static void main(String[] args) { int x = 1;

int y = x + x++;

System.out.println(\ } }

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

15、指定一个双变量d转换为一个浮点变量x(D) A. x = (long)d B. x = (int)d; C. x = d;

D. x = (float)d;

16、下面代码输出的结果是(D) double x = 5.5; int y = (int)x;

System.out.println(\A. x is 5 and y is 6

B. x is 6.0 and y is 6.0 C. x is 6 and y is 6 D. x is 5.5 and y is 5

17、表达式(double)5/2的结果是(B) A. 2; B. 2.5; C. 3; D. 2.0

18、表达式(double)(5/2)的结果是(D) A. 2; B. 2.5; C. 3; D. 2.0;

19、如果您尝试新增一个int ,一个byte,一个long和一个double,结果将是(D)型。 A. byte B. int C. long D. double

20、以下哪项是正确表达的字符4(D) A. 4 B. \C. '\\0004' D. '4'

21、一个Java字符占(B) A. one byte B. two bytes C. three bytes D. four bytes

22、下列语句显示的结果是什么(C) char x='b';

System.out.println(++x); A. a B. b C. c D. d

23、下面哪个语句可以正确输入smith\\exam1\\test.txt(B) A. System.out.println(\

B. System.out.println(\C. System.out.println(\D. System.out.println(\

24、假设变量i是int型的,下面哪个语句可以输入i的统一码(D) A. System.out.println(i);

B. System.out.println((char)i); C. System.out.println((int)i); D. System.out.println(i + \

25、'a'的统一码是97,那么'c'的呢?(D) A. 96 B. 97 C. 98 D. 99

26、语句System.out.println('z' - 'a')输出什么(A) A. 25 B. 26 C. a D. z

27、下面哪个语句是正确的(A) A. char c = 'd'; B. char c =\A; C. char c = \D. char c = \28、“小于过等于”的比较运算符在Java中如何表示(B) A. < B. <= C. =< D. << 29、“等于”的比较运算符在Java中如何表示(C) A. <> B. != C. == D. ^=

30、在Java中,true是一个(B) A.关键字 B.一个布尔值 C.和1是等价值的 D.和0是等价值的

31、下面哪个布尔表达式的值为true,当一个数在1到100之间或为负的时候(B)

A. 1 < x < 100 && x < 0

B. ((x < 100) && (x > 1)) || (x < 0) C. ((x < 100) && (x > 1)) && (x < 0) D. (1 > x > 100) || (x < 0)

32、x=10并且y=10,当执行完语句(y > 10) & (x++ > 10)后,x的值为(C) A. 9 B. 10 C. 11 D. 8

33、x=10并且y=10,当执行完语句(y > 10) && (x++ > 10)后,x的值为(B) A. 9 B. 10 C. 11 D. 8

34、x=10并且y=10,当执行完语句(y >= 10) | (x++ > 10)后,x的值为(C) A. 9 B. 10 C. 11 D. 8

35、x=10并且y=10,当执行完语句(y >= 10) || (x++ > 10)后,x的值为(B) A. 9 B. 10 C. 11 D. 8

36、运算符+, *, &&, ||, &从高到底的优先级排列(C) A. &&, ||, &, *, + B. *, +, &&, ||, & C. *, +, &, &&, || D. *, +, &, ||, &&

37、下面哪个运算符是右结合的(C) A. * B. +

c. = D. &&

38、语句1 + 2 + 3 + (4 + 5) + 6 * 7,哪个最先得到运算(A) A. 4 + 5 B. 6 * 7 C. 1 + 2 D. 2 + 3

39、根据Java的运算符优先级,语句3 + 4 + 4 * 5中的哪个运算符最先执行(C) A. the first +. B. the second +. C. the *.

D. It could be either the first + or the *.

40、语句System.out.println(\);的输出结果是(A) A. Java123 B. Java6 C. Java15 D. Java33

41、字符A的统一码是65,表达式\的值是多少(D) A. 66 B. B C. A1

D. Illegal expression

42、字符A的统一码是65,表达式'A' + 1的值是多少(B) A. 66 B. B C. A1

D. Illegal expression

43、下面哪个方法是将字符串s转换为int型(A) A. integer.parseInt(s); B. Integer.parseInt(s); C. integer.parseInteger(s); D. Integer.parseInteger(s);

44、下面哪个方法是将字符串s转换为double型(A\\C) A. double.parseDouble(s); B. Double.parsedouble(s); C. double.parseDouble(s); D. Double.parseDouble(s);

45、分析下面代码,正确的是(B) import javax.swing.*; public class ShowErrors {

public static void main(String[] args) { int i; int j;

String s = JOptionPane.showInputDialog(null, \

JOptionPane.QUESTION_MESSAGE); j = Integer.parseInt(s); if (j > 3) i = (i + 4); } }

A. The program cannot compile because j is not initialized.

B. The program cannot compile because i does not have an initial value when it is used in i = i + 4;

C. The program compiles but has a runtime error because i deos not have an initial value when it is used in i = i + 4; D. The program compiles and runs fine.

46、下面语句哪个是返回a的b次幂ab ( C ) A. Math.power(a, b) B. Math.exponent(a, b) C. Math.pow(a, b) D. Math.pow(b, a)

47、表达式(int)(76.0252175 * 100) / 100的值为(A) A. 76.02 B. 76

C. 76.0252175 D. 76.03

48、语句System.currentTimeMills()返回的是(D) A.当前时间

B.当前时间的毫秒数 C.从凌晨到当前的毫秒数

D.从1970年1月1日0点到现在的毫秒数

49、语句System.out.printf(\(用*代替空格)输出的结果是(D) A. 123456**** B. 23456*****

C. 123456**** D. ****123456

50、语句System.out.printf(\的输出结果是(D) A. 0.1e+04 B. 0.123456e+04 C. 0.123e+04 D. 1.2e+03

二、填空题(每空2分,共20分)

1.只要与变量适合, 数值 就可以赋给整型变量,如果字面量太大超出变量的存储范围,就会出现 溢出 。 2.浮点型直接量默认为是 double 型的。

3.在赋值语句中,左边变量的数据类型必须与右边值的 匹配 。 4.char ch = ‘a’;

System.out.println(++ch);

该语句所显示的结果为 b 。

5.当一个整数被转换成一个char型数据时,只只用整数的低十六位,

其余部分被 空着 。

6.3 + 4 * 4 > 5 * ( 4 + 3 ) – 1 的值为 false 。

7.要把字符串转换为int型的值,使用 类中的 方法。

8.把double数转换为int型数时可能 数据丢失 。

9. println方法显示完字符串后光标 下移一行 ,而print方法则在完成后 紧随其后 。

10.阅读下面程序 public class Test{

public static void main(String[] args) { char x = ‘a’; char y = ‘c’;

System.out.println(++y); System.out.println(y++); System.out.println(x > y); System.out.println(x - y);

} }

其运算结果依次是: d 、 d 、 fasle 和 -3 。 11.程序错误可以分为: 、 和 。

12.Java提供了表示 整型 、浮点型 、字符型 和 布尔型 的数据类型,它们称为基本数据类型。

13. final 是Java的关键字,表示常量不会改变。 14.System.out.printf(“amount is %f %e\\n”,32.32,32.32);

该语句的输出是 错误 15.假设X为1,执行下述表达式之后X的值是 1 (X>1)&&(X++>1)

16.除了赋值运算符,所有的双目预算符都是 自左向右 ,而赋

值运算符是 自右向左 。

17.缩进用于描述 层次 结构关系。 18.使用括号既 ,也可以 。

19.可以使用JOptionPane类中的 方法,在运行时获取输入。 20.阅读下面程序

int i= 0 ; i=(i=1)+i; Syetem.out.println(i);

上面代码输出的结果是: 2

三、判断题(判断以下论述的正误,认为正确的就在答题相应位置划“T”,错误的划“F”,每小题1分,共10分)

1. 表达式var++使变量的值增加1,并且该表达式的值取var增加以后的新值。( × )

2. 当两个类型不同的运算对象进行一元运算时,如果运算对象之一是double就将另一个自动转换为double型。( √ ) 3. 该表达式true | true && false的值为true。( √ ) 4. 在java中使用除法时,两个整数相除商可以为浮点型。( √ ) 5. 常量必须在使用前说明和初始化。( √ ) 6. 任何表达式都可以当作语句。( × ) 7. 表达式X++可以当作语句。(√ ) 8. 语句X=X+5也是表达式。( √ ) 9. 语句X=Y=X=0是非法语句。( ×)

10.具有相同优先级的运算符都是从左向右计算的。( × )

四、简答题(回答要点,并简明扼要作解释,每小题6分,共30分) 1. 描述编译错误、运行时错误和逻辑错误。 2.简述命名标识符的规则。

3. 表达式的计算规则是什么?

4. 要表示一个字符构成的串,使用什么类型?该类型不是基本类型,称为什么类型?使用showInputDialog方法获取输入字符串,其中

各个参数表示什么?

5.什么是缩进?缩进的好处是什么? 6.什么是块?简述块的两种对齐方式。

7.调试工具可以跟踪程序的执行,由于系统的不同而有所不同,它们共同的特点是什么?

8.写出与运算符(&&)以及非运算符(!)的真值表。 9.简述计算p1&&p2和p1||p2的规则。 10.写出下列语句的输出:

a) System.out.printf(\ %e \\n”, 32.32, 32.32);

b) System.out.printf(\ %5.4e \\n”, 32.32, 32.32); c) System.out.printf(\”, (1 > 2)); d) System.out.printf(\”, “Java”);

11.输出布尔型值、字符、十进制整数、浮点数和字符串的格式描述符是什么?

12.分别找出byte、short、int、long、float和double中的最大和最小数,其中哪个数据类型要求的存储空间最小。 Double byte byte

13.试列举出Java中变量、常量、方法和类的命名习惯。

14.如何把一个数字字符串转换为double型值?如何把一个整数字

符串转换为int型值? 引用方法 15.如何标记注释行和注释段? // /* */ 16.使用常量的好处是什么? 保护之不被改写

17.如果强制从double型转换为int型时,double型值的小数部分是

如何处理的?类型转换是否是改变被转换变量的值? 截取整数部分。不一定

18.不同的数值类型值能在一起计算吗?为什么? 能,可自动向高级转换,或强制转换

19.列出布尔运算符的优先级,计算下列表达式。

True | true && false true True || true && false true True | true & false true 20.找出并改正下列代码的错误:

1 public class Test {

2 public void main(string[] args) { 3 int i=0; 4 int k = 100; 5 int j = i + 1; 6

7 System.out.println(“ j is “ + j + “ and 8 k is “ + k); 9 } 10 }

五、程序设计题(每小题10分,共30分)

1.编写程序,从输入对话框读入double型的华氏温度,将其转换为摄氏度并在消息对话框中显示结果。转化公式如下:摄氏度= (5/9)*(华氏度-32)

2.编写程序读入半径和高,用下列公式计算圆柱和体积: 面积=半径*半径*π, 体积=面积*高。

3.编写程序读入英尺数,转换为米数并显示结果。一英尺登录0.305米。

4.编写程序将磅数转换为千克。程序提示用户输入磅数,转换程千克并显示结果。一磅等于0.454千克。

5.编写一个程序,读入费用和提成率,计算提成与总费用,例如:如果使用者键入10作为费用,15%作为提成率,计算结果显示$1.5作为提成费,$11.5作为总费用。

6.编程程序读入0到1000间的一个整数,并将其各位数字加起来,例如932,各位数字之和为14。

7.编写程序将大写字母转换为小写字母,该字母在源代码中制定。 8.编写程序读入一个ASCⅡ码(0到128的整数)并显示它表示的字母。

9.编写程序输入三角形的三个边,判断是否有效。有效是指两边之和是否大于第3边。例如,如果输入1,2,1,输出应该为: Can edges 1, 2, and 1 form a triangle? false 如果输入的是2,2,1,输出应该为: Can edges 2, 2, and 1 form a triangle? true

10.编写程序读入一个整数并判断其是否为偶数。例如输入25,输出应该为:

Is 25 an even number? false 如果输入2000,输出应该为: Is 2000 an even number? true

编程:

/* 1.编写程序,从输入对话框读入double型的华氏温度,将其转换为摄氏度并在消息对话框中显示结果。

转化公式如下:摄氏度= (5/9)*(华氏度-32)*/ import java.util.*; public class Ex1 {

public static void main(String args[]) {

Scanner cin=new Scanner(System.in); double n=cin.nextDouble();

System.out.println(\你输入的华氏度是:\ double x=(5.0/9)*(n-32);

System.out.println(\摄氏度是:\ } }

/*2.编写程序读入半径和高,用下列公式计算圆柱和体积: 面积=半径*半径*π, 体积=面积*高。 */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

final double II=3.14159;

Scanner cin=new Scanner(System.in); double r=cin.nextDouble(); double h=cin.nextDouble();

System.out.println(\半径和高是:\ double s=r*r*II; double v=s*h;

System.out.println(\面积是:\体积是:\ } }

/*.3.编写程序读入英尺数,转换为米数并显示结果。一英尺登录0.305米。 */

import java.util.*; public class Ex1

{

public static void main(String args[]) {

final double II=3.14159;

Scanner cin=new Scanner(System.in); double r=cin.nextDouble(); // double h=cin.nextDouble();

System.out.println(\英尺数是:\ double s=r*0.305;

System.out.println(\米数是:\米\ } }

/*4.编写程序将磅数转换为千克。程序提示用户输入磅数,转换程千克并显示结果。一磅等于0.454千克。 */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

final double II=3.14159;

System.out.println(\请输入磅数:\ Scanner cin=new Scanner(System.in); double r=cin.nextDouble();

System.out.println(\你输入的磅数是:\磅\ double s=r*0.454;

System.out.println(\千克数是:\千克\ } }

/*5.编写一个程序,读入费用和提成率,计算提成与总费用,例如:如果使用者键入10作为费用, 15%作为提成率,计算结果显示$1.5作为提成费,$11.5作为总费用。 */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

//final double II=3.14159;

System.out.println(\请输入费用:\ Scanner cin=new Scanner(System.in); double c=cin.nextDouble();

System.out.println(\请输入提成率(小数表示):\ double r=cin.nextDouble(); double t=c*r; double s=t+c;

System.out.println(\提成费是$:\总费用是$:\ } } /*6.编程程序读入0到1000间的一个整数,并将其各位数字加起来,例如932,各位数字之和为14。 */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

//final double II=3.14159;

System.out.println(\请输入0-1000之间的整数:\ Scanner cin=new Scanner(System.in); int n=cin.nextInt(); int sum=0;

for(int i=1;n>0;i++) {

int t=n; sum+=t; n=n/10; }

System.out.println(\结果是:\ } }

/*7.编写程序将大写字母转换为小写字母,该字母在源代码中制定。 */

import java.util.*; public class Ex1

{

public static void main(String args[]) {

String s=\ System.out.println(\原字符串是:\ String t=s.toLowerCase();

System.out.println(\结果是:\ } }

/*8.编写程序读入一个ASCⅡ码(0到128的整数)并显示它表示的字母。 */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

System.out.println(\请输入ASCII值(1-128):\ Scanner cin=new Scanner(System.in); int n=cin.nextInt(); char i=(char)n;

System.out.println(\结果是:\ } }

/*9.编写程序输入三角形的三个边,判断是否有效。有效是指两边之和是否大于第3边。

例如,如果输入1,2,1,输出应该为: Can edges 1, 2, and 1 form a triangle? false 如果输入的是2,2,1,输出应该为: Can edges 2, 2, and 1 form a triangle? true */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

System.out.println(\请输入三边值:\

Scanner cin=new Scanner(System.in); int a=cin.nextInt(); int b=cin.nextInt(); int c=cin.nextInt();

boolean t=(a+b)>c && (a+c)>b && (b+c)>a ;

System.out.println(\三边:\能够成三角形?\ } }

/*10.编写程序读入一个整数并判断其是否为偶数。例如输入25,输出应该为:

Is 25 an even number? false 如果输入2000,输出应该为: Is 2000 an even number? true */

import java.util.*; public class Ex1 {

public static void main(String args[]) {

System.out.println(\请输入数:\ Scanner cin=new Scanner(System.in); int n=cin.nextInt(); boolean t=n%2==0 ;

System.out.println(\数:\是偶数?\ } }

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

Top