Java语言程序设计第1-6章课后习题答案

  • 格式:pdf
  • 大小:176.46 KB
  • 文档页数:23

Java语⾔程序设计第1-6章课后习题答案

第1章Java语⾔概述

选择题1-1 在下列概念中,Java语⾔只保留了(B)

A. 运算符重载

B. ⽅法重载

C. 指针

D. 结构和联合

1-2 下列关于Java语⾔特性的描述中,错误的是(D)

A. ⽀持多线程操作

B. Java程序与平台⽆关

C. Java和程序可以直接访问Internet上的对象

D. ⽀持单继承和多继承

1-3 下列关于Java Application程序在结构上的特点的中,错误的是(C)

A. Java程序是由⼀个或多个类组成的

B. 组成Java程序的若⼲个类可以放在⼀个⽂件中,也可以放在多个⽂件中

C. Java程序的⽂件名要与某个类名相同

D. 组成Java程序的多个类中,有且仅有⼀个主类

1-4 Java程序经过编译后⽣成的⽂件的后缀是(C)

A. .obj

B. .exe

C. .class

D. .java

1-5 下列关于运⾏字节码⽂件的命令⾏参数的描述中,正确的是(A)

A. 第⼀个命令⾏参数(紧跟命令字的参数)被存放在args[0]中

B. 第⼀个命令⾏参数被存放在args[1]中

C. 命令⾏的命令字被存放在args[0]中

D.数组args[]的⼤⼩与命令⾏参数的个数⽆关

判断题1-1JavaC++的语⾔之前问世的。(错)

1-2Java语⾔具有较好的安全性和可移植性及与平台⽆关等特性。(对)

1-3Java语⾔中取消了联合的概念,保留了结构概念。(错)

1-4Java语⾔中数据类型占内在字节数与平台⽆关。(对)

1-5Java语⾔中可⽤下标和指针两种⽅式表⽰数组元素。(错)

1-6Java语⾔的源程序不是编译型的,⽽是编译解释型的。(对)1-7操作系统中进程和线程两个概念是没有区别的。(错)

1-8Java语⾔既是⾯向对象的⼜是⾯向⽹络的⾼级语⾔。(对)

1-9Java程序分为两⼤类:⼀类是Application程序,另⼀类是Applet程序。前者⼜称Java应⽤程序,后者⼜称为Java⼩应⽤程序。(对)1-10Java Application程序是由多个⽂件组成的,其中可以有也可以没有主⽂件。

(错)1-11组成Java Application的若⼲类中,有且仅有⼀个主类,只有主类中含有主⽅法main()。(对)

1-12Java Application程序中,必有⼀个主⽅法main(),该⽅法有没有参数都可以。(对)

1-13Java程序中是不区分⼤⼩写字母的。(错)

1-14下述两个命令:javac和java是不同的,编译时⽤前者,运⾏时⽤后者。(对)1-15Java程序编译后⽣成的是字节码⽂件,其后缀是.exe。(错)1-16字节码⽂件机器是不能直接识别的,它要经过解释器,边解释边执⾏。(对)1-17在Java程序中,使⽤import语句引⼊类是在解释器中实现的。(对)1-18在运⾏字节码⽂件时,使⽤java命令,⼀定要给出字节码⽂件的扩展名.class。(错)

1-19Java程序中有多个类,编译后只⽣成⼀个字节码⽂件,其名字同主类名。(错)1-20Java程序中出现的输出⽅法println()和print()是完全⼀致的。(错)

分析程序的输出结果题1-1 程序Exer

import .*;

public class Exerl_1

{

public static void main (String args[ ])

{

"This is a ");

"strint.")

}

}

该程序的输出结果如下:This is a string.

1-2 程序

Import .*;

Public class Exerl_2

{

Public static void mian(String args[ ])

{

Char ch=" ";

"Input a character:");Try{

ch=(char) e)

{ }

"The character is \'"+ch+"\'");

}

}

该程序的输出结果如下Input a character:k↙

The character is ‘k’

1-3 程序

import .*;

public class Exerl_3

{

Public static void main(String args[ ])

{

String str= " "

"Input a string:");

Try{

BufferedReader in =new BufferedReader(new InputStreamReader);

str=();

}

Catch(IOException e )

{ }

"The string is \'"+str+ "\ " ");

}

}

1-4 程序

import .*

public class Exerl_4

{

public static void main(String args[ ])

{

A a=new A;

=8;

=;("该程序输出结果如下所⽰");

"\ti="++",d="+;

}

}

class A

{

int i;

double d;

void meth(string str)

{

}

}

该程序输出结果如下所⽰i=8,d=

编程题1-1编写⼀个Java Application程序,使该程序运⾏后输出字符串"Hello!How are you."。

参考程序内容如下import .*;

public class prol_1

{

public static void main(String args[ ])

{

"Hello!How are you.");

}

}

1-2 编写⼀个Java Application程序,使该程序输出显⽰如下结果:

Var1=10,var2=

Ok!

参考程序内容如下:import .*;

public class prol_2

{

public static void main(String args[ ]) {

int var1=10;

double var2=;"var1="+var1+",var2="+var2);

"ok!");

}

}

第2章Java语⾔语法基础

选择题2-1Java语⾔所⽤的字符集中字符是 B 位。

A.8

B.16

C.32

D.64

2-2下列关于标识符的描述中,正确的是 A 。

A.标识符中可以使⽤下划线和美元符

B.标识符中可以使⽤连接符和井号符

C.标识符中⼤⼩写字母是⽆区别的

D.标识符可选⽤关键字

2-3Java语⾔和各种分隔符中,⾮法的是 D 。

A.空⽩符

B.分号

C.逗号

D.问号

2-4下列是Java语⾔中可⽤的注释,其中错误的是 C 。

;

public class pro2_1

{

public static void main(String args[])

{

int a[]={23,76,45,21,63,90,46,83};

int max,min,sum;

max=min=a[0];

for(int i=1;i<8;i++)

if(max

max=a[i];

for(int i=1;i<8;i++)

if(min>a[i])min=a[i];

for(int i=1;i<8;i++)

sum+=a[i];

"max="+max+",min="+min+",ave="+sum/8+",sum="+sum);

}

}

运⾏该程序后,输出结果如下:Max=90,min=21,ave=53,sum=424

2-3编程将⼀个浮点型数的整数部分和⼩数分别输出显⽰。

import .*;

public class pro2_2

{

public static void main(String args[])

{

double d=;

d1=d;

int n=0;

while(true)

{

d--;

if(d<0)

break;

n++

}

"integer="+n+",decimal="+(d1-n));

}

}

运⾏该程序后,输出结果请读者⾃⼰分析2-4编程⽣成Fibonacci数列,该数列定义为:

f1=f2=1, f n=f n-1+f n-2(n≥3)

程序内容如下:import .*;

public class pro2_3

{

public static void main(String args[]){

int f1,f2;

f1=f2=1

for(int i=1;i<=5;i++)

{

" "+f2+" ");

f1+=f2;

f2+=f1;

}

这⾥假定⽣成Fiblnacci数列的前20项,可根据需要⽣成若⼲项。运⾏该程序后的输出结果如下:1 1

2

3 5 8 13 21 3

4 55

2-5编程求出⾃然数101~205中的所有素数。

程序内容如下import .*;

public class pro2_4

{

public static void main(String args[])

{

int n=0;

boolean prime=false;

for(int i=101;i<=205;i+=2)

{

prime=true;

for(int j=2;j

if(j%j==0)

{

prime=false;

break;

}

if(prime)

{

" ");