1、JAVA程序设计 郭广军 课后答案Java程序设计教程习题及参考答案作者:郭广军 习题试题来源:郭广军 点击数:2436 更新时间:2008-9-3 第1章 Java语言概述习 题 一一、简答题1Java语言的诞生日是哪一天?它有哪些特点与优势?2Java语言程序分为哪几种?Java Application程序和Java Applet程序的主要区别是什么?3Java Application程序在结构上有哪些特点?如何编译、运行?被编译后生成什么文件?该文件机器可以直接识别吗?如何执行?4安装JDK后如何对JAVA_HOME、PATH和CLASSPATH环境变量进行设置?它们的作用是什么?5Ja
2、va程序在书写上应注意哪些事项?有哪些编码规范?6为什么要对程序进行注释?Java中有哪几种注释?文档注释符与多行注释符有何不同?二、选择题1下面关于Java Application 程序结构特点描述中,错误的是( D )。A一个Java Application程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成。BJava程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java。C组成Java Application程序的多个类中,有且仅有一个主类。D一个.java文件中定义多个类时,允许其中声明多个
3、public类。2编译Java程序后生成的面向JVM的字节码文件的扩展名是( B )。A.java B.class C.obj D.exe3下面关于Java 语言特点的描述中,错误的是( A )。AJava是纯面向对象编程语言,支持单继承和多继承。BJava支持分布式的网络应用,可透明地访问网络上的其他对象。CJava支持多线程编程。DJava程序与平台无关、可移植性好。4Java SE的命令文件(java、javac、javadoc等)所在目录是( C )。A%JAVA_HOME%jre B%JAVA_HOME%libC%JAVA_HOME%bin D%JAVA_HOME%demo5下列关于
4、运行字节码文件的命令行参的描述中,正确的是( C )。A命令行的命令字被存放在args0中。B数组args的大小与命令行的参数的个数无关。C第一个命令行参数(紧跟命令字的参数)被存放在args0中。D第一个命令行参数被存放在args1中。6paint()方法使用哪种类型的参数? ( A )AGraphics BGraphics2D CString DColor7Java的核心包中,提供编程应用的基本类的包是( B )。Ajava.util Bjava.lang Cjava.applet Djava.rmi8编译Java程序时,用于指定生成class文件位置的选项是( A )。A-d B-g C
5、-verbose D-nowarn9下列标识符(名字)命名原则中,正确的是( C )。A类名的首字母小写 B接口名的首字母小写C常量全部大写 D变量名和方法名的首字母大写10下面哪些选项是正确的main方法说明?( D )Avoid main() Bprivate static void main(String args)Cpublic main(String args) Dpublic static void main(String args)11下面哪种注释方法能够支持javadoc命令?( C )A/ B/*.*/ C/*.*/ D/*.*/三、判断题1Java语言具有较好的安全性和可移
6、植性及与平台无关等特性。( )2Java语言的源程序不是编译型的,而是编译解释型的。( )3Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。( )4java.util.Scanner(System.in)可以接收用户从键盘输入的简单数据。( )5Java程序中不区分大小写字母。( )6机器不能直接识别字节码文件,它要经过JVM中的解释器边解释边执行。( )7System类中的println()方法分行显示信息,而print()方法不分行显示信息。( )8当前路径的标识是“.”。 ( )9java命令不区分大小写,而javac命令区分大小写。( )10
7、printf()和 format()方法使用指定格式字符串和参数,将格式化字符串写入到PrintStream类型的输出流(System.out对象)中。( )11在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。( )四、编程题1分别用UltraEdit、NetBeans、Eclipse、JBuilder和JCreator编写一个Java Application程序,使该程序运行后输出字符串“Nothing is too difficult if you put your head into it .”。2编写一个具有交互功能的Java Application程序
8、,提示从键盘输入应付金额和实付金额后,计算并输出找零或欠付金额。3编写一个Java Applet程序,使该程序运行后输出字符串“Dont put off till tomorrow what should be done today.”。 第2章 Java语言基础习 题 二一、填空题1已知:int a =8,b=6; 则:表达式+a-b+的值为( 3 )。2已知:boolean b1=true,b2; 则:表达式! b1 & b2 |b2的值为( false )。3已知:double x=8.5,y=5.8; 则:表达式x+y-值为( true )。4已知:int a =2,4,6,8; 则:
9、表达式(a0+=a1)+ +a2值为( 13 )。5执行int x, a = 2, b = 3, c = 4; x = +a + b+ + c+; 结果是( x=10,a=3,b=4,c=5 )。6Java中的显式类型转换既能(从低类型向高类型转换)也能从高类型向低类型转换,而隐式类型转换只有前者。7在Java中,字符串和数组是作为(对象)出现的。8执行下列程序代码的输出结果是( 10,11,11 )。int a = 10; int i, j; i = +a; j = a-; System.out.printf(%d,%d,%d, a, i, j);9执行完boolean x=false; b
10、oolean y=true; boolean z=(x&y)&(!y) ; int f=z=false?1:2;这段代码后,z与f的值分别是( false )和( 1 )。二、选择题1下面哪些标识符在Java语言中是合法的?( AB )Apersons$ BTwoUsers C*point Dinstanceof F.end-line2下列( D )是合法标识符。A2end B-hello C=AB D整型变量3已知int i = 2 147 483 647; +i; 则i的值等于( A )。A- 2 147 483 648 B2 147 483 647 C2 147 483 648 D.-1
11、4若x = 5,y = 8,则表达式x|y的值为( B )。A3 B13 C0 D55若定义有变量float f1,f2 = 8.0F,则下列说法正确的是( B )。A变量f1,f2均被初始化为8.0 B变量f1没有被初始化,f2被初始化为8.0C变量f1,f2均未被初始化 D变量f2没有被初始化,f1被初始化为8.06基本数据类型short的取值范围是( B )。A(-256) 255 B(-32 768) 32 767 C(-128) 127 D065 5357下列( B )是不能通过编译的语句。Adouble d = 545.0; Bchar a1 = “c”; Cint i = 321
12、; Dfloat f1 =45.0f;8若定义有short s; byte b; char c; 则表达式s * b + c的类型为( C )。Achar Bshort Cint Dbyte9下列循环语句的循环次数是( B )。int i=5;do System.out.println(i-);i-;while(i!=0);A5 B无限 C0 D110下列代码哪几行会出错?( C )1) public void modify() 2) int I, j, k;3) I = 100;4) while (I 0) 5) j = I * 2;6) System.out.println( The va
13、lue of j is + j);7) k = k + 1;8) I-;9) 10 Aline 4 Bline 6 Cline 7 Dline 811下列关于数组的定义形式,哪些是错误的?( ABC )Aint c=new char10; Bint 3=new int2 ;Cint a; a=new int; Dchar b ; b=new char80;12执行String s=new String10;语句后,哪些结论是正确的?( BC )As0 为 未定义 Bs.length 为10Cs9 为 null Ds10 为 13下列关于Java语言的数组描述中,错误的是( D )。A数组的长度
14、通常用length表示 B数组下标从0开始C数组元素是按顺序存放在内存的 D数组在赋初值和赋值时都不判界14下面的表达式哪些是正确的? ( ACE )AString s=你好;int i=3; s+=i;BString s=你好;int i=3; if(i=s) s+=i;CString s=你好;int i=3; s=i+s;DString s=你好;int i=3; s=i+;E. String s=null; int i=(s!=null)&(s.length()0)?s.length():0;15下列代表十六进制整数的是( C )。A012345 B2008 C0xfa08 Dfb05
15、16在switch(expression)语句中,expression的数据型不能是( C )。Achar Bshort Cdouble Dbyte17下列说法正确的是( AC )。A表达式“1+23”的值是false B表达式“1+2|3”是非法的表达式C表达式“i+j=1”是非法的表达式 D表达式“1+23”的值是true18指出正确的表达式( B )。Abyte=128; Blong l=0xfffL; CBoolean=null; Ddouble=0.9239d;19public class T18 static int arr = new int10; public static v
16、oid main(String a) System.out.println(arr1); 哪个语句是正确的?( C )A编译时将产生错误 B编译时正确,运行时将产生错误C输出零 D输出空20若String s = hello; String t = hello; char c = h,e,l,l,o ; 则下列哪些表达式返回true?( AB )As.equals(t); Bt.equals(new String(hello);Ct.equals(c); Ds=t;21执行下面的代码段:switch(m) case 0: System.out.println(case 0); case 1:
17、System.out.println(case 1); break; case 2: default: System.out.println(default);下列m的哪些值将引起default的输出?( CD )A0 B1 C2 D322下列关于“”的运算,哪些是正确的?( AC )A0000 0100 0000 0000 0000 0000 0000 00005 的运行结果是1000 0000 0000 0000 0000 0000 0000 0000B0000 0100 0000 0000 0000 0000 0000 00005的运行结果是1111 1110 0000 0000 000
18、0 0000 0000 0000D1100 0000 0000 0000 0000 0000 0000 00005的运行结果是0000 0110 0000 0000 0000 0000 0000 0000三、判断题1Java语言使用的是Unicode字符集,每个字符在内存中占8位。( )2Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。( )3所有的变量在使用前都必须进行初始化。( )4已知byte i = (byte)127; i = i +1;这两个语句能被成功编译。( )5String str=abcdefghi; char chr=str.charAt(9); ( )
19、6char chrArray= a, b, c, d, e, f, g; char chr=chrArray6; ( )7int i,j; boolean booleanValue=(i=j); ( )8int intArray=0,2,4,6,8; int length=int Array.length();( )9String str=abcedf; int length=str.length; ( )10short shortValue=220; byte byteValue=shortValue; ( )11int intArray60; ( )12char str=abcdefgh;
20、 ( )13说明或声明数组时不分配内存大小,创建数组时分配内存大小。( )14强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。( )四、分析题1分析下面的程序,写出运行结果。public class Exercises5_1 String str = new String(Hi !); char ch = L, i, k, e ; public static void main(String args) Exercises5_1 ex = new Exercises5_1(); ex.change(ex.str, ex.ch); System.out.print(ex.str
21、+ ); System.out.print(ex.ch); public void change(String str, char ch) str = How are you; ch1 = u; 运行结果是:( Hi ! Luke )2分析下面的程序,写出运行结果。public class Exercises5_2 public static void main(String args) int n = 1, m, j, i; for (i = 3; i = 30; i += 2) m = (int) Math.sqrt(double) i); for (j = 2; j = m + 1) S
22、ystem.out.print(i + ); if (n % 5 = 0) System.out.print(n); n+; 运行结果是:( )3 5 7 11 13 17 19 23 29 3分析下面的程序,写出运行结果:public class Exercises5_3 public static void main(String args) String str1 = new String(); String str2 = new String(String 2); char chars = a, , s, t, r, i, n, g ; String str3 = new String
23、(chars); String str4 = new String(chars, 2, 6); byte bytes = 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39 ; String str5 = new String(bytes); StringBuffer strb = new StringBuffer(str3); System.out.println(The String str1 is + str1); System.out.println(The String str2 is + str2); System.
24、out.println(The String str3 is + str3); System.out.println(The String str4 is + str4); System.out.println(The String str5 is + str5); System.out.println(The String strb is + strb); 运行结果是:( )The String str1 isThe String str2 is String 2The String str3 is a stringThe String str4 is stringThe String st
25、r5 is 0123456789The String strb is a string五、改错题1找出下面代码的错误部分,说明错误类型及原因,并更正。 public int m1 (int number20) number = new int20; for(int i=0;inumber.length;i+) numberi = numberi-1 + numberi+1; return number; 改正后程序: public int m1(int number) / number = new int20; for (int i = 1; i number.length - 1; i+)
26、numberi = numberi - 1 + numberi + 1; return number; 2找出下面代码的错误部分,说明错误类型及原因,并更正。(1) int x = 1; while (x = 10); i+; 改正后程序: int x = 1, i = 0; while (x = 10) i+; (2) switch (n) case 1: system.out.println(The name is 1); case 2: system.out.println(The name is 2); break; 改正后程序: int n = 1; switch (n) case
27、1: System.out.println(The name is 1); break; case 2: System.out.println(The name is 2); break; 六、简答题1Java的关键字有哪些?2标识符有何用途?Java中定义标识符的规则有哪些?3Java定义了哪些基本数据类型?基本数据类型和引用数据类型的特点是什么?字节型和字符型数据有何区别?长度为32位的基本数据类型有哪些?4整型常量有哪三种表示形式?浮点型变量有哪两种表示形式?布尔型常量可以转换成其他数据类型吗?5在Java 语言中,表示字符串常量和字符常量时应注意哪些问题?6在Java转义字符表示中,A
28、SCII码值对应的字符如何表示?Unicode字符集中对应的字符如何表示?7什么是表达式语句?什么是空语句?什么是块语句?可以把块语句视为一条语种吗?8if语句中,一定是逻辑型表达式吗? switch语句中,里一定有break语句吗?9while循环语句与do-while循环语句有何不同?10for循环语句中,关键字for后面括号内的表达式是否可以使用多个用逗号分隔的表达式?for-each语句的特点是什么?11break语句和continue语句有哪两种形式?12创建数组元素为基本数据类型的数组时,系统都会指定默认值吗?布尔型的默认值是什么?13在Java中怎样定义和使用一维数组、二维数组?14字符串类String 和StringBuffer类有何不同?15Java中的数组实际上是一个隐含的“数组类”的对象,而数组名实际上是该对象的一个引用,这种说法对吗?16字符数组与字符串有本质的不同,而字符串实际上是String类和StringBuffer类的对象,这种说
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1