习题解答
习题1(第1章)
一、问答题
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.(a)Person.java。(b)两个字节码,分别是Person.class和Xiti.class。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError: Xiti/class”,得到“您好,很高兴认识您 nice to meet you”
习题2(第2章)
一、问答题
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。 二、选择题
1.C。2.ADF。3.B。4.BE。5.【代码2】【代码3】【代码4】【代码5】。6.B。 三、阅读或调试程序
1.属于操作题,解答略。 2.属于操作题,解答略。 3.属于操作题,解答略。 4.【代码1】:4。【代码2】:b[0]=1。 5.【代码1】:40。【代码2】:7 四、编写程序 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(\ } }
习题3(第3章)
一、问答题 1.boolean 2.不可以 3.boolean 4. 不是必须的
5.结束while语句的执行
6.可以 二、选择题
1.A。 2.C。 3.C。 三、阅读程序 1.你,苹,甜 2.Jeep好好 3.x=-5,y=-1 四、编程序题
1.public class Xiti1 {
public static void main(String args[]) {
double sum=0,a=1; int i=1; while(i<=20) { sum=sum+a; i++; a=a*i; }
System.out.println(\ } }
2.public class Xiti2 {
public static void main(String args[]) { int i,j;
for(j=2;j<=100;j++) { for(i=2;i<=j/2;i++) { if(j%i==0) break; } if(i>j/2) {
System.out.print(\ } } } }
3.class Xiti3 {
public static void main(String args[]) { double sum=0,a=1,i=1; do { sum=sum+a; i++; a=(1.0/i)*a; }
while(i<=20);
System.out.println(\使用do-while循环计算的sum=\ for(sum=0,i=1,a=1;i<=20;i++) { a=a*(1.0/i); sum=sum+a; }
System.out.println(\使用for循环计算的sum=\ } }
4.public class Xiti4 {
public static void main(String args[]) { int sum=0,i,j; for(i=1;i<=1000;i++) { for(j=1,sum=0;j
System.out.println(\完数:\ } } }
5.public class Xiti5 {
public static void main(String args[]) { int m=8,item=m,i=1; long sum=0;
for(i=1,sum=0,item=m;i<=10;i++) { sum=sum+item; item=item*10+m; }
System.out.println(sum); } }
6. public class Xiti6 {
public static void main(String args[]) { int n=1; long sum=0; while(true) { sum=sum+n; n++;
if(sum>=8888) break; }
System.out.println(\满足条件的最大整数:\
} }
习题4(第4章)
一、问答题
1. 封装、继承和多态。
2.当类名由几个单词复合而成时,每个单词的首字母使用大写。
3.名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第2个单词开始的其它单词的首字母使用大写。 4.属性 5.行为
6.用类创建对象时。没有类型 7.用类创建对象时。
8.一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。 9.可以。不可以。 10.不可以。
11.一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。 12.代表调用当前方法的对象。不可以。 二、选择题
1.B。2.D。3.D。4.D。5.CD。6.【代码1】【代码4】。7.【代码4】。 三、阅读程序
1.【代码1】:1,【代码2】:121,【代码3】:121。 2.sum=-100。 3. 27。 4.【代码1】:100,【代码2】:20.0。 5. 上机实习题目,解答略。 6. 上机实习题目,解答略。 四、编程题 CPU.java
public class CPU { int speed; int getSpeed() { return speed; }