当前位置:文档之家› Java语言程序设计(第2版)第1-6章 课后习题答案

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

Java语言程序设计(第2版)第1-6章 课后习题答案
Java语言程序设计(第2版)第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 程序Exerl_1.java

import java.io.*;

public class Exerl_1

{

public static void main (String args[ ])

{

System.out.print("This is a ");

System.out.println("strint.")

}

}

该程序的输出结果如下:

This is a string.

1-2 程序Exerl_2.java

Import java.io.*;

Public class Exerl_2

{

Public static void mian(String args[ ])

{

Char ch=" ";

System.out.println("Input a character:");

Try{

ch=(char)System.in.read();

}

Catch(IOException e)

{ }

System.out.println("The character is \'"+ch+"\'");

}

}

该程序的输出结果如下

Input a character:k↙

The character is ‘k’

1-3 程序Exerl_3.java

import java.io.*;

public class Exerl_3

{

Public static void main(String args[ ])

{

String str= " "

System.out.println("Input a string:");

Try{

BufferedReader in =new BufferedReader(new InputStreamReader(System.in));

str=in.readLine();

}

Catch(IOException e )

{ }

System.out.println("The string is \'"+str+ "\ " ");

}

}

1-4 程序Exerl_4.java

import java.io.*

public class Exerl_4

{

public static void main(String args[ ])

{

A a=new A;

a.i=8;

a.d=1.25;

a.meth("该程序输出结果如下所示");

System.out.println("\ti="+a.i+",d="+a.d);

}

}

class A

{

int i;

double d;

void meth(string str)

{

System.out.println(str);

}

}

该程序输出结果如下所示

i=8,d=1.25

编程题

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

参考程序内容如下

import java.io.*;

public class prol_1

{

public static void main(String args[ ])

{

System.out.println("Hello!How are you.");

}

}

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

Var1=10,var2=19.5

Ok!

参考程序内容如下:

import java.io.*;

public class prol_2

{

public static void main(String args[ ])

{

int var1=10;

double var2=19.5;

System.out.println("var1="+var1+",var2="+var2);

System.out.println("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 。

A.//

B./*…*/

C./**…**/

D./**…*/

2-5Java语言中字符型数据的长度是B 位。

A.8

B.16

C.32

D.64

2-6下列描述的两种数据类型的长度不相等的是A 。

A.字符型和布尔型

B.字节型和布尔型

C.短整型和字符型

D.整型和单精度浮点型

2-7下列是Java语言中的复合数据类型,其中错误的是C 。

A.数组

B.接口

C.枚举

D.类

2-8下面是关于Java语言中数据类型的强制转换的描述,其中错误的是C,D 。

A.当数据类型从高转换为低时需强制转换

B.强制转换时使用强制转换去处符,形如(<类型>)

C.浮点型数据强制转换为整型时,小数部分四舍五入

D.赋值操作中都要采用强制类型转换

2-9下列关于常量的描述中,错误的是B,D 。

A.Java语言的常量有5种

B.浮点型数12.456是单精度的

C.布尔型常量只有两个可选值:true和false

D.字符串常量含有结束符'\0 '

2-10下列关于定义符号常量的描述中,错误的是A,C 。

A.定义符号常量使用关键字const

B.定义符号常量时要赋初值

C.符号常量既可以定义为类成员,又可在方法中定义

D.定义符号常量时必须给出数据类型

2-11下列关于变量的默认值的描述,其中错误的是B,C 。

A.定义变量而没有进行初始化时,该变量具有默认值

B.字符型变量的默认值为换行符

C.布尔型变量的默认值是true

D.变量的默认值是可以被改变的

2-12下列关于变量定义的描述中,正确的是A,C 。

A.定义变量时至少应指出变量名字和类型

B.定义变量时没有给出初值该变量可能是无意义值

C.定义变量时,同一个类型多个变量间可用逗号分隔

D.定义变量时必须要给变量初始化

2-13下列关于变量作用域的描述,错误的是D 。

A.在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可

见的

B.在类中定义的变量的作用域在该类中的方法内可以使用

C.在方法中定义的变量的作用域仅在该方法体内

D.在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量

2-14下列关于增1(++)减1(--)1运算符的描述中,正确的是A,B 。

A.增1 减1运算符都是单目运算符

B.增1 减1运算符都具有前缀运算和后缀运算

C.增1 减1运算符不会改变变量的值

D.增1 减1运算符前缀运算和后缀运算后表达式值是相同的

2-15关于运算符优先级的描述中,错误的是D 。

A.在表达式中,优先级高的运算符先进行计算

B.赋值运算符优先级最高

C.单目运算符优先级高于双目和三目运算符

D.逻辑运算符优先级高于逻辑位运算符

2-16下列关于表达式的描述中,正确的是A,C 。

A.任何表达式都有确定的值和类型

B.算数表达式的类型由第一个操作数的类型决定

C.逻辑表达式的操作数是逻辑型的

D.赋值表达式的类型取决于右值表达式的类型

2-17下列表达式中,非法的是B,C 。

int a=5,b=6;double c=1.1,d=2.2

A.a+c+++d

B.(a+c)- -

C.c<

D.a!=b?c:d

2-18下列关于条件语句的描述中,错误的是A,C 。

A.If语句可以有多个else子句和else if子句

B.If语句中可以没有else子句和else if子句

C.If语句中的〈条件〉可以使用任何表达式

D.If语句的if体、else体内可以有循环语句

2-19下列关于开关语句的描述中,错误的是B,C,D 。

A.开关语句中,default子句可以省略

B.开关语句中,case子句的〈语句序列〉中一定含有break语句

C.开关语句中,case 子句和default子句都可以有多个

D.退出开关语句的唯一条件是执行break语句

2-20下列关于循环语句的描述中,错误的是B,D 。

A.任何一种循环体内都可以包含一种循环语句

B.循环体可以是空语句,也可以是空

C.循环体内可以出现多个break语句

D.循环语句中,循环体至少被执行一次

2-21下列循环语句的循环次数是D 。

int i=5;

do{

System.out.println(i--);

i--;

}while(i!=0);

A.0

B.1

C.5

D.无限

2-22下列循环语句中,循环体被执行的次数为D 。

for (int i=0,j=0;(j!=18)||(i<4);i++)

A.3

B.4

C.不确定

D.无限

2-23下列关于Java语言的数组描述中,错误的是D 。

A.数组的长度通常用length来表示

B.数组下标从0开始

C.数组元素是按顺序存放在内在的

D.数组在赋初值和赋值时都不判界

2-24下列关于数组的定义形式,错误的是A,C,D 。

A.int[]a;a=new int;

B.char b[];b=new char[80]

C.int[]c=new char[10]

D.int[]d[3]=new int[2][]

2-25下列关于字符串的描述中,错误的是B 。

A.Java语言中,字符串分为字符串常量和字符串变量两种

B.两种不同的字符串都String类的对象

C.Java语言中不再使用字符数组存放字符串

D.Java Application程序的main()和参数args[]是一个String类的对象数组,用它可

存放若干个命令行参数

判断题

2-1Java语言标识符中可以使用美元符。(对)

2-2Java语言标识符中大小写字母是没有区别的。(错)

2-3分号(;)、逗号(,)和冒号(:)都可作为Java语言中的分隔符。(对)

2-4文档注释符/**…*/是Java语言特有的注释符。(对)

2-5Java语言的基础数据类型有4种:整型、浮点型、字符型和布尔型。(对)

2-6Java语言的复合数据类型有3种:数组、类和包。(错)

2-7Java语言中,字节型与字符型是一样的。(错)

2-8Java语言是一种强类型语言,数据类型转换有两种:隐含转换和强制转换(对)2-9数据由高类型转换到低类型时,采用强制转换,数据精度要受到损失。(对)

2-10布尔型常量可以自动转换为短整型常量。(错)

2-11Java语言使用的是Unicode字符集,每个字符在内在中占8位。(错)

2-12Java语言的字符串中不隐含结束符。(对)

2-13Java语言中定义符号常量使用final关键字。(对)

2-14Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。(对)

2-15Java语言中只有无符号的字符型。(对)

2-16字符型变量中只存放一个字符。(对)

2-17定义变量时必须进行初始化,否则变量具有无意义的值。(错)

2-18若定义变量时不进行初始化,则该变量一定具有默认值。(错)

2-19Java语言中,变量出现的位置只有一种,即为类体内定义的成员变量。(错)

2-20Java语言规定在的程序块中不允许定义同名变量。(对)

2-21求余运算符%可用于整数和浮点数。(错)

2-22关系运算符组成的表达式是逻辑表达式。(错)

2-23逻辑运算符&和&&是没有区别的,都具有逻辑与的功能。(错)

2-24运算符& 是逻辑与运算符还是按位与运算符取决于操作数的类型。(对)

2-25运算符“>>”和“>>>”都是右移运算符,其区别在于对向右移出的位是舍弃还是保留。(错)

2-26赋值运算符组成的赋值表达式中,通常将右边表达式的类型转换为左边变量的类型后再赋值。(对)

2-27三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的(对)

2-28强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。(对)2-29对象运算符instanceof是一个单目运算符,其表达式的值的类的对象。(错)

2-30内存分配运算符new可以为创建的数组分配内存空间,但不能为创建的变量分配空间。

2-31运算符的优先级中,最低的是三目运算符。(错)

2-32运算符的结合性中,除了三目运算符是自右向左外,其余都是自左向右。(错)2-33关系表达式和逻辑表达式的值都是布尔型的。(对)

2-34赋值表达式的值不能是逻辑型的。(错)

2-35条件表达式的类型总是“?”和“:”之间的操作数的类型。(错)

2-36块语句可能嵌套,外层块语句定义的变量在内层块语句中是可见的(对)

2-37条件自勉中的<条件>表达式可以是任何表达式。(错)

2-38在条件语句的嵌套结构中,一个if子句最多有一个else子句与它配对,而且一定是距离它最近的。(对)

2-39开关语句中,case子句后面的<语句序列>可以是块语句。(对)、

2-40循环语句中,<条件>表达式必须是逻辑型表达式。(对)

2-41在Java语言中,break语句不能作用在<标号名>的左边。(错)

2-42Java语言中,数组在静态和动态赋值时都判越界。(对)

2-43说明或声明数组时不分配内存大小,创建数组时分配内存大小。(对)

2-44基本数据类型的数组在创建时系统将指定默认值。(对)

2-45数组在定义时可以进行初始化,使用初始值表。(对)

2-46Java语言中数组元素只有下标表示,没有指针表示。(对)

2-47创建数组时,系统自动将数组元素个数存放在length变量中,可供用户对数组操作时使用。(对)

2-48字符串可分为字符串常量和字符串变量两种,它们都是对象。(对)

2-49Java语言中不使用字符数组存放字符串(对)

2-50下列创建字符串s的方法是错误的。(对)

char ch[]={'m',m','n','n'};

char s[]=new char(ch);

计算表达式的值,上机验证其结果题

2-1已知:int a=3,b=5;

求下列表达式的值:

(1)(a+b)%b

(2)b>>a

(3)-b>>>a

(4)A&b

(5)++a-b++

答案:(1)3 (2)0 (3)53670911 (4)1 (5)-1

2-1已知:double x=1.5,y=2.8;

求下列表达式的值:

(1)x++>y—

(2)x+4/5

(3)2*x==y

(4)y/6*6

(5)y+=x-=1

答案(1)false (2)1.5 (3)false (4)2.8 (5)3.3

2-3已知:Boolean b1=true, b2=false; int a=6;

求值:

(1)b1&b2

(2)!b1&&b2||b2

(3)b2&b1|!b2

(4)b1!=b2

(5)!(a>6)&a6|b2=true)

答案:(1)false (2)false (3)true (4)false (5)true

2-4已知:int a[]={3,5,7,9};

求值:

(1)a[0]+a[1]

(2)a[3]=6

(3)a[2]*a[3]>4*a[3]

(4)(a[0]+=a[1])+ ++a[2]

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

a[0]+=a[i];

答案:(1)8 (2)6 (3)true (4)16 (5)24 分析程序输出结果题

2-1Exer2_1.java程序

public class Exer2_1

{

public static void main(String args[])

{

int i=3;

char c='p';

float f=3.5f;

double d=32.56;

short s=25;

booleab=true;

string st="new";

System.out.println("i+s="+(i+s));

System.out.println("d+f="=(d+f));

System.out.println("st+\"year\"="+st+"year");

System.out.println("!b||b="+(!b||b));

System.out.println("b?i:d="+(b?i:d));

}

}

输出结果如下:

i+s=28

d+f=36.06

st+"year"=new year

c+2=r

!b||b=true

b?i:d=3.0

2-2Exer2_2.java程序

public class Exer2_2

{

public static void main(String args[])

{

int suma=0,sumb=0;

for(int a=0,b=0;a<5;a++,b++)

{

suma+=a;

sumb+=b;

}

System.out.println("suma="+suma+",sumb="+sumb) }

}

输出结果如下:

suma=10,sumb=60

2-3Exer2_3.java程序

public class Exer2_3

{

public static void main(String args[])

{

int i,j;

First_Loop:

for(i=1;i<50;i++)

{

for(j=2;j

if(i%j)==0

continue First_Loop;

System.out.println(i);

}

}

}

输出结果如下:

1

2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

2-4Exer2_4.java程序

public class Exer2_4

{

public static void main(String args[])

{

char ch='B';

switch(ch)

{

case'A':System.out.println("5"):break;

case'B':System.out.println("4"):break;

case'C':System.out.println("3"):break;

default:System.out.println("0");

}

}

}

输出结果如下:

4

2-5Exer2_5.java程序

public class Exer2_5

{

public static void main(String args[])

{

int a=3,b=5;

if(a==3)

if(b==1)

a++;

else

b++;

System.out.println(a+","+b);

int x=1,y=4;

if(x==2)

{

if(y==4)

x++;

}

else

y++;

System.out.println(x+","+y);

}

}

输出结果如下:

3,5

1,5

2-6Exer2_6.java程序

public class Exer2_6

{

public static void main(String args[])

{

int i;

for(i=1;i<10;i++)

{

if(i>2)

System.out.println("AB");

else

System.out.println("BA");

if(i==5)

break;

}

System.out.println("i="+i);

}

}

输出结果如下:

BA

BA

AB

AB

AB

i=5

2-7Exer2_7.java程序

public class Exer2_7

{

public static void main(String args[])

{

long j1=1,j2=1;

for(int i=5;i>=1;i--)

j1*=i;

for(int i=4;i>=1;i--)

j2*=i;

System.out.println("5!+4!"+(j1+j2));

}

}

输出结果如下:

5!

4!=144

2-8Exer2_8.java程序

public class Exer2_8

{

public static void main(String args[])

{

String s1="123456";

char ch[]={'4','5','6','7','8'};

double d[];

d=new double[5];

d[0]=1.2f;d[1]=2.3f;d[2]=3.4f;d[3]=4.5f;d[4]=5.6f;

String s2[]={"ab","cd","ef"};

int[]a[]={{1,2,3},{4,5,6},{7,8,9}};

System.out.println("s1="+s1);

for(ing i=0;i<5;i++)

System.out.print(ch[i]+",");

System.out.println();

for(i=0;i<5;i++)

d[0]+=d[i];

System.out.println("d[0]="+d[0]);

System.out.println(s2[0]+";"+s2[1]+";"+s2[2]);

for(i=0;i<3;i++)

{

System.out.println();

for(int j=0;j<3;j++)

System.out.print(a[i][j])+" ";

}

}

}

输出结果如下:

s1=123456

4,5,6.7.8

d[0]=18.200000047683716

ab;cd;ef

1 2 3

4 5 6

7 8 9

2-9Exer2_9.java程序运行时命令行带有参数。运行格式如下:C:\Exer2_9 51 100↙

程序Exer2_9.java内容如下:

public class Exer2_8

{

public static void main(String args[])

{

int sum=0;

ing i=Integer.parseInt(args[0]);

int n=Integer.parseInt(args[1]);

for(;i<=n;i++)

sum=+=i;

System.out.println("sum="+sum);

}

}

输出结果如下:

sum=3775

2-10Exer2_10.java程序

public class Exer2_8

{

public static void main(String args[])

A:

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

{

for(ing j=0;j<8;j++)

{

System.out.print("*");

System.out.println();

continue A;

}

}

}

}

输出结果如下:

*

*

*

*

*

编程题

2-11按下列要求写出Java语言的语句。

(1)定义一个double型变量d,并赋初值为2.5。

该语句如下:

Double d=2.5;

(2)在屏幕上输出显示(1)中所定义的变量d的值。

该语句如下:

System.out.println("d="+d);

(3)定义一个字符型一维数组ch它的大小为10。

该语句如下:

char ch[]=new char[10];

(4)定义一个字符串常量s1,其字符串为“abc”

String s1="abc";

(5)定义一个boolean型变量b,赋初值为true。

boolean b=true

(6)在屏幕上输出显示26个大写字母。

实现该功能的程序段如下:

for(char ch='a';ch<='z';ch++)

System.out.print(ch)

System.out.println();

(7)将代数式s=a2+2ab+b2写成一个赋值表达式语句。

该语句如下:

s=a*a+2*a*b+b*b

(8)a,b和c是3个int型变量,用条件表达式写出a>b时,c值为a,否则c值为b。

int a,b,c;

if(a>b)

c=a;

else

c=b;

(9)用for循环语句实现下述循环:循环变量m为100,每次m循环减10;当m 等于50时退出循环,循环体为空语句。

for(int m=100;m==50;m-=10)

{ }

(10)使用带标号名的break语句,在双重for循环自勉结构中,一次从内层循环跳出外层循环。

该功能程序段如下:

F:for(ing i=…)

{

for(ing j=…)

{

break F;

}

}

2-12编程求出一个一维int型数组的元素最大值、最小值、平均值和所有元素之和。

程序内容如下:

import java.io.*;

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];

System.out.println("max="+max+",min="+min+",ave="+sum/8+",sum="+su

m);

}

}

运行该程序后,输出结果如下:

Max=90,min=21,ave=53,sum=424

2-3编程将一个浮点型数的整数部分和小数分别输出显示。

import java.io.*;

public class pro2_2

{

public static void main(String args[])

{

double d=23.56dl;

d1=d;

int n=0;

while(true)

{

d--;

if(d<0)

break;

n++

}

System.out.println("integer="+n+",decimal="+(d1-n));

}

}

运行该程序后,输出结果请读者自己分析

2-4编程生成Fibonacci数列,该数列定义为:

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

程序内容如下:

import java.io.*;

public class pro2_3

{

public static void main(String args[])

{

int f1,f2;

f1=f2=1

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

{

System.out.print(f1+" "+f2+" ");

f1+=f2;

f2+=f1;

}

System.out.println()

}

}

这里假定生成Fiblnacci数列的前20项,可根据需要生成若干项。运行该程序后的输出结果如下:

1 1

2

3 5 8 13 21 3

4 55

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

程序内容如下

import java.io.*;

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)

