java语言程序设计课后习题+答案(1)

java语言程序设计课后习题+答案(1)
java语言程序设计课后习题+答案(1)

第一章课后习题

1.编译Java程序的命令是什么

2.执行Java程序的命令是什么

应用程序和小程序的区别是什么

4.编写一个application ,实现在屏幕上打印自己名字的功能。

第一章课后习题答案

1.编译Java程序的命令是什么

答案:javac 源文件名

2.执行Java程序的命令是什么

java 主类名

应用程序和小程序的区别是什么

Java application

由Java解释器独立运行字节码

由专门的命令行启动程序执行

程序中有定义了main()方法的主类

Java applet

不能独立运行,字节码必须嵌入HTML文档

当浏览器调用含applet的Web页面时执行

程序中含有java. applet. Applet 类的子类

4.编写一个application ,实现在屏幕上打印自己名字的功能。

class Test

{

public static void main(String[] args)

{

张三”);

}

}

第二章课后习题(1)

一、选择题

1.下列变量定义错误的是。

A) int a; B) double b=; C) boolean b=true; D)float f=;

2.下列数据类型的精度由高到低的顺序是:

a)float,double,int,long

b)double,float,int,byte

c)byte,long,double,float

d)double,int,float,long

3.执行完下列代码后,

int a=3;

char b='5';

char c=(char)(a+b);

c的值是

A)’8’ b)53 c)8 d)56

是一种_____________

A) 数据类型 B)java包 C)字符编码 D)java类

+5%3+2的值是___________

A)2 B)1 C) 9 D)10

6.下面的逻辑表达式中合法的是__________

A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3)语言中,占用32位存储空间的是__________。

A)long,double

B)long,float

C)int,double

D)int,float

8.假设int a=1,b=2,c=3,以下语句正确的是___________。

c=c/float(a出下列正确的语句: (D)

A) byte i = 389;

B) long lv = i*3+;

C) int x = 87L;

D) long l = 10;

11.指出下列类型转换中正确的是______________。

A)int i=’A’ B)long L= C)int i=(boolean) D)int i=

12.以下的选项中能正确表示Java语言中的一个整型常量的是( )。

A) 12. B) -20 C) 1,000 D) 4 5 6

13.以下选项中,合法的赋值语句是( )。(B)

A) a = = 1; B) ++ i;

C) a=a + 1= 5; D) y = int ( i );

14.若所用变量都已正确定义,以下选项中,非法的表达式是( )。

A) a != 4||b==1 B) 'a' % 3

C) 'a' = 1/2 D) 'A' + 32

15.对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是

( )。

A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10

C) k = n % 10 D) k = n / 10

16.现有一变量声明为boolean aa;下面赋值语句中正确的是( )。

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;

17.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。

i += i - 1;

A) 10 B) 121 C) 11 D) 100

18.下列语句序列执行后,ch1 的值是( )。

char ch1=’A’,ch2=’W’;

if(ch1 + 2 < ch2 ) ++ch1;

A) ‘A’ B) ‘B’ C) ‘C’ D) B

19.下列语句序列执行后,i 的值是( )。

int i=8, j=16;

if( i-1 > j ) i--; else j--;

A) 15 B) 16 C) 7 D) 8

20.设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。

A) x > y || x > z B) x != y

C) z > ( y + x ) D) x < y & ! ( x < z )

21.设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。

A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

22.下列的变量定义中,错误的是( )。

A) int i; B) int i=10000;

C) static int i=100; D) int 123_$;

23.以下的变量定义语句中,合法的是( )。

A) float $_*5= ; B) byte b1= 15678;

C) double a =10000;

D) int _abc_ = 3721L;

24.以下字符常量中不合法的是( )。

A) '|' B) '\' C) "\n" D) '我'

25.若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。

A) b = a!=7 ; B) a = 7 + b + c=9;

C) i=* % 4; D) a = a + 7 = c + b;

26.执行下列程序段后,b, x, y的值分别是( )。

int x=6,y=8;

boolean b;

b=x>y&&++x==--y;

A) true , 6, 8 B) false , 7, 7

C) true, 7, 7 D) false, 6, 8

二、填空题

1.以下代码的输出结果是________________。

int i=9;

char c=’a’;

char d=(char)(c+i);

面代码执行完后的输出是__________-。

int x=3;

int y=4;

boolean b=true;

