Java2实⽤教程第5版习题解答
习题解答
习题1(第1章)
⼀、问答题
1.Java语⾔的主要贡献者就是谁?
2.开发Java应⽤程序需要经过哪些主要步骤?
3.Java源⽂件就是由什么组成的?⼀个源⽂件中必须要有public类不?
4.如果JDK的安装⽬录为D:\jdk,应当怎样设置path与classpath的值?
5.Java源⽂件的扩展名就是什么?Java字节码的扩展名就是什么?
6.如果Java应⽤程序主类的名字就是Bird,编译之后,应当怎样运⾏该程序?
7.有哪两种编程风格,在格式上各有怎样的特点?
1.James Gosling
2.需3个步骤:
1)⽤⽂本编辑器编写源⽂件。
2)使⽤javac编译源⽂件,得到字节码⽂件。
3)使⽤解释器运⾏程序。
3.源⽂件由若⼲个类所构成。对于应⽤程序,必须有⼀个类含有public static void main(String args[])的⽅法,含有该⽅法的类称为应⽤程序的主类。不⼀定,但⾄多有⼀个public类。
4.set classpath=D:\jdk\jre\lib\rt、jar;、;
5、java与class
6、java Bird
7、独⾏风格(⼤括号独占⾏)与⾏尾风格(左⼤扩号在上⼀⾏⾏尾,右⼤括号独占⾏)
⼆、选择题
1.B。
2.D。
1.下列哪个就是JDK提供的编译器?
A) java、exe
B) javac、exe
C) javap、exe
D) javaw、exe
2.下列哪个就是Java应⽤程序主类中正确的main⽅法?
A) public void main (String args[ ])
B) static void main (String args[ ])
C) public static void Main (String args[])
D) public static void main (String args[ ])
三、阅读程序
阅读下列Java源⽂件,并回答问题。
public class Person {
void speakHello() {
System、out、print("您好,很⾼兴认识您");
System、out、println(" nice to meet you");
}
}
class Xiti {
public static void main(String args[]) {
Person zhang = new Person();
zhang、speakHello();
}
}
(a)上述源⽂件的名字就是什么?
(b)编译上述源⽂件将⽣成⼏个字节码⽂件?这些字节码⽂件的名字都就是什么?
(c)在命令⾏执⾏java Person得到怎样的错误提⽰?执⾏java xiti得到怎样的错误提⽰?执⾏java Xiti、class得到怎样的错误提⽰?执⾏java Xiti得到怎样的输出结果?
1.(a)Person、java。(b)两个字节码,分别就是Person、class与Xiti、class。(c)得到“NoSuchMethodError”,得
到“NoClassDefFoundError: Xiti/class”,得到“您好,很⾼兴认识您nice to meet you”
习题2(第2章)
⼀、问答题
1. 什么叫标识符?标识符的规则就是什么?false就是否可以作为标识符。
2. 什么叫关键字?true与false就是否就是关键字?请说出6个关键字。
3. Java的基本数据类型都就是什么?
4. float型常量与double型常量在表⽰上有什么区别?
5、怎样获取⼀维数组的长度,怎样获取⼆维数组中⼀维数组的个数。
1.⽤来标识类名、变量名、⽅法名、类型名、数组名、⽂件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号与数字组成,第⼀个字符不能就是数字。false不就是标识符。
2.关键字就就是Java语⾔中已经被赋予特定意义的⼀些单词,不可以把关键字作为名字来
⽤。true与false不就是关键字。6个关键字:class implements interface enum extends abstract。
3.boolean,char,byte,short,int,long,float,double。
4.float常量必须⽤F或f为后缀。double常量⽤D或d为后缀,但允许省略后缀。
5.⼀维数组名、length。⼆维数组名、length。
⼆、选择题
2.下列哪三项就是正确的float变量的声明?adf
A、 float foo = -1;
B、 float foo = 1、0;
C、 float foo = 42e1;
D、 float foo = 2、02f;
E、 float foo = 3、03d;
F、 float foo = 0x0123;
3.下列哪⼀项叙述就是正确的?b
A、 char型字符在Unicode表中的位置范围就是0⾄32767
B、 char型字符在Unicode表中的位置范围就是0⾄65535
C、 char型字符在Unicode表中的位置范围就是0⾄65536
D、 char型字符在Unicode表中的位置范围就是-32768⾄32767
4.以下哪两项就是正确的char型变量的声明?be
A、 char ch = "R";
B、 char ch = '\\'
C、 char ch = 'ABCD';
D、 char ch = "ABCD";
E、 char ch = '\ucafe';
F、 char ch = '\u10100'
5.下列程序中哪些【代码】就是错误的?2345
public class E {
public static void main(String args[]) {
int x = 8;
byte b = 127; //【代码1】
b = x; //【代码2】
x = 12L; //【代码3】
long y=8、0; //【代码4】
float z=6、89 ; //【代码5】
}
}
6.对于int a[] = new int[3];下列哪个叙述就是错误的?b
A、 a、length的值就是3。
java变量的数据类型分为两种
B、 a[1]的值就是1。
C、 a[0]的值就是0。
D、 a[a、length-1]的值等于a[2]的值。
1.C。
2.ADF。
3.B。
4.BE。
5.【代码2】【代码3】【代码4】【代码5】。
6.B。
三、阅读或调试程序
1.属于操作题,解答略。
2.属于操作题,解答略。
3.属于操作题,解答略。
4、下列程序标注的【代码1】,【代码2】的输出结果就是什么?public class E {
public static void main (String args[ ]){
long[] a = {1,2,3,4};
long[] b = {100,200,300,400,500};
b = a;
System、out、println("数组b的长度:"+b、length); //【代码1】System、out、println("b[0]="+b[0]); //【代码2】
}
}
5、下列程序标注的【代码1】,【代码2】的输出结果就是什么?public class E {
public static void main(String args[]) {
int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}};
b[0] = a;
b[0][1] = b[1][3];
System、out、println(b[0][3]); //【代码1】
System、out、println(a[1]); //【代码2】
}
}
4.【代码1】:4。【代码2】:b[0]=1。
5.【代码1】:40。【代码2】:7
四、编写程序
1.编写⼀个应⽤程序,给出汉字‘您’、‘我’、‘她’在Unicode表中的位置。
2.编写⼀个Java应⽤程序,输出全部的希腊字母。
1、public class E {
public static void main(String args[]) {
System、out、println((int)'您');
System、out、println((int)'我');
System、out、println((int)'她');
}
}
2、public class E {
public static void main (String args[ ]) {
char cStart='α',cEnd='ω';
for(char c=cStart;c<=cEnd;c++)
System、out、print(" "+c);
}
}
习题3(第3章)
⼀、问答题
1.关系运算符的运算结果就是怎样的数据类型?
2.if语句中的条件表达式的值就是否可以就是int型?
3.while语句中的条件表达式的值就是什么类型?
4.switch语句中必须有default选项码?
5.在while语句的循环体中,执⾏break语句的效果就是什么?
6.可以⽤for语句代替while语句的作⽤不?
1.boolean
2.不可以
3.boolean
4、不就是必须的
5.结束while语句的执⾏
6.可以
⼆、选择题
1.下列哪个叙述就是正确的?a
A、5、0/2+10的结果就是double型数据。
B.(int)5、8+1、0的结果就是int型数据。
C.'苹'+ '果'的结果就是char型数据。
D.(short)10+'a'的结果就是short型数据。
2.⽤下列哪个代码替换程序标注的【代码】会导致编译错误?c
A.m-->0
B.m++>0

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。