{

System.out.print(i+" ");

n++;

}

if(n%8==0)

System.out.println();

}

}

}

2-6使用switch语句根据考试成绩等级输出百分制的分数段。规定如下:

A.85~100

B.70~84

C.60~69

D.<60

假定85~100分为A,70~84为B,60~69分为C,<60分为D。

程序内容如下:

import java.io.*;

public class pro2_5

{

public static void main(String args[])

{

int a=Interger.valueOf(args[0].intValue());

int n=a/5;

if(a<60)

n=11;

switch(n)

{

case 20:case 19:case 18:case 17:

System.out.println("A");break;

case 16:case 15:case 14:

System.out.println("B");break;

case 13:case 12:

System.out.println("C");break;

case 11:

System.out.println("D");

}

}

}

输入的分数是通过命令行参数来实现的。假定命令参数为73时,运行该程序输出结果如下:

B

2-7百鸡百钱问题。公鸡每只3无,母鸡每只5无,小鸡3只一元,用100元买100只鸡,公鸡、母鸡、小鸡应各买多少?

程序内容如下:

import java.io.*;

public class pro2_6

{

public static void main(String args[])

{

for(int a=1;a<34;a++)

for(int b=1;b<21;b++)

if(3*a+5*b+(100-a-b)/3==100 && (100-a-b)%3==0)

System.out.println("公鸡="+a+",母鸡="+b+",小鸡="+(100-a-b));

}

}