"b is:"+(b==(y

3.表达式(-100%3)的值是_________。

x=2,y=4,z=3 则x>y&&z>y的结果是__________________。

5.写出定义双精度浮点型常量PI,值为的语句:_______________________。

(答案: final double PI=)

6.在Java语言中,逻辑常量只有true 和 ___________ 两个值。

7.表达式1/2*3的计算结果是_________。(答案:0)

8.执行以下程序段后:a = ________, b = ________ 。

int a = 5, b;

b = ++a * 3;

中的的字符使用的是 16 位的________________ 编码。

语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和__________两种具体类型。

11.当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是

_____________ 。

12.表达式3/6 * 5的计算结果是________ 。

13.若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是

_________ 。

14.若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是________ 。

三、编程题

1.编写程序输出以下信息:

**************************

* Welcome To Java! *

**************************

2.编写程序计算半径为5的圆的面积,计算公式为:面积=半径*半径*圆周率

3.编写程序将华氏温度78度转换为摄氏温度,转换成的摄氏温度在屏幕上显示出来:

转换公式为:摄氏度=(5/9)*(华氏度-32)

4.编写程序计算底边长为7、高为3的三角形的面积。

计算公式为:三角形面积=底边长*高/2

5.编写程序,打印汉字’我’在unicode码中对应的十进制编码:

第二章课后习题(1)答案

一、选择题

1.下列变量定义错误的是。 (D)

A) int a; B) double b=; C) boolean b=true; D)float f=;

2.下列数据类型的精度由高到低的顺序是:(B)

a)float,double,int,long

b)double,float,int,byte

c)byte,long,double,float

d)double,int,float,long

3.执行完下列代码后, (A)

int a=3;

char b='5';

char c=(char)(a+b);

c的值是

A)’8’ b)53 c)8 d)56

是一种_____________(C)

A) 数据类型 B)java包 C)字符编码 D)java类

+5%3+2的值是___________(D)

A)2 B)1 C) 9 D)10

6.下面的逻辑表达式中合法的是__________(C)

A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3)语言中,占用32位存储空间的是__________。(D)

D)long,double

E)long,float

F)int,double

E)int,float

8.假设int a=3,b=2,c=1,以下语句正确的是___________。(D)

c=c/float(a出下列正确的语句: (D)

A) byte i = 389;

B) long lv = i*3+;

C) int x = 87L;

D) long l = 10;

11.指出下列类型转换中正确的是______________。(A)

A)int i=’A’ B)long L= C)int i=(boolean) D)int i=

12.以下的选项中能正确表示Java语言中的一个整型常量的是( )。(B)

A) 12. B) -20 C) 1,000 D) 4 5 6

13.以下选项中,合法的赋值语句是( )。(B)

A) a = = 1; B) ++ i;

C) a=a + 1= 5; D) y = int ( i );

14.若所用变量都已正确定义,以下选项中,非法的表达式是( )。(C)

A) a != 4||b==1 B) 'a' % 3

C) 'a' = 1/2 D) 'A' + 32

15.对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是( )。(A)

A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10

C) k = n % 10 D) k = n / 10

16.现有一变量声明为boolean aa;下面赋值语句中正确的是( )。(A)

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;

17.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。(C)

i += i - 1;

A) 10 B) 121 C) 11 D) 100

18.下列语句序列执行后,ch1 的值是( )。(B)

char ch1=’A’,ch2=’W’;

if(ch1 + 2 < ch2 ) ++ch1;

A) ‘A’ B) ‘B’ C) ‘C’ D) B

19.下列语句序列执行后,i 的值是( )。(D)

int i=8, j=16;

if( i-1 > j ) i--; else j--;

A) 15 B) 16 C) 7 D) 8

20.设有定义 float x=, y=, z=;则以下的表达式中,值为true的是( )。(B)

A) x > y || x > z B) x != y

C) z > ( y + x ) D) x < y & ! ( x < z )

21.设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。(D)

A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

22.下列的变量定义中,错误的是( )。(D)

A) int i; B) int i=10000;

C) static int i=100; D) int 123_$;

23.以下的变量定义语句中,合法的是( )。(C)

A) float $_*5= ; B) byte b1= 15678;

C) double a =10000;

D) int _abc_ = 3721L;

24.以下字符常量中不合法的是( )。(C)

A) '|' B) '\' C) "\n" D) '我'

25.若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。(A)

A) b = a!=7 ; B) a = 7 + b + c=9;

C) i=* % 4; D) a = a + 7 = c + b;

26.执行下列程序段后,b, x, y的值分别是( )。(D)

int x=6,y=8;

boolean b;

b=x>y&&++x==--y;

A) true , 6, 8 B) false , 7, 7

C) true, 7, 7 D) false, 6, 8

二、填空题

1.以下代码的输出结果是________________。(答案:字母j)

int i=9;

char c=’a’;

char d=(char)(c+i);

面代码执行完后的输出是__________-。(答案:b is:false)

