《java程序设计 第2章试题.doc》由会员分享,可在线阅读,更多相关《java程序设计 第2章试题.doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸相应位置处。答案错选或未选者,该题不得分。每小题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(B)A. final MAX_LENGTH = 99.98;B. final float MAX_LENGTH = 99.98;C. double MAX_LENGTH = 99.98;
2、D. final double MAX_LENGTH = 99.98;4、为了提高可读性和可维护性,你应该声明_而不是使用文字的价值,例如3.14159 A. variables B. methodsC. constants D. classes5、下面那些数据类型哪个需要的内存量最大(A)?A. long B. intC. short D. byte6、下面哪个表达式是正确的(C)A. int number = 2L;B. int number = 2l;C. int number = 2;D. int number = 2.0;7、表达式45/4的结果是(B)A10 B. 11 C. 11
3、.25 D. 128、下面哪个表达式的结果是1(D)A. 2 % 1B. 15 % 4C. 25 % 5D. 37 % 69、分析下面的代码,输出的结果是(D)public class Test public static void main(String args) int month = 09; System.out.println(month is + month); A. month is 09B. month is 9C. month is 9.0D. 程序报错10、Y的值是多少(C)public class Test1 public static void main(String
4、args) int x = 1; int y = x = x + 1; System.out.println(y is + y); A. y is 0B. 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(What is i? + i); A. 0B. 1C. 5D. 612、分析下面代码,i的值为多少(C)public class Test public stat
5、ic void main(String args) int j = 0; int i = j+ + j * 5; System.out.println(What is i? + i); A. 0B. 1C. 5D. 613、下列代码的输出结果是(C)public class Test public static void main(String args) int x = 1; int y = x+ + x; System.out.println(y is + y); A. y is 1.B. y is 2.C. y is 3.D. y is 4.14、下列代码的输出结果是(B)public
6、class Test public static void main(String args) int x = 1; int y = x + x+; System.out.println(y is + y); A. y is 1.B. y is 2.C. y is 3.D. y is 4.15、指定一个双变量d转换为一个浮点变量x(D)A. x = (long)dB. x = (int)d;C. x = d;D. x = (float)d;16、下面代码输出的结果是(D)double x = 5.5;int y = (int)x;System.out.println(x is + x + an
7、d y is + y);A. x is 5 and y is 6B. x is 6.0 and y is 6.0C. x is 6 and y is 6D. x is 5.5 and y is 517、表达式(double)5/2的结果是(B)A. 2;B. 2.5;C. 3;D. 2.018、表达式(double)(5/2)的结果是(D)A. 2;B. 2.5;C. 3;D. 2.0;19、如果您尝试新增一个int ,一个byte,一个long和一个double,结果将是(D)型。A. byteB. intC. longD. double20、以下哪项是正确表达的字符4(D)A. 4B. 4
8、C. 0004D. 421、一个Java字符占(D)A. one byteB. two bytesC. three bytesD. four bytes22、下列语句显示的结果是什么(C)char x=b;System.out.println(+x);A. aB. bC. cD. d23、下面哪个语句可以正确输入smithexam1test.txt(B)A. System.out.println(smithexam1test.txt);B. System.out.println(smithexam1test.txt);C. System.out.println(smithexam1test.t
9、xt);D. System.out.println(smithexam1test.txt);24、假设变量i是int型的,下面哪个语句可以输入i的统一码(C)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的呢?(C)A. 96B. 97C. 98D. 9926、语句System.out.println(z - a)输出什么(A)A. 25B. 26C. aD. z27、下面哪个语句是正确的
10、(A)A. char c = d;B. char c =u0041;C. char c = d;D. char c = 100;28、“小于过等于”的比较运算符在Java中如何表示(B)A. B. =C. =D. 29、“等于”的比较运算符在Java中如何表示(C)A. B. !=C. =D. =30、在Java中,true是一个(A)A.关键字B.一个布尔值C.和1是等价值的D.和0是等价值的31、下面哪个布尔表达式的值为true,当一个数在1到100之间或为负的时候(B)A. 1 x 100 & x 0B. (x 1) | (x 0)C. (x 1) & (x x 100) | (x 10
11、) & (x+ 10)后,x的值为(C)A. 9B. 10C. 11D. 833、x=10并且y=10,当执行完语句(y 10) & (x+ 10)后,x的值为(B)A. 9B. 10C. 11D. 834、x=10并且y=10,当执行完语句(y = 10) | (x+ 10)后,x的值为(C)A. 9B. 10C. 11D. 835、x=10并且y=10,当执行完语句(y = 10) | (x+ 10)后,x的值为(B)A. 9B. 10C. 11D. 836、运算符+, *, &, |, &从高到底的优先级排列(C)A. &, |, &, *, +B. *, +, &, |, &C. *,
12、 +, &, &, |D. *, +, &, |, &37、下面哪个运算符是右结合的(D)A. *B. +c. =D. &38、语句1 + 2 + 3 + (4 + 5) + 6 * 7,哪个最先得到运算(A)A. 4 + 5B. 6 * 7C. 1 + 2D. 2 + 339、根据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(Java + 1 +
13、 2 + 3);的输出结果是(A)A. Java123B. Java6C. Java15D. Java3341、字符A的统一码是65,表达式A + 1的值是多少(C)A. 66B. BC. A1D. Illegal expression42、字符A的统一码是65,表达式A + 1的值是多少(B)A. 66B. BC. A1D. Illegal expression43、下面哪个方法是将字符串s转换为int型(B)A. integer.parseInt(s);B. Integer.parseInt(s);C. integer.parseInteger(s);D. Integer.parseInt
14、eger(s);44、下面哪个方法是将字符串s转换为double型(A)A. double.parseDouble(s);B. Double.parsedouble(s);C. double.parseDouble(s);D. Double.parseDouble(s);45、分析下面代码,正确的是(C)import javax.swing.*;public class ShowErrors public static void main(String args) int i; int j; String s = JOptionPane.showInputDialog(null, Enter
15、an integer, Input, 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 er
16、ror 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. * 100) / 100的值为(A)A. 76.02B. 76C. 76.D. 76.0348、语句System.currentTimeMills()
17、返回的是(D)A.当前时间B.当前时间的毫秒数C.从凌晨到当前的毫秒数D.从1970年1月1日0点到现在的毫秒数49、语句System.out.printf(%10s, )(用*代替空格)输出的结果是(D)A. * B. 23456*C. *D. *50、语句System.out.printf(%3.1e, 1234.56)的输出结果是(C)A. 0.1e+04B. 0.e+04C. 0.123e+04D. 1.2e+03二、填空题(每空2分,共20分)1只要与变量适合, 数值 就可以赋给整型变量,如果字面量太大超出变量的存储范围,就会出现 溢出 。2浮点型直接量默认为是 double 型的。
18、3在赋值语句中,左边变量的数据类型必须与右边值的 相匹配 。4char ch = a; System.out.println(+ch); 该语句所显示的结果为 b 。5当一个整数被转换成一个char型数据时,只只用整数的低十六位,其余部分被 闲置 。63 + 4 * 4 5 * ( 4 + 3 ) 1 的值为 false 。7要把字符串转换为int型的值,使用 Integer 类中的 parseInt() 方法。8把double数转换为int型数时可能 数据丢失 。9 println方法显示完字符串后光标 向下一行 ,而print方法则在完成后 向后一格 。10阅读下面程序public cla
19、ss 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 、 false 和 -3 。11程序错误可以分为: 运行时错误 、 逻辑错误 和 编译错误 。12Java提供了表示 int 、 boolean 、 float, double 和 char 的数据类型,它们称为基本数据类型。13
20、final 是Java的关键字,表示常量不会改变。14System.out.printf(“amount is %f %en”,32.32,32.32);该语句的输出是 32. 3.232e+01 15假设X为1,执行下述表达式之后X的值是 1 (X1)&(X+1)16除了赋值运算符,所有的双目预算符都是 左结合 ,而赋值运算符是 右结合 。17缩进用于描述 选择,循环 结构关系。18使用括号既 提高可读性 ,也可以 避免产生错误 。19可以使用JOptionPane类中的 showInputDialog() 方法,在运行时获取输入。20阅读下面程序int i= 0 ;i=(i=1)+i;Sy
21、etem.out.println(i);上面代码输出的结果是: 2 三、判断题(判断以下论述的正误,认为正确的就在答题相应位置划“T”,错误的划“F”,每小题1分,共10分)1. 表达式var+使变量的值增加1,并且该表达式的值取var增加以后的新值。( F )2. 当两个类型不同的运算对象进行一元运算时,如果运算对象之一是double就将另一个自动转换为double型。( T )3. 该表达式true | true & false的值为true。( T )4. 在java中使用除法时,两个整数相除商可以为浮点型。( T ) 5. 常量必须在使用前说明和初始化。(T )6. 任何表达式都可以当
22、作语句。( F )7. 表达式X+可以当作语句。( T )8. 语句X=X+5也是表达式。( T )9. 语句X=Y=X=0是非法语句。( F )10具有相同优先级的运算符都是从左向右计算的。(F )四、简答题(回答要点,并简明扼要作解释,每小题6分,共30分)1. 描述编译错误、运行时错误和逻辑错误。编译错误:在代码编译阶段发生的错误,一般由语法错误引起运行时错误:则在程序接收到非法数据时导致程序无法运行下去时所发生的错误逻辑错误:则是程序员在写代码时算法不正确所引起的错误2简述命名标识符的规则。不与java的关键字和保留字重名,不以下划线,数字开头3. 表达式的计算规则是什么?按照运算符优
23、先级高低,运算符优先级高优先运算4. 要表示一个字符构成的串,使用什么类型?该类型不是基本类型,称为什么类型?使用showInputDialog方法获取输入字符串,其中各个参数表示什么?String,String对象,showInputDialog(null,text(字符串文本),title(标题文本),value(显示对话框的图标)),5什么是缩进?缩进的好处是什么?同一代码段的代码,向右空一个tab,向左对齐,增加代码可读性,6什么是块?简述块的两种对齐方式。对变量对象进行初始化的程序段,向左对齐7调试工具可以跟踪程序的执行,由于系统的不同而有所不同,它们共同的特点是什么?可以步进执行8
24、写出与运算符(&)以及非运算符(!)的真值表。A&BA B A&B1 1 11 0 00 1 00 0 0!AA !A0 11 09简述计算p1&p2和p1|p2的规则。P1=false 时p2不执行P1=true,p2不执行10写出下列语句的输出:a) System.out.printf(amount is %f %e n”, 32.32, 32.32);amount is 32. 3.323e+01b) System.out.printf(amount is %5.4f %5.4e n”, 32.32, 32.32);amount is 32.3200 3.2320e+01c) Syste
25、m.out.printf(%6b n”, (1 2);falsed) System.out.printf(%6s n”, “Java”);Java11输出布尔型值、字符、十进制整数、浮点数和字符串的格式描述符是什么?%b,%c,%d,%f,%c12分别找出byte、short、int、long、float和double中的最大和最小数,其中哪个数据类型要求的存储空间最小。Byte类型最小13试列举出Java中变量、常量、方法和类的命名习惯。类名采用Pascal命名法,其中接口名以I开头,变量,方法采用Camel命名法,常量全部大写14如何把一个数字字符串转换为double型值?如何把一个整数字
26、符串转换为int型值?采用Double类里的parseDouble()方法转换,采用Integer类里的parseInt()方法15如何标记注释行和注释段?文档注释用/注释行/注释段/*/16使用常量的好处是什么?保证不变动的数值安全17如果强制从double型转换为int型时,double型值的小数部分是如何处理的?类型转换是否是改变被转换变量的值?舍去,改变18不同的数值类型值能在一起计算吗?为什么?只要能进行隐式转换,就能进行计算19列出布尔运算符的优先级,计算下列表达式。True | true & false |& falseTrue | true & false &| trueTru
27、e | true & false&| true20找出并改正下列代码的错误:1 public class Test 2 public void main(string args) 3 int i; /line3:int i=0;4 int k = 100.0;5 int j = i + 1;67System.out.println(“ j is “ + j + “ and8 k is “ + k);9 10 五、程序设计题(每小题10分,共30分)1编写程序,从输入对话框读入double型的华氏温度,将其转换为摄氏度并在消息对话框中显示结果。转化公式如下:摄氏度= (5/9)*(华氏度-32)
28、import javax.swing.*;public static class Temperturepublic static void main(String args)double fahrenheit=0;double celsius=0;huashi=Double.parseDouble(JOptionPane.showInputDialog(Please input the Fahrenheit Temperture);celsius=(5/9.0)*(fahrenheit-32);JOptionPane.showMessageDialog(null, Celsius temper
29、ture+celsius);2编写程序读入半径和高,用下列公式计算圆柱和体积:面积=半径*半径*,体积=面积*高。import javax.swing.*;public class Volume public static void main(String args) double radius=0;double height=0;double area=0;double volume=0;radius=Double.parseDouble(JOptionPane.showInputDialog(Please input the radius);height=Double.parseDoubl
30、e(JOptionPane.showInputDialog(Please input the height);area=radius*radius*Math.PI;volume=area*height;JOptionPane.showMessageDialog(null, The Area is:+area+n+The volume is:+volume);3编写程序读入英尺数,转换为米数并显示结果。一英尺登录0.305米。import javax.swing.*;public static class Meter public static void main(String args) do
31、uble meter=0;double inch=0;inch=Double.parseDouble(JOptionPane.showInputDialog(Please input the inch);meter=inch*0.305;JOptionPane.showMessageDialog(null, Meters+meter);4编写程序将磅数转换为千克。程序提示用户输入磅数,转换程千克并显示结果。一磅等于0.454千克。import javax.swing.*;public static class Kilogram public static void main(String ar
32、gs) double kilogram=0;double pound=0;inch=Double.parseDouble(JOptionPane.showInputDialog(Please input the pound);kilogram=pound/0.454;JOptionPane.showMessageDialog(null, Kilogram+kilogram);5编写一个程序,读入费用和提成率,计算提成与总费用,例如:如果使用者键入10作为费用,15%作为提成率,计算结果显示$1.5作为提成费,$11.5作为总费用。import javax.swing.*;public stat
33、ic class Fee public static void main(String args) double fee=0;double cut=0;double totalFee=0;double cutPercent=0;fee=Double.parseDouble(JOptionPane.showInputDialog(Please input the fee);cutPercent=(double)(Double.parseDouble(JOptionPane.showInputDialog(Please input the cut percent without the perce
34、nt sign)/100);cut=fee*cutPercent;totalFee=cut+fee;JOptionPane.showMessageDialog(null, Cut:+cut+n+Total Fee:+totalFee);6编程程序读入0到1000间的一个整数,并将其各位数字加起来,例如932,各位数字之和为14。import javax.swing.*;public class Number public static void main(String args) int i=0;int temp=0;i=Integer.parseInt(JOptionPane.showInp
35、utDialog(Please input a number range11000);while(i!=0) temp+=(i%10);i/=10;JOptionPane.showMessageDialog(null, total= +temp);7编写程序将大写字母转换为小写字母,该字母在源代码中制定。import javax.swing.*;public class UpperWord public static void main(String args) char i=A;i+=32;JOptionPane.showMessageDialog(null, i);8编写程序读入一个ASC
36、码(0到128的整数)并显示它表示的字母。import javax.swing.*;public class Characrterpublic static void main(String args) char i;int j=0;j=Integer.parseInt(JOptionPane.showInputDialog(Please input the number within 0128);i=(char)j;JOptionPane.showMessageDialog(null, i);9编写程序输入三角形的三个边,判断是否有效。有效是指两边之和是否大于第3边。例如,如果输入1,2,1
37、,输出应该为:Can edges 1, 2, and 1 form a triangle? false如果输入的是2,2,1,输出应该为:Can edges 2, 2, and 1 form a triangle? Trueimport javax.swing.*;public static class IsTriangle public static void main(String args) double edge_1=0;double edge_2=0;doublw edge_3=0;edge_1=Double.parseDouble(JOptionPane.showInputDial
38、og(Please input the first edge);edge_2=Double.parseDouble(JOptionPane.showInputDialog(Please input the second edge);edge_3=Double.parseDouble(JOptionPane.showInputDialog(Please input the third edge);if(edge_1+edge_2edge_3)&(edge_1+edge_3edge_2)&(edge_3+edge_2edge_1)JOptionPane.showMessageDialog(null
39、,Can edges +edge_1+, +edge_2+, and +edge_3+ form a triangle? true);elseJOptionPane.showMessageDialog(null,Can edges +edge_1+, +edge_2+, and +edge_3+ form a triangle? false);10编写程序读入一个整数并判断其是否为偶数。例如输入25,输出应该为:Is 25 an even number? false如果输入2000,输出应该为:Is 2000 an even number? trueimport javax.swing.*;public static class IsEven public static void main(String args) int i=0;i=Integer.parseInt(JOptionPane.showInputDialog(Please input a integer number);if(i%2=0)JOptionPane.showMessageDialog(i+ is a even number? true);elseJOptionPane.shoeMessageDialog(i+ is a even number? false);