运行该程序后输出结果如下:

公鸡=4,母鸡=12,小鸡=84

公鸡=11,母鸡=8,小鸡=81

公鸡=18,母鸡=4,小鸡=78

2-8编程输出如图所示的图形

*

* * *

* * * * *

* * * * * * *

* * * * * * * * * 程序内容如下:

import java.io.*;

public class pro2_7

{

public static void main(String args[])

{

for(int i=1;i

{

for(int j=1;j

if(j<=9-i)

System.out.print(" ")

else

System.out.print("*");

System.out.println();

}

}

}

java课后题答案

第1章Java概述 1.编译java application源程序文件将产生相应的字节码文件,这些字节码文件别 的扩展名为、java 2.执行一个java程序fristapp的方法就是运行java fristapp 3.main()方法的返回类型就是void 4.在java代码中,public static void main方法的参数描述正确的就是string args 【】,string【】args 5.内存的回收程序负责释放无用内存√ 6.java体系主要分为java ME,Java SE,JavaEE三大块 第2章Java基础 1.Java语言中,下列标识符错误的就是40name 2.java变量中,以下不属于引用类型的数据类型就是字符型 3.double d=5、3E12 × 4.C 5.A 6.for循环的一般形式为;for(初值;终值;增量),以下对for循环的叙述,正确 的就是初值与增量都就是赋值语句,终值就是条件判断语句 7.当输入下面选项中3值时,将会输出default 8.下面哪种方法能够支持javadoc命令/**…*/ 9.下面声明一个string类型的数组正确的就是string str[] 10.下面定义一个整型数组,不合法的就是int[][]array=new int[][4]; 11.给定代码;。。。。。下面叙述正确的就是输出的结果为:0 12.java语言规定,标示符只能由字母,数字美元符$与下划线租成,并且第一个 字符不能就是数字;java就是区分大小写的。 13.表达式1/2*3的计算结果就是0;设x=2,则表达式(x++)/3的值就是0 14.数组的长度可以用其属性lengt h获得;创建一个数组对象可以使用new关键 字创建 第3章面向对象基础 1.在java中引用对象变量与对象间有什么关系?引用变量就是指向对象的一个指针 2.对象就是面向对象技术的核心所在,在面向对象程序设计中,对象就是累的抽象× 3.构造方法何时被调用?创建对象时 4.A,B,D 5.在java语言中在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2、在类c中 要使用类a的方法与类b的方法b,需要选择import p1、*; import p1、p2,*;

《基础会计学》第二章课后习题及参考答案

5.在借贷记账法下,有关账户之间形成的应借应贷的相互关系称为账户对应关系。()第二章会计记账方法 6.总分类账户与明细分类账户进行平行登记时的所谓同时登记,确切地说应该是同一会计期间作业一: 登记。()一,单项选择题: 7.平行登记的要求中,所谓登记方向一致,是指会计分录中总分类账户和明细分类账户的记账 1.下列科目中属于流动资产的是() 符号是一致的。()A预提费用B短期借款C资本公积D应收账款 8.采用借贷记账法,每发生一笔经济业务必定要在两个账户中同时登记。() 2.企业全部资产减去全部负债后的净额,就是企业的() 四,名词解释A所有者权益B实收资本C资本公积D盈余公积 平行登记发生额平衡法余额平衡法 3.预付供货单位货款属于企业的一项() 五,简答题A资产B负债C收入D费用 1.简述借贷复式记账法的内容和特点。 4.经济业务发生后,会计等式的平衡关系() 2.简述总账和明细账平行登记的要点及两者数量关系核对的公式。 A可能会受影响B不一定受影响C必然不受影响D必然受影响 3.简述借贷记账法的试算平衡。 5.资产与权益的平衡关系是指()

六,综合题A一项资产金额与一项权益金额的相等关系B几项资产金额与一项权益金额的相等关系 1.计算题C流动资产合计金额与流动负债金额的相等关系D资产总额与权益总额的相等关系 某企业有关会计要素的数据如下: 6.引起资产内部一个项目增加,另一个项目减少,而资产总额不变的经济业务是() 负债5000万元;所有者权益8000万元;A用银行存款偿还短期借款B收到投资者投入的机器一台C收到外单位前期欠的货款 费用200万元;利润6000万元;D收到国家拨入的特种储备物资 要求: 计算资产总额和收入总额 7.企业用借款直接偿还应付购货款,属于() 2.某公司设有以下账户: 实收资本、本年利润、现金、银行存款、待摊费用、预提费用、原材A资产项目和权益项目同增B权益项目之间此增彼减C资产项目和权益项目同减 料、固定资产、其他应收款、应收账款、应付账款、预收账款、预付账款、其他应付款、材料采D资产项目之间此增彼减 购、累计折旧、管理费用、财务费用、营业费用、主营业务收入、其他业务收入、营业外收入、 8.只有采用权责发生制原则核算的企业,才需要设置() 主营业务成本、其他业务支出、应交税金、短期借款、资本公积、制造费用、生产成本、库存商A待摊费用B本年利润C银行存款D库存商品

java入门到精通课后练习和答案(1-6章)

1.9练一练 一.填空题 1.运行编译后的class文件,需要输入命令java 2.JVM是指java虚拟器 3.Java程序源文件扩展名为java 二,简答题 1.简述java语言的特点 (1)简洁有效(2)可移植性(3)面向对象(4)解释型(5)适合分布式计算 2.java虚拟器的作用是什么? 答:保证编译后的java代码能够在安装java虚拟器的系统上运行。 2.5练一练 一.填空题 1.java程序是从main()处开始运行的。 2.在java中,多行注释的开始和结束标记分别为/*和*\。 3.声明1个名称“count”的整形变量的语句为int count; 4.Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 二、简答题 1.简述设置变量的3种方法。 (1)在声明前设置 (2)在声明后设置 (3)在任何位置声明设置 2.简述提高程序可读性的两种方法。 *添加注释*使用缩进方法编写 3.4练一练 1.Eclipse是IBM花巨资开发的IDE集成开发环境(Intergrated Development Environment)。 2.【源代码】菜单中所包含的命令都是和代码编写相关的,主要用于源代码工作。 3.选择【文件】>【新建】>【项目...】命令,打开【新建项目】对话框。 二.简答题 1.Eclipse提供了哪两种程序调试方式? *java应用程序*调试 2.取消Eclipse启动时出现的设置工作空间的对话框的具体方法是什么? Eclipse启动时在【设置工作空间】的对话框中选中【将此值用作缺省值并且不再询问】复选框。 4.3练一练 1.变量是利用声明的方式,将内存中的某个块保留下来以供程序使用 2.常量就是固定不变的量,一旦被定义,它的值就不能再被改变。 3.当常量用于一个类的成员变量时,必须给常量赋值,否则会出现编译错误。 二.简答题 1.简述变量的命名规则 Java程序中的标识符可由字母、数字、下划线和美元符号组成,但不能以数字开头,不能保留java保留的关键字。 2.按作用范围划分,变量是如何划分的?

java课后答案

java课后答案 第一章 ,.发明java的原因是什么,发明java的主要贡献者是谁, 答:开发java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。当时,c语言已无法满足人们的这一愿望,因为c语言总是针对特定的芯片将源程序编译成机器码,该机器码的运行就与特定的芯片指令有关,在其他类型的芯片上可能无法运行或者运行出错。主要贡献者是James Gosling。 2.“java编译器将源文件编译生成的字节码是机器码”,这句话正确吗, 答:不正确,字节码是很接近机器码谢谢了的二进制文件,不能被机器直接识别。 3. java应用程序的主类必须含有怎么样的方法, 4. "java应用程序必须有一个类是public类".这句话正确吗, 答:一个java应用程序必须有一个类含有public static void main(String args[] )方法,称为该应用程序的主类。 5. "java applet程序的主类必须是public类",这句话正确吗, 不正确 "java applet源文件的主类必须是public类",这句话正确吗, 正确 6. 叙述java源文件的命名法则。 答:(1)如果源文件中有多个类,那么只能有一个类是public类。(2)如果有一个类是public类,那么源文件的名字必须和这个类的名字完全相同,扩展名 为.java(3)如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名为.java就可以了。(4)java语言区分大小写。 7. 源文件生成的的字节码运行时加载到内存中吗, 8. 怎样编写加载运行java applet的简单网页,

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

高数课后习题及答案 第二章 2.3

2.2)1 ()3,0 x f x x ==; 解: 11 lim 11 lim lim ()lim 3330 lim ()lim 333 x x x x x x x x x x f x f x - →--+ →++-∞ →→+∞ →→========+∞ 因为0 lim ()lim ()x x f x f x - + →→≠,所以3 lim ()x f x →-不存在。 3)2 11(),02x f x x - ?? == ? ?? ; 解: 2 10000 11lim ()lim ()lim ()lim 22x x x x x f x f x f x -+- -∞ →→→→?? ??=====+∞ ? ??? ?? 所以3 lim ()x f x →-不存在。 4)3,3 9)(2 -=+-= x x x x f ; 解:63 ) 3)(3(lim )(lim )(lim 3 3 3 -=+-+==+ + - -→-→-→x x x x f x f x x x 故极限6)(lim 3 -=-→x f x 2 2 2 2 2 5).lim ()224,lim ()3215, lim ()lim (),lim ()x x x x x f x f x f x f x f x -+-+→→→→→=?==?-=≠解:因为所以不存在。 ()0 6.lim ()lim 21,lim ()lim cos 12,lim ()lim (),lim ()x x x x x x x x f x f x x f x f x f x --++-+→→→→→→→===+=≠)解:因为所以不存在。 7)1()arctan ,0f x x x ==;

JAVA实用教程(第三版)课后习题答案

第一章Java语言概述 2.“java编译器将源文件编译为的字节码文件是机器码”这句话正确吗? 答:不正确 3.java应用程序的主类必须含有怎样的方法? 答:含有main方法 4。“java应用程序必须有一个类是public类”这句话正确吗? 答;不正确,只能有一个public类 5。“java Applet程序的主类必须是public类”这句话正确吗? 答:正确,因为java Applet主类必须是Applet类的子类并且是public 的类 6。请叙述java源程序的命名规则。 答:与public的类同名。 7。源文件生成的字节码文件在运行时都加载到内存中吗? 答:非也,动态随需要运行才加载。 8.面向对象的程序设计语言有那些基本特征? 答:封装;继承;多态性。 9.在Java程序中有多个类文件时,用Java命令应该运行那个类?答:具有main方法的类 第二章基本数据类型和数组 4。下列哪些语句是错的?

Int x=120; Byte b=120; b=x; 答:B=x;错应为b=(byte)x 5。下列哪些语句是错的? 答:y=d;错,应y=(float)d 6。下列两个语句是等价的吗? Char x=97; Char x=…a?; 答:是等价的。 7。下列system.out.printf语句输出结果是什么? Int a=97; Byte b1=(byte)128; Byte b2=(byte)(-129); System.out.printf(“%c,%d,%d”,a,b1,b2); 如果输出语句改为: System.out.printf(“%d,%d,%d”,a,b1,b2); 输出什么? 答:输出a ,-128,127 修改后输出97,-128,127 8.数组是基本数据类型吗?怎样获取数组的长度? 答:不是基本数据类型,是复合数据类型。可以通过:数组名.length

java课后习题及答案

第一章JA V A语言概论 一、选择题 1. 下列不属于java语言特点的是:B A. java能检查程序在变异和运行时的错误 B. java 能运行虚拟机实现跨平台 C. java 自己操纵内存减少了内存出错的可能性 D. java 还实现了真数组,避免了覆盖数据的可能 2. java语言的执行模式是:C A. 全编译型 B. 全解释型 C. 半编译和半解释型 D. 同脚本语言的解释模式 3. 下列关于虚拟机说法错误的是:B A. 虚拟机可以用软件实现 B. 虚拟机部可以用硬件实现 C. 字节码是虚拟机的机器码 D. 虚拟机把代码程序与各操作系统和硬件分开 4. java语言是1995年由()公司发布的A A. Sun B. Microsoft C. Borland D. Fox Software 5. 下列不是虚拟机执行过程特点的是A A. 双线程 B. 多线程 C. 动态链接 D. 异常处理 6. java以JVM为基础,最下层是移植接口,由适配器和()组成B A. 网卡 B. Java os C. Java基本类 D. Java 应用程序和applet小程序 7. java程序的执行过程中用到一套JDK工具,其中javac.exe指A A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器 8. java的API结构中,不属于类库主要包括的核心包的是C A. java包 B. javax C. javadoc包 D. org扩展包 9. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有()类或者界面是公共的A

(完整版)微观经济学第二章课后习题答案

第二章需求、供给和均衡价格 1.解: (1)将需求函数Q d= 50-5P和供给函数Q s=-10+5P代入均衡条件Q d=Q s ,有:50- 5P= -10+5P 得: Pe=6 以均衡价格Pe =6代入需求函数Q d=50-5p ,得: Qe=50-5×6 或者,以均衡价格 Pe =6 代入供给函数Q s =-10+5P ,得:Qe=-10+5×6 所以,均衡价格和均衡数量分别为Pe =6 , Qe=20 图略. (2)将由于消费者收入提高而产生的需求函数Q d=60-5p和原供给函数Q s=-10+5P, 代入均 衡条件Q d=Q s有: 60-5P=-10+5P 解得Pe =7 以均衡价格Pe =7代入Q d=60-5p ,得 Qe=25 或者,以均衡价格Pe =7代入Qs =-10+5P, 得Qe=25 所以,均衡价格和均衡数量分别为Pe =7,Qe=25 (3)将原需求函数Q d=50-5p 和由于技术水平提高而产生的供给函数Q s=-5+5p ,代入均衡条件Q d=Q s,有: 50-5P=-5+5P得 P e=5.5 以均衡价格Pe=5.5代入Q d=50-5p, 得Qe=50-5×5.5=22.5 所以,均衡价格和均衡数量分别为Pe=5.5,Qe=22.5图略。 (4)(5)略 2.解: (1)根据中点公式计算,e d=1.5 (2)由于当P=2时,Q d=500-100*2=300,

所以,有: 22 .(100)3003 d dQ P dP Q e =- =--*= (3)作图,在a 点P=2时的需求的价格点弹性为:e d =GB/OG=2/3或者e d =FO/AF=2/3 显然,利用几何方法求出P=2时的需求的价格弹性系数和(2)中根据定义公式求出结果是相同的,都是e d =2/3 3解: (1) 根据中点公式 求得:4 3 s e = (2) 由于当P=3时,Qs=-2+2×3=4,所以 3 .2 1.54 s dQ P dP Q e = =?= (3) 作图,在a 点即P=3时的供给的价格点弹性为:e s =AB/OB=1.5 显然,在此利用几何方法求出的P=3时的供给的价格点弹性系数和(2)中根据定义公式求出的结果是相同的,都是e s =1.5 4.解: (1)根据需求的价格点弹性的几何方法,可以很方便地推知:分别处于不同的线性需求曲线上的a 、b 、e 三点的需求的价格点弹性是相等的,其理由在于,在这三点上都有: e d =FO/AF (2)根据求需求的价格点弹性的几何方法,同样可以很方便地推知:分别处于三条线性需求曲线上的a 、e 、f 三点的需求的价格点弹性是不相等的,且有e da

《Java程序设计》课后习题参考答案

习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。 习题2参考答案 1.Java语言包含哪些数据类型? 答:包含基本数据类型和复合数据类型。基本类型包括整数类型、浮点数类型、布尔类型。复合类型包括类类型(Class Type)、接口类型(Interface Type)与数组类型(Array Type)。 2.Java有多少关键字? 答:abstract, continue, for, new, switch,boolean, default, goto*, null, synchronized,break, do, if, package, this,byte, double, implements, private, threadsafe,byvalve*, else, import, protected, throw,case, extends, instanceof, public, transient,catch, false, int, return, true,char, final,

java练习题答案

第1章java语言概述习题 一、填空题 1、面向对象程序的主要特征:继承,__封装___,___多态 _____。 2、java中的继承机制之所以能够降低程序的复杂性,提高程序的效率,主要是 因为它使代码可以__重用或复用___. 3、java语言中,为将源代码翻译成 __字节码__文件时产生的错误称为编译错误, 而将程序在运行中产生的错误称为运行错误。 4、javac是java语言中的编译器,基本语法是:javac[选项] __文件名__,java 是java语言中的解释执行器,基本语法是:java[选项]___类名___. 5、java语言的主要贡献者是谁James gosling 二、[ 三、单选题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文 件的扩展名为( B)。 A、java B、.class C、html D、.exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首 部, 以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) ) D、public void main(String arg[]) 三、判断 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 四、问答题 1、编写、运行java程序需要经过哪些主要步骤 答:1.编写源文件,扩展名必须是.java 2.编写java源程序,使用java编译器编写源文件,得到字节码文件 ~ 3.运行java程序,使用javaSE平台只不过的java解释器来解释执行字 节码文件。 2、阅读下列java源代码文件,并回答问题 public class Speak{ void speakHello(){ "I'm glad to meet you"); } } … class Xiti8{

《Java基础入门》课后章节习题及答案(完整版)

《Java基础入门》课后章节习题及答案(完整版)《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言

C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre; 三、问答题 1、简述Java的特点。 面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、简述JRE与JDK的区别。

java语言程序设计课后习题答案解析

习题2 3.使用“= =”对相同内容的字符串进行比较,看会产生什么样的结果。 答:首先创建一个字符串变量有两种方式:String str = new String("abc"); String str = "abc"; 使用“= =”会因为创建的形式不同而产生不同的结果: String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1= =str2); //false String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1= =str2); //false 因此自符串如果是对内容进行比较,使用equals方法比较可靠。 String str1 = "abc"; String str2 = "abc"; System.out.println(str1= =str2); //true String str1 = new String("abc"); String str2 = "abc"; System.out.println(str1.equals(str2)); //true String str1 = new String("abc"); String str2 = new String("abc"); System.out.println(str1.equals(str2)); //true 5.编写一个程序,把变量n的初始值设置为1678,然后利用除法运算和取余运算把变量的每位数字都提出来并打印,输出结果为:n=1678。n的每位数字是1,6,7,8。若n为任意值呢? 法一: public class Exercise5{ public static void main(String[] args){ int n=1678; int unit; int decimal; int hundred; int thousand; int count; thousand=n/1000; count=n%1000; hundred=count/100; count=count%100; decimal=count/10; count=count%10; unit=count; System.out.println("1678包含的数 字分别是: "+thousand+','+hundred+','+decimal+', '+unit); } } //如果n为任意值 import java.io.*; public class Exercise51{ public static void main(String[] args) throws IOException{ System.out.print("请输入一个整数:"); InputStreamReader isStream=new InputStreamReader(System.in); BufferedReader bfReader=new BufferedReader(isStream); String input=bfReader.readLine(); int length=input.length()-1; int n=new

大物第二章课后习题答案

简答题 什么是伽利略相对性原理什么是狭义相对性原理 答:伽利略相对性原理又称力学相对性原理,是指一切彼此作匀速直线运动的惯性系,对于描述机械运动的力学规律来说完全等价。 狭义相对性原理包括狭义相对性原理和光速不变原理。狭义相对性原理是指物理学定律在所有的惯性系中都具有相同的数学表达形式。光速不变原理是指在所有惯性系中,真空中光沿各方向的传播速率都等于同一个恒量。 同时的相对性是什么意思如果光速是无限大,是否还会有同时的相对性 答:同时的相对性是:在某一惯性系中同时发生的两个事件,在相对于此惯性系运动的另一个惯性系中观察,并不一定同时。 如果光速是无限的,破坏了狭义相对论的基础,就不会再涉及同时的相对性。 什么是钟慢效应 什么是尺缩效应 答:在某一参考系中同一地点先后发生的两个事件之间的时间间隔叫固有时。固有时最短。固有时和在其它参考系中测得的时间的关系,如果用钟走的快慢来说明,就是运动的钟的一秒对应于这静止的同步的钟的好几秒。这个效应叫运动的钟时间延缓。 尺子静止时测得的长度叫它的固有长度,固有长度是最长的。在相对于其运动的参考系中测量其长度要收缩。这个效应叫尺缩效应。 狭义相对论的时间和空间概念与牛顿力学的有何不同 有何联系 答:牛顿力学的时间和空间概念即绝对时空观的基本出发点是:任何过程所经历的时间不因参考系而差异;任何物体的长度测量不因参考系而不同。狭义相对论认为时间测量和空间测量都是相对的,并且二者的测量互相不能分离而成为一个整体。 牛顿力学的绝对时空观是相对论时间和空间概念在低速世界的特例,是狭义相对论在低速情况下忽略相对论效应的很好近似。 能把一个粒子加速到光速c 吗为什么 答:真空中光速C 是一切物体运动的极限速度,不可能把一个粒子加速到光速C 。从质速关系可看到,当速度趋近光速C 时,质量趋近于无穷。粒子的能量为2 mc ,在实验室中不存在这无穷大的能量。 什么叫质量亏损 它和原子能的释放有何关系 答:粒子反应中,反应前后如存在粒子总的静质量的减少0m ?,则0m ?叫质量亏损。原子能的释放指核反应中所释 放的能量,是反应前后粒子总动能的增量k E ?,它可通过质量亏损算出20k E m c ?=?。 在相对论的时空观中,以下的判断哪一个是对的 ( C ) (A )在一个惯性系中,两个同时的事件,在另一个惯性系中一定不同时;

Java程序的设计课后复习题参考答案

高等院校计算机基础教育规划教材《Java 程序设计》课后习题参考答案 ――大学 习题1参考答案 1.Java语言的特点有哪些? 答:参考1.1.2 防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。因此,如果要求类成员部的一致性,就应该通过类本身的方法来处理。 这种数据隐藏技术就是面向对象的重要特性——封装。它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。 2.简述封装的优点。 答:封装是一个简单而有效的思想,优点有:(1)模块化,对成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。 面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。 3.Java的基本工具有哪些? (1)javac 编译器 (2)java 解释器 (3)jdb Java 语言调试器 (4)javadoc API文档管理器 (5)javah 头文件生成器 (6)appletviewer 小应用程序浏览器 (7)javap 类文件反汇编器 4.Java开发环境是如何配置的? 答:对于Windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。在出现的[环境变量]窗口中,在[系统变量]框中选择[Path]项,单击[编辑]按钮,在弹出的[编辑系统变量]窗口的[变量值]框后加上上面两条语句。

清华大学出版社 Java课后答案

第1章: 参考答案: 习题集: 一、填空题 1.多态 2.java.exe 3.jdb.exe 4.标准字节码 5.java 6.独立于平台 二、选择题 1.B 2.A 3.B 4.A 5.A 6.C 7.C 8.D 9.C 第2章: 参考答案: 实验指导: 2.5.1.第一处需要的代码:yourGuess>realNumber 第二处需要的代码:yourGuess=input.nextInt(); 第三处需要的代码:yourGuess

《Java基础入门》_课后习题答案解析__1~

第1章 Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程 序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章 Java编程基础 一、填空题 1、 class 2、 true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、 & && | || 7、 0 8、 5 9、 34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

第二章课后习题与答案

第2章人工智能与知识工程初步 1. 设有如下语句,请用相应的谓词公式分别把他们表示出来:s (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 解:定义谓词d P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为: (?x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花)) (2) 有人每天下午都去打篮球。 解:定义谓词 P(x):x是人 B(x):x打篮球 A(y):y是下午 将知识用谓词表示为:a (?x )(?y) (A(y)→B(x)∧P(x)) (3)新型计算机速度又快,存储容量又大。 解:定义谓词 NC(x):x是新型计算机 F(x):x速度快 B(x):x容量大 将知识用谓词表示为: (?x) (NC(x)→F(x)∧B(x)) (4) 不是每个计算机系的学生都喜欢在计算机上编程序。 解:定义谓词 S(x):x是计算机系学生 L(x, pragramming):x喜欢编程序 U(x,computer):x使用计算机 将知识用谓词表示为: ? (?x) (S(x)→L(x, pragramming)∧U(x,computer)) (5)凡是喜欢编程序的人都喜欢计算机。 解:定义谓词 P(x):x是人 L(x, y):x喜欢y 将知识用谓词表示为:

(?x) (P(x)∧L(x,pragramming)→L(x, computer)) 2 请对下列命题分别写出它们的语义网络: (1) 每个学生都有一台计算机。 解: (2) 高老师从3月到7月给计算机系学生讲《计算机网络》课。 解: (3) 学习班的学员有男、有女、有研究生、有本科生。 解:参例2.14 (4) 创新公司在科海大街56号,刘洋是该公司的经理,他32岁、硕士学位。 解:参例2.10 (5) 红队与蓝队进行足球比赛,最后以3:2的比分结束。 解:

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application 的入口方法main()的检验: main()方法的参数名就是否可以改变? main()方法的参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法的参数名可以改变。(2)main()方法的参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译不?如果能编译,能运行不? 参考答案:当一个程序没有main()方法就是,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? byte i = 127; byte j = 128; long l1 = 999999; long l2 = 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与long l2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 = 3、5; float f2 = 3、5f; 参考答案:java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型的,但就是int类型无法转换为char类型的;(2)int 可以转换为double类型的,但就是double类型无法转换为int 类型的。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1) 4+5 == 6*2 (2) (4=5)/6 (3) 9%2*7/3>17 (4) (4+5)<=6/3 (5) 4+5%3!=7-2 (6) 4+5/6>=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法的。 7、下列()就是合法的Java标识符。 (1) Counter1 (2) $index, (3) name-7 (4) _byte (5) larray (6) 2i

java课后练习题答案

一、选择题 1、在创建某类的对象时应该(C ) A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能使用对象 C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D、以上述说法都对 2、以下说法中对Java中定义的父类与子类的关系描述正确是的(C ) A、一个子类可以有多个父类,一个父类也可以有多个子类 B、一个子类可以有多个父类,但一个父类只可以有一个子类 C、一个子类可以有一个父类,但一个父类可以有多个子类 D、上述说法都不对 3、给定如下Java 程序片断: class A { public A() { System.out.print ("Java"); }} class B extends A { public B() { System.out.print (" Welcome"); } public static void main(String[] args) { B b=new B(); } }上述程序将( B) A、不能通过编译 B、通过编译,输出为: Java Welcome C、通过编译,输出为: Welcome D、通过编译,输出为: Java 4、给定以下程序段,如下: int i=0,j=-1; switch(i) { case 0:j=1; case 2:j=2; default:j=5; } System.out.print("j="+j); 编译运行,正确的是(D) A、j=-1 B、j=1 C、j=2 D、j=5 5、下面关于Java构造函数的描述正确的是(D ) A、类必须有显式定义构造函数 B、它的返回类型是void C、它和类有相同的名称,但它不能带任何参数 D、以上描述都是错误的 6、在Java编程中,用来执行Java类文件的命令是(B ) A、javac B、java C、appletviewer D、以上都不对 7、如下程序片段,体现了Java的( B) 概念 public void aMethod(String s) {........} public void aMethod(int i) {........}

相关主题
文本预览
相关文档 最新文档