int x=3;

int y=4;

boolean b=true;

"b is:"+(b==(y

3.表达式(-100%3)的值是_________。(答案:-1)

x=2,y=4,z=3 则x>y&&z>y的结果是__________________。(答案:false)

5.写出定义双精度浮点型常量PI,值为的语句:_______________________。

(答案: final double PI=)

6.在Java语言中,逻辑常量只有true 和 ___________ 两个值。(答案:false)

7.表达式1/2*3的计算结果是_________。(答案:0)

8.执行以下程序段后:a = ________, b = ________ 。(答案:6,18)

int a = 5, b;

b = ++a * 3;

中的的字符使用的是 16 位的________________ 编码。(答案:Unicode)

语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和__________两种具体类型。(答案:double)

11.当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是_____________ 。

(答案:(n%3= =0))

12.表达式3/6 * 5的计算结果是________ 。(答案:0)

13.若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是

_________ 。(答案:true)

14.若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是________ 。(答案:30)

三、编程题

1.编写程序输出以下信息:

**************************

* Welcome To Java! *

**************************

(答案:

public class Test{

public static void main(String[] args){

"**************************");

"* Welcome To Java! *");

"**************************");

}

}

2.编写程序计算半径为5的圆的面积,计算公式为:面积=半径*半径*圆周率

(答案:

public class Test{

public static void main(String[] args){

double radius=;

double area;

final double PI = ;

area= radius * radius*PI;

}

}

3.编写程序将华氏温度78度转换为摄氏温度,转换成的摄氏温度在屏幕上显示出来:

转换公式为:摄氏度=(5/9)*(华氏度-32)

(答案:

public class Test{

public static void main(String[] args){

double hs=;

double cs;

cs=9)*(hs-32);

}

}

4.编写程序计算底边长为7、高为3的三角形的面积。

计算公式为:三角形面积=底边长*高/2

(答案:

public class Test{

public static void main(String[] args){

double l=7;

double h=3;

double area=l*h/2;

}

}

5.编写程序,打印汉字’我’在unicode码中对应的十进制编码:

(答案:

public class Test{

public static void main(String[] args){

char c='我';

int i=c;

}

}

第二章课后习题(2)

一、练习题

1.下列语句序列执行后,m 的值是。

int a=10, b=3, m=5;

if( a==b ) m+=a; else m=++a*m;

A) 15 B) 50 C) 55 D) 5

2.下列语句序列执行后,k 的值是。

int i=4,j=5,k=9,m=5;

if(i>j||m

A) 5 B) 10 C) 8 D) 9

3.下列语句序列执行后,k 的值是。

int i=10, j=18, k=30;

switch( j - i )

{ case 8 : k++;

case 9 : k+=2;

case 10: k+=3;

default : k/=j;

}

A) 31 B) 32 C) 2 D) 33

4.若a和b均是整型变量并已正确赋值,正确的switch语句是。

A) switch(a+b); { ...... } B) switch( a+b* ) { ...... }

C) switch a { ...... } D) switch ( a%b ) { ...... }

5.下列语句序列执行后,r 的值是。

char ch='8'; int r=10;

switch( ch+1 )

{

case '7': r=r+3;

case '8': r=r+5;

case '9': r=r+6; break;

default: r=r+8;

}

A) 13 B) 15 C) 16 D) 18

6.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是。

A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... }

C) switch ch { ...... } D) switch ( a + b ); { ...... }

7.下列语句序列执行后,k 的值是。

int x=6, y=10, k=5;

switch( x%y )

{

case 0: k=x*y;

case 6: k=x/y;

case 12: k=x-y;

default: k=x*y-x;

}

A) 60 B) 5 C) 0 D) 54

8.下列语句序列执行后,r 的值是。

char ch='A'; int r=6;

switch( ch+5 )

{

case 'A': r=r+3;

case 'B': r=r+5;

case 'C': r-=6; break;

default : r/=2;

}

A) 11 B) 3 C) 2 D) 9

9.以下for循环的执行次数是。

for(int x=0;(x==0)&(x>4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次

10.下列语句序列执行后,j 的值是。

int j=1;

for( int i=5; i>0; i-=2 ) j*=i;

A) 15 B) 1 C) 60 D) 0

11.以下for循环的执行次数是。

for(int x=0;(x==0)&(x<4);x++);

A)无限次 B)一次 C)执行4次 D)执行3次

12.下列语句序列执行后,j 的值是。

int j=2;

for( int i=7; i>0; i-=2 ) j*=2;

A) 15 B) 1 C) 60 D) 32

13.以下由 for 语句构成的循环执行的次数是。

for ( int i = 0; true ; i++) ;

A)有语法错,不能执行 B)无限次

C)执行1次 D)一次也不执行

14.下列语句序列执行后,i 的值是。

int s=1,i=1;

while( i<=4 ) {s*=i;i++;}

A) 6 B) 4 C) 24 D) 5

15.下列语句序列执行后,j 的值是。

int j=8, i=6;

while( i >4 ) i-=2;

- -j;

A) 5 B) 6 C) 7 D) 8

16. 若有循环:

int x=5,y=20;

do { y-=x; x+=2; }while(x

则循环体将被执行。

A) 2次 B) 1次 C) 0次 D) 3次

17.以下由do-while语句构成的循环执行的次数是。

int m = 8;

do { ++m; } while ( m < 8 );

A)一次也不执行 B)执行1次

C)8次 D)有语法错,不能执行

18.下列语句序列执行后,i的值是。

int i=10;

do { i/=2; } while( i>1 );

A) 1 B) 5 C) 2 D) 0

19.下列语句序列执行后,i的值是。

int i=10;

do { i/=2; } while( i--> 1 );

A) 1 B) 5 C) 2 D) -1

20.下列循环中,执行break outer语句后,所列()语句将被执行。

outer:

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

{

inner:

for(int j=1;j<10;j++)

{

if(i*j>50)

break outer;

}

next:

A)标号为inner的语句 B)标号为outer的语句

C)标号为next的语句 D)以上都不是

21.下列循环中,执行continue outer语句后,()说法正确。

outer:

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

{

inner:

for(int j=1;j<10;j++)

{

if(i*j>50)

continue outer;

}

}

A)程序控制在外层循环中并且执行外层循环的下一迭代

B)程序控制在内层循环中并且执行内层循环的下一迭代

C)执行标号为next的语句

D)以上都不是

22.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空。

public _____ Class1

{

public static void main( String args[] )

{

char c='a';

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

{ }

}

}

23.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空。

public _____ Class1

{

public static void main( String args[] )

{

int s=0;

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

{

s+=______;

}

"s="+s);

}

}

24.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。

import .*;

public class MyClass

{

public static void main(String[] args)

{

int j=1;

for(int i=1; _______; i++)

{

"*"+j+"="+_______);

}

}

}

25. 设ch1, ch2是 char 型变量:

if ( ch1 == ‘a’ )

{ if ( ch2 == ‘b’ )

" ch1=\’a\’ , ch2=\’b\’ ");

}

else

" ch1!=\’a\’ ");

" end ");

问题: 1)若执行前 ch1 的值为‘a’, ch2 的值为’c’ 该程序段输出是什么

2)若执行前 ch1 的值为’w’, ch2 的值为’b’ 该程序段输出是什么

3)若执行前 ch1 的值为’a’, ch2 的值为’b’ 该程序段输出是什么

26.阅读下面的程序段,回答问题。

if ( x < 5 )

" one ");

else

{

if ( y < 5 )

" two ");

else

" three ");

}

问题:

1)若执行前 x=6, y=8,该程序段输出是什么

2)若执行前 x=1, y=8,该程序段输出是什么

27.下面的程序的输出结果是什么

public class Mystery {

public static void main (String [] args ) {

int y, x = 1 , total = 0 ;

while (x<=10)

{

y = x*x;

y );

total += y;

“Total is ”+total );

}

}

}

28.确定以下各段程序当x=9 , y=11以及x=11 , y=9 时的输出结果。(下面程序我们取消缩进格式)

a)

if ( x < 10 )

if ( y > 10 )

( x < 10 ) {

if ( y > 10 )

{

二、编程题:

1.用while循环,求1-100的和

2.编写程序输出1-20之间的偶数

3.水仙花数是指个位、十位和百位三个数的立方和等于这个三位数本身的数,编写程序求出所有的水仙花数。

4.编写一个Java应用程序,用循环结构打印如下的数值列表:

N 10*N 100*N 1000*N

1 10 100 1000

2 20 200 2000

3 30 300 3000

4 40 400 4000

5 50 500 5000

5.编写一个应用程序,计算1~10之间的各个整数的阶乘,并将结果输出到屏幕上。

6.用while循环求n2大于12000的最小数n。

7.打印2到10000的所有素数,每行显示8个素数。

8.写一个嵌套的for循环打印下列图案:

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

9.编写JAVA Application,要求输出一个如下图的菱形。

*

* * *

* * * * *

* * *

*

10.编写一个主类Triangle,要求在它的main方法中写一个嵌套的for循环,通过这个嵌套的循环在屏幕上打印下列图案:

1

1 2 1

1 2 3 2 1

相关主题
相关文档
最新文档