Java程序设计习题_第1页
Java程序设计习题_第2页
Java程序设计习题_第3页
Java程序设计习题_第4页
Java程序设计习题_第5页
已阅读5页,还剩92页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章绪论

1.1[判断*]Java语言不含有指针与析构方法,所以Java程序只有在结构运行时才能释

放所占有的内存。

1.2[判断*]Java语言是不区分大小写的。

1.3[判断*]Java程序源文件的扩展名为“.jar”。

1.4[判断*]Java程序一般应当含有main方法,因为它是所有Java程序执行的入口。

1.5[判断*]作为Java应用程序入口的main方法,其声明可以写成"publicstaticvoid

main(Stringagr[])n,也可以写成"publicstatuevoidmain(String[]s)

1.6[判断*]假设有一个java原程序文件,它只定义了一个具有public属性的类Hello,

那么编译该文件的命令是“javachell。"。

1.7[判断**]当运行Java程序时,类加载器将字节码加载到内存中,字节码检测器确认

所有的字节码是合法的并且不会破坏Java的安全机制,然后解释器读取这些字节码并且将

它们翻译成为计算机可以理解的语言。在程序执行的时候还有可能需要在内存中存贮一些必

要的数据。

1.8[填空题*]Sun公司提供的java开发工具包共有三类:其中用于工作站和个人计算机

的标准开发工具包称为,主要应用于企业开发的工具包称为

主要用于开发只能消费型电子产品(如移动电话和汽车导航系统等)的工

具称为»

1.9[填空题*]Java程序分为两种基本的类型,分别是…

1.10[填空题*]Java语言通过—机制简化了程序的内存管理。

1.11[填空题**]建立Java2SdK1.5.0开发环境,一般需要设置环境变量:

和»

1.12[填空题*]设Sun公司提供的J2SE安装在“C:\J2SE”目录下,则Java运行命令

“java.exe”所在的绝对路径为,Java系统类库所在的绝对路径为

,Java系统所提供的系统例程所在的绝对路径为

1.13[填空题*]在Java源程序中,每•行填空1之后的内容是程序的注释,另外介于填空2

和填空3之间的内容也是注释。

1.14[填空*]查看当前Java虚拟机版本的Java命令为填空1。

1.15[填空*]设有一个Java应用程序,其源程序文件名为J-Test.java,则编译该源程序的

命令为填空1,运行该应用程序的命令为填空2。

1.16[填空*]编写小应用程序一般需要编写两种类型的文件,它们分别是填空1和填空2。

L17[填空*]Java虚拟机运行Java程序的基本步骤是:首先从后缀为填空1的文件加载代

码到内存中,接着在内存中填空2代码的合法性和安全性,然后填空3执行合法和安全的代

码。

1.18[选择题*]Java语言是填空1年由填空2公司第一次正式公布的,填空3被誉为Java

之父.。

(A)1996;IBN;BillJoe

(B)1995;Sun;BruceEckel

(C)1996;Microsoft;AndersHeilsberg

(D)1995;Sun;JamesGosling

1.19[填空*]作为Java应运程序入口的main方法,其声明格式可以是:

(A)publicstaticvoidmain(Stringargs[])

(B)publicstaticintmain(Stringargs[])

(C)publicvoidmain(Stringargs[])

(D)publicintmain(Stringargs[])

1.20[选择题*]设有一个Java小应运程序,起源程序文件名为J_Test.java,其HTNL文件

为JTest.htmL则编译该小应运程序的命令为

(A)javacJ-Test.class(B)javacJ-Test.java

(C)appletviewerJ-Test.class(D)appletviewerJ-Test.html

1.21[选择题*]设有一个Java小应运程序,其源程序文件名为J_Test.java,其HTNL文件名

J.Test.html,则运行该小应运程序的命令为

(A)javaJ-Test(B)javaJ_Test.java

(C)javaJ-Test.class(D)appletviewerJTest,html

1.22[选择题]设J-HelloWord,Java的文件内容如下:

PublicclassJ-HelloWord

(

Publicstaticvoidmain(Stringargs[])

(

System,out.println(uHelloWord");

}〃方法main结束

}〃类J-HelloWord结束

下面说法真确的是--------

(A)在控制台命令提示下先运行命令"javaJ-HelloWorld.java”,然后运行命令"java

J_HelloWorld”,结果输出一行字符串“HelloWorld”

(B)在控制台命令提示下先运行命令"javaJ-HelloWorld”,然后运行命令"javaJ_Hello

World,class”,,结果输出一行字符串“HelloWorld"

(0在控制台命令提示下先运行命令javaJ-HelloWorld.java”,然后运行命令"javaJ

_HelloWorld,class”,,结果输出一行字符串"HelloWorld"

(D)在控制台命令提示下先运行命令"javaJ-Hell。World”,然后运行命令"javaJJIello

World”,结果输出一行字符串“HelloWorld"

1.23[选择题**]设J-HelloWorld.java的文件内容如下:

PublicclassJ-HelloWorld

(

PublicstaticvoidMain(stringargs[])

(

System,out.printin(^HelloWorldw;

}〃方法Main结束

"/类J-HelloWorld结束

下面说法正确的是

(A)在控制台命令提示下先运行命令"javaJ-HelloWorld.java”,然后运行命令"java

JJIelloWorld”,结果输出一行字符串“HelloWorld"

(B)在控制台命令提示下先运行命令"javaJ-HelloWorld”,然后运行命令"javaJ

JIelloWorld,class”,,结果输出一行字符串“HelloWorld”

(C)在控制台命令提示下先运行命令javaJ-HelloWorld,java”,然后运行命令"java

JJIelloWorld,class”,,结果输出一行字符串HelloWorld"

(D)在控制台命令提示下先运行命令"javaJ-HelloWorld”,然后运行命令"javaJ

HelloWorld”,结果输出一行字符串“HelloWorld”

1.24[选择题**]设J-HelloWorld.java的文件内容如下:

ClassJ-HelloWorld

Publicstaticvoidmain()

(

System,out.println(uHelloWorld");

}〃方法Main结束

}〃类J-HelloWorld结束

下面说法正确的是-

(A)J-HelloWorldojava无法通过编译,因为main的方法声明方式不对

(B)J-HelloWorldojava可以通过编译,但在运行该程序是会出现“程序中没有

main的方法”的异常

(C)J-HelloWorldojava可以通过编译,但无法运行,因为该文件没有public

(D)J-HelloWorldojava可以通过编译并正常运行,结果输出字符串"Hello

World,,

1.25[选择题*]设J_helloworld.java的文件内容如下。

ClassJ-HelloWorld

(

Staticvoidmain(Stringargs[])

(

System,out.println(uHelloWorld")

}〃方法main结束

"/类J-HelloWorld结束

下面说法正确的是

(A)J-HelloWorld.java无法通过编译,因为main方法的声明方式不对

(B)J-HelloWorld.java可以通过编译,但在运行该程序是会出现"Mainmethodnot

pubic.”的提示信息

(C)J-HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类

(D)J-HelloWorld.java可以通过编译并正常运行,结果输出字符串"HelloWorld"

1.26[选择题*]设J-HelloWorld.java的文件内容如下.

ClassJ-HelloWorld

(

Publicvoidmain(Stringargs[])

(

System,out.println(uHelloWorld");

}〃方法main结束

}//类J-HelloWorld结束

下面说法正确的是

(A)J-HelloWorld.java无法通过编译,因为main方法的声明方式不对

(B)J-HelloWorld.java可以通过编译,但在运行该程序是会出现“程序中会出现没

有main方法”的异常

(C)J-HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类

(D)J-HelloWorld.java可以通过编译并正常运行,结果输出字符串“HelloWorld"

1.27[选择题*]如果已经编写了小应用程序源程序J-Applet.java,请完成如下它所对应的

HTML代码。

<html>

<head>

<titie>J-Applet</title>

</head>

<body>

<appletcode="填空"width=300height=60></applet>

</body>

</html>

(A)J_Applet,java(B)JApplet

(C)J_Applet.class(D)以上都不对

1.28[选择题**]在一个合法的Java源程序文件中定义了3个类,则其中属性为public

的可能有儿个?

(A)0(B)l(C)2(D)3

1.29[选择题**]编译一个定义了两个类和三个方法的Java源码文件,总共会产生几

个字节码文件,这些字节码文件的扩展名是什么?

(A)5个字节码文件,以java”为扩展名

(B)2个字节码文件,以Java”为扩展名

(C)5个字节码文件,以class”为扩展名

(D)2个字节码文件,以class”为扩展名

1.30[简答题*]谁是Java语言的创始人?

1.31[简答题*]请列举简述Java语言的主要特点。

1.32[简答题*]请简述Java虚拟机运行Java程序的基本过程。

1.33[趣味题*]试编写一个Java应运程序,通过输出字符的方式在控制窗口中输出如下

图案:

1.34[趣味题*]试编写一个Java小应运程序,通过显示字符的方式在一个网页上显示如

下图案:

1.35[趣味题*]试编写一个Java应运程序,通过输出字符的方式在控制窗口中输出如下

图案:

第二章结构化程序设计

2.1【判断正误*]】Java语言的标识符是不区分大小写的。

2.2【判断正误*】在Java语言中,每个ASCH码英文字符占用8个二进制位,而每个

中文汉字字符则占用16个二进制位

2.3【判断正误*】已知语句“intt=640;”在语法上是正确的。并将给变量t赋初值

640,那么判断语句"shorts=640;”在语法上的正确性。

2.4【判断正误*】已知语句“intt=640000;"在语法上是正确的,并将给变量t赋初

值640000,那么请判断语句“shorts=640000;M在语法上的正确性。

2.5【判断正误*】已知语句“intt=640000;"在语法上是正确的,并将给变量t赋初

值640000,那么请判断语句“shorts=(short)640000;”在语法上的正确性。

2.6【判断正误*】在Java语言中,语句"booleant=l;"定义了boolean类型的变量

t并给它赋了初值trueo

2.7【判断正误*】判断下面语句是否正确。

B=9a+2;

2.8【判断正误*】在Java语言中,执行语句ubooleant=l&&8;w的结果将使boolean

类型变量t的值成为true。

2.9【填空题*】Java标识符是由组成的字符序

列。

2.10【填空题*】Java字符(char)采用的是ISO(国际标准化组织)规定的

__________________________________________________字符集。

2.11【填空题*】下面程序的运行结果是o

PublicclassJTest(

Publicstaticvoidmain(Stringargs[]){

Inti=0;

While(true){

If(i++>10)

Break;

)

System,out.println(i);

"/方法main结束

}类J_Test结束

2.12【填空题*】下面程序的运行结果是o

PublicclassJ_Test{

Publicstaticvoidmain(Stringargs[]){

Inti=0;

While(true){

If(i++>10)

Break;

)

System.out.println(i);

"/方法main结束

}类J_Test结束

2.13【填空题*】请写出下面程序的输出结果:o

ClassJ_Test{

Publicstaticvoidmain(Stringargs[]){

Inta=l,b=2;

if((a=0)&(++b=6))〃注:这种写法不符合编程规则

a=100;

System,out.println(a+b);

}//方法main结束

}〃类J_Test结束

2.14【填空题*】下面程序输出的是。

PublicclassJ_Test{

Publicstaticintmb_method(intx){

intj=l;

Switch(x){

case1:

j++;

case2:

j++;

case3:

j++;

case4:

j++;

case5:

j++;

default:

j++;

)

returnj+x;

)

Publicstaticvoidmain(Stringargs[]){

System,out.printin("value=,,+mbmethod(4));

}方法main结束

}类J_Test结束

2.15【填空题*】请写出下面成学的输出结果:

classJ_Test{

publicstaticvoidmain(Stringargs[]){

inta=2;

switch(a)

(

case1:

break;

case2:

a+=2;

case3:

a+=3;

break;

case4:

a+=4;

break;

default:

a=0;

)

System,out.println(a);

}方法main结束

}类J_Test结束

2.16【填空题*】下面程序输出的是o

publicclassJ_Test(

staticbooleanmb_fun(charc){

System,out.printin(c);

returntrue;

}方法mbfun结束

Publicstaticvoidmain(Stringargs[]){

inti=0;

for(mb_fun(,A');mb_fun('B')&&(i<2);mb_fun('C'))

i++;

mb_fun('D');

)〃方法main结束

}//类J_Test结束

2.17[填空题**]请写出下面程序的输出结果:

publicclassJ_Test

publicstaticvoidmain(Stringargs[])

intsum=0

outer:

for(inti=1;i<100;i++)

(

inner

for(intj=1;j<3;j++)

(

sum+=j;

if(i+j>6)

breakouter;

}〃内部for循环结束

"/外部for循环结束

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

}〃方法main结束

}〃类J_Test结束

2.18[填空题**]请写出下面程序的输出结果:

publicclassJTest

(

publicstaticvoidmain(Stringargs[])

intsum=0

outer:

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

inner

for(intj=1;j<3;j++)

(

sum+=j;

if(i+j>6)

breakouter;

}〃内部for循环结束

}〃外部for循环结束

System,out.printin(“sum="+sum);

}〃方法main结束

}〃类J_Test结束

2.19[填空题**]请写出下面程序的输出结果:

publicclassJ_Test

(

publicstaticvoidmain(Stringargs[])

(

intsum=0

outer:

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

(

inner

for(intj=1;j<3;j++)

(

sum+=j;

if(i+j>6)

continueinner;

}〃内部for循环结束

}〃外部for循环结束

System,out.printin(“sum="+sum);

}〃方法main结束

}〃类J_Test结束

2.20[填空题**]请写出下面程序的输出结果:

publicclassJ_Test

(

publicstaticvoidmain(Stringargs[])

(

intsum=0

outer:

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

(

inner

for(intj=1;j<3;j++)

(

sum+=j;

if(i+j>6)

continueouter;

}〃内部for循环结束

}〃外部for循环结束

System,out.printin("sum="+sum);

}〃方法main结束

}〃类J_Test结束

2.21[选择题*]下面哪些选项不可以用作变量名的首字符?

(A)字母(B)下划线(_)(0数字(D)美元符号⑻

2.22[选择题*]下面哪些单词是Java语言的关键字?

(A)sizeof(B)abstract(C)null(D)Sting

2.23[选择题*]下面哪些单词是Java语言的关键字?

(A)For(B)for(C)FOR(D)true

2.24[选择题*]下面哪些单词是Java语言的关键字?

(A)null(B)false(C)length(D)instanceof

2.25[选择题*]下面哪些语句不会出现编译警告或错误?

(A)floatf=1.3;(B)charc="a";

(C)byteb=25;(D)booleand=null;

2.26[选择题*]下面哪个赋值语句会产生编译错误?

(A)floata=2.0;(B)doubleb=2.0;

(C)intc=2;(D)longd=2;

2.27[选择题*]下面哪个赋值语句会产生编译错误?

(A)chara='abc';(B)byteb=1234;

(C)longc=0x123;(D)doubled=le_3f;

2.28[选择题*]下面那些语句可以通过编译?

(A)floata=1;(B)floatb=1.0;

(C)floatc=2elf;(D)floatd=0x1234;

2.29[选择题*)设各个变量的定义如下,哪些选项的值为true?

inti=1;

floatf=1.Of;

doubled=1.0;

booleanb=true;

(A)i==f;(B)i==d;

(C)f=d;(D)2.l>i==b;

2.30[选择题*]下面程序片段输出的是什么?

inta=3;

intb=1;

if(a=b)

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

(A)a=1;(B)a=3;

(0编译错误,没有输出(D)正常运行,但没有输出

2.31[选择题*]执行完下面程序片段之后,下面哪些结论是正确的?

inta,b,c;

a=1;

b=2;

c=(a+b>3?a++:++b);

(A)a的值是2,b的值是3(B)a的值是1,b的值是3;

(Oa的值是1,b的值是2(D)c的值是false

2.32[选择题*]请优化下面的程序代码,并判断下面哪些结论是正确的。

publicvoidmbmethod(booleana,booleanb)

(

if(a)

System,out.printin("A");

elseif(a&&b)

System,out.printin("A&&B”);

else

(

if(!b)

System,out.println("notB”);

else

System,out.printin("ELSE");

)

}〃方法mb_method结束

(A)语句"mbmethod(true,true);“输出“A&&B"

(B)语句"mb_method(true,false);"输出"notB"

(C)语句"mbmethod(false,true);"输出“ELSE”

(D)语句"mb_method(false,false)输出"ELSE"

2.33[选择题*]对于下面的源程序,哪些选项的结论是正确的?

publicclassJ_Test

(

publicstaticintmb_isOdd(intx)

(

return(x%2);

}〃方法mb.isOdd结束

publicstaticvoidmain(Stringargs[])

{

if(mb_isOdd(3))

System,out.println(“3isodd.;

else

System,out.println(“3iseven.");

}〃方法main结束

}〃类J_Tese结束

(A)程序输出“3isodd.”

(B)程序输出“3iseven.w

(O程序无法通过编译

(D)程序可以通过编译,但无法正常运行

2.34[选择题*]对于下面的源程序,哪些选项的结论是正确的?

publicclassJ_Test

publicstaticvoidmain(Stringargs[])

(

intx=2;

inty=2;

if(++x=y++)

System,out.println("x=y”);

else

System,out.println("x!二y");

}〃方法main结束

"/类J,Test结束

(A)程序输出“x书”

(B)程序输出“x!二y”

(0程序无法通过编译

(D)程序可以通过编译,但无法正常运行

2.35[选择题*]可以用作表达式switch的基本数据类型分别是:

(A)boolean(B)char(C)byte(D)short

(E)int(F)long(G)float(H)double

2.36[选择题*]当整数变量i的值为多少时,下面的程序片段会在控制台窗口中输出”

Message2.”?

switch(i)

(

case1:

System,out.println("MessageL");

case2:

case3:

System.out.println(uMessage2.");

break;

}//switch结构结束

(A)0(B)1(C)2(D)3(E)4

2.37[选择题*]针对下面的程序,哪些结论是正确的?

publicclassJ_Test

(

publicstaticvoidmain(Stringargs[])

(

byteb=1;

while(++b>0)

System,out.printin("Loop?");

}//方法main结束

}〃类J_Test结束

(A)运行程序将进入死循环,从而导致什么都无法输出

(B)每运行一次程序,则输出一次"Loop?”并退出

(0每运行一次程序,会输出多次“Loop?”

(D)程序中含有编译错误

2.38[选择题*]下面程序片段输出的是什么?

inti=0,j=9;

do

if(i++>—j)

break;

}while(i<4);

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

(A)i=4andj=4(B)i=5andj=5

(C)i=5andj=4(D)i=4andj=5

2.39[简答题*]请判断下面字符序列是否是合法的Java标识符。如果认为不是合法的Java

标识符,请说明原因。

(1)public(2)%defl23abc(3)$400(4)redHat

(5)Line-Number(6)400Arcs(7)400Arcs(8)debug

(9)a@abc.com(10)"char"(11)keyword(12)goto

(13)null(14)true(15)redhat(16)*pointer

(17)猫(18)old-timer

2.40[简答题*]请写出Java的所有基本数据类型,并分别写出这些基本数据类型所对应的每

个变量在内存中所占用的位数。

2.41[简答题*]请分别写出下面转义符的含义。

(1”\b,⑵,⑶'\n,⑷,5

⑸‘\f⑹’⑺‘⑻’

2.42[简答题*]请写出下面Java直接量的数据类型。

(1)0.Of(2)0.125d(3)'a'(4)”abc”

(5)true(6)123(7)12L⑻'\\'

(9)0.1(10)0xl23L

2.43[简答题*]请将下面的整数转换成为整.数(ini)和长整数(long)类型补码表示的二进

制数。

13,212,305,3,-99,-55,-11,-13,-6

2.44[简答题*]下面是一些二进制补码表示的整数(int),请分别写出它们所对应的十进制数

值。

⑴00000000000000000000000000001100

⑵00000000000000000000000000000111

⑶00000000000000000000000000010001

(4)00000000000000000000000001101111

⑸00000000000000000000000000011111

(6)11111111111111111111111111110100

⑺11111111111111111111111101111101

(8)11111111111111111111111111111010

(9)11111111111111111111111111101101

(10)11111111111111111111111111111001

2.45[简答题**]假设已经定义如下的一些变量:

inta=8;

intb=2;

请计算下面Java表达式的值,并写出表达式结果的数据类型。(注:在计算某小题的表达式

的值时请不要考虑其他小题对它的影响,即假定每道小题的运算都是在前面变量定义之后立

即进行的。)

(1)(int)1.5/2.0(2)(int)(1.5/2.0)

(3)1.5/2.0(4)3/2

(5)5%3(6)5.2%3

⑺(-5.2)%3(8)5.2%(-3)

(9)(-5.2)%(-3)(10)-a/b++

(11)-a/b++(注:两减号间有一空格)(12)10>1

(13)-10>1(14)10»1

(15)-10»1(16)10»>1

(17)-10»>1(18)10<1

(19)-10<1(20)10«1

(21)-10«1(22)"10

(23)~(T0)(24)10|3

(25)(-10)|3(26)10&3

(27)(-10)&3(28)10-3

(29)(-10)&3(30)(a>7)&&(b〉l)

(31)(a>7)&&(b>7)(32)(a>10)&&(b>7)

(33)(a>7)&(b>l)(34)(a>7)&(b>7)

(35)(a>10)&(b>7)(36)(a>7)||(b>l)

(37)(a>7)||(b>7)(38)(a>10)||(b>7)

(39)(a>7)|(b>l)(40)(a>7)|(b>7)

(41)(a>10)|(b>7)(42)(a>7)*(b>l)

(43)(a>7)"(b>7)(44)(a>10)"(b>7)

(45)(a>7)&&(b++l)&&(b>2)

(46)(a>7)&&((++b)>2)&&(b>2)

(47)(a>10)&&((b++)>l)&&(b>2)

(48)(a>10)&&((++b)>2)&&(b>2)

(49)(a>7)&((b++)>l)&&(b>2)

(50)(a>7)&((++b)>2)&&(b>2)

(51)(a>10)&((b++)>l)&&(b>2)

(52)(a>10)&((++b)>2)8L&(b>2)

(53)(a>7)||((b++)>l)&&(b>2)

(54)(a>7)||((++b)>2)&&(b>2)

(55)(a>10)||((b++)>l)&&(b>2)

(56)(a>10)||((++b)>2)&&(b>2)

(57)(a>7)|((b++)>l)&(b>2)

(58)(a>7)|((b++)>2)&(b>2)

(59)(a>10)|((b++)>l)&(b>2)

(60)(a>10)|((++b)>2)&(b>2)

(61)(a>7)"((b++)>l)&(b>2)

(62)(a>7)*((++b)>2)&(b>2)

(63)(a>10)7(b++)>l)&(b>2)

(64)(a>10)7(++b)>2)&(b>2)

(65)a>7?a:b(66)a>10?a:b(67)(byte)214

2.46[简答题*]请指出下面程序片断可能存在的问题。

for(inti==0;i<10;i++)

System,out.printin(i);

2.47[简答题*]请指出下面程序片断可能存在的问题。

for(inti=0,i==10;i++)

System.out.println(i);

2.48[简答题*]请指出下面程序片断可能存在的问题。

inti=0;

while(i<5)

System.out.println(i);

2.49[简答题*]请判断下面的程序片断能否通过编译并正常运行。如果能通过编译

并正常运行,则请写出程序运行的结果。

inti=0:

do

System,out.println(i++);

while(i<5);

2.50[简答题*]请指出下面程序可能存在的问题。

publicclassJTest

(

publicstaticvoidmain(Stringargs[])

(

inti=0:

do

(

System,out.println(i++);

}

}〃方法main结束

"/类JTest结束

2.51[简答题*]请总结break,continue和return的具体用法。

2.52[编程题*]请编写程序,要求采用循环语句,在控制台窗口输出如下图案。

*

***

2.53[编程题*]编写一个小应用程序,通过循环语句生成如下图所示的图案。

A

BC

DEF

GHIJ

KLMN

0PQ

RS

T

2.54[编程题*]请编写程序,计算并输出"1+2+…+2008”的结果。

2.55[编程题*]请完成下面程序。

classJTest

(

publicstaticvoidmain(Stringargs[])

(

inti,n;

n=10

if(args.length>=l)

(

try

(

n=Integer.parselnt(args[0]);

)

catch(Exceptione)

(

)

)

System,out.println(n+^^isconvertedinto:");

System,out.println("----------------------------------");

}//方法main结束

}〃类J_Test结束

要求完整的程序能够将给定的整数转换成若干行星号(“*”)。具体的转换规则如下唆所示。

假设整数以十进制表示,如果给定整数第i位是n,则倒数第i行输出n个星号。下面是具

体的两个运行实例。

c:\examples>javaJ_Test123c:\examples>javaJ_Test34

123isconvertedinto:34isconvertedinto:

*******

**

*

请不要用超过四行的语句完成上面的程序。当一行内容只有“{"或"}“时,则这行不计算

行数。每行至多只能出现一条Java语句,而且每行至多出现一个如下的关键字:“for"、“do”、

"while"、"switch"、"if''和"else"。例如:

1.if(a==b)

2.System,out.printIn(s);

3.System,out.printin(s);

上面的程序应当计算为三行程序。

2.56[编程题*]在程序中直接给定•个正整数n(例如n=201),请编写程序计算并输出小于

n的最大素数。

2.57[编程题*]请编写一个素数表的程序,要求输出1000以内的所有素数。

2.58[编程题*]请编写程序输出从1到9的乘法口诀表。口诀表的前一部分如下:

1*1=1;

1*2=2;2*2=4;

1*3=3;2*3=6;3*3=9;

1*4=4;2*4=8;3*4=12;4*4=16;

2.59[编程题**]请完成下面的方法体,使得方法mb-binary在控制台窗口中输出整数i的二

进制补码。

Voidmbbinary(inti)

(

〃方法体

)//方法mb_binary结束

2.60[趣味题**]请编写一个组合24的游戏程序。由程序的参数给定四个从0到9的整数。

程序可以对这四个数字进行任意排列并任意进行四则运算(加减乘除与括号)。如果能够得

到24,则输出具体的表达式(只要给出一个就可以)。否则,输出“无解”。

第三章面向对象的程序设计

3.1[判断正误*]下面程序输出数字0.

PublicclassJ_test

(

Staticintm__data;

m_data=0;

publicstaticvoidmain(Stringargs[])

(

System,out.println(m_data);

}〃方法main结束

}〃类J_Test结束

3.2[判断正误*]Java语言为所有的Java程序自动导入包“java,lang”中的类型和接口。

位于类继承关系层次结构树的根部的类Objiect就是在包“java,lang”中的一类。

3.3[判断正误*]有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。

3.4[判断正误*]构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void.

3.5[判断正误*]任何类都必须显式地定义该类的结构方法,以便对类的成员进行各种初始

化操作。

3.6[判断正误*]运行下面程序将在控制台窗口中输出a.

PublicclassJ_Test

PublicJ_Test()

Charc='a';

"/方法JTest结束

publicstaticvoidmain(Stringargs)

{

System,out.printin(c);

}〃方法main结束

}类J_Test结束

3.7【判断正误】下面的程序将输出“CreatingRock2”

ClassJ_Rock

(

J_Rock(inti)

(

System,out.println("CreatingRock"+i);

)

}//类J_Rock结束

ClassJSubRockextendsJRock{}

ClassJ_RockApp1ication

{

Publicstaticvoidmain(Stringargs[]

(

NewJ_Rock(2);

}〃方法main结束

}//类J_RockApplication结束

3.8【判断正误】Java语言对内存的释放是采用垃圾自动回收机制。Java虚拟机自动判断

并收集“垃圾”,但一般不会立即释放他们的存储空间。

3.9【判断正误】Java系统提供了方法“System,gc()”来强制立即回收“垃圾”,即当调用

该方法时,系统会立即回收“垃圾”。

3.10【判断正误】程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的

释放情况。

3.11【判断正误】如果在定义・个类的时候没有定义关键字extends,则这个类没有直接父

类。

3.12【判断正误】Java语言规定:任何一个子类的构造方法都必须调用其父类的构造方法

(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第•条语句。

3.13【判断正误】在同一个类中,不允许存在具有相同方法名和相同参数类型列表地方法,

即使该方法的返回类型不相同。

3.14【判断正误】如果一个类不是内部类,则它的访问属性不能是private或者protected。

3.15【判断正误】抽象方法不能含有方法体,并且必须在抽象类中。

3.16【判断正误】抽象类不能实例化的。抽象类的实例化,应当通过其不具有抽象属性的子

类来创建。

3.17【判断正误*】下面的程序输出整数3.

publicclassJ-Test

publicintm-data=3;

publicstaticvoidmian(Stringargs[])

(

System,out.printin(m-data);

}〃方法main结束:

"/类J-Test结束

3.18【判断正误**】设在一个Java包cn.edu.tsinghua.kit中含有源程序文件J-Data,java,

其内容如下:

packagecn.edu.tsinghua.kit;

publicinterfaceJ-Data

(

DoublePI=3.141592653589793;

}接口J-Data结束

在另一个包中含有源程序文件J-Ttest.java,其内容如下

Import.tsinghua.kit.J-Data;

PublicclassJ-Test

(

Publicstaticvoidmain(Stringargs[])

(

System.out.println(int)J-Data.PI;

}〃方法main结束

"/类J-Test结束

假设类路径设置及源程序文件所在的路径都是正确的,则上面的程序可以正常进行编

与运行,最终可以输出3。

3.19【填空题*】面向对象的计算机语言一•般应具有3个基本特性,分别是

3.20【填空题*】在下面的源代码中,类J-Example的域是,构造方法是

当该类的实例对象在被释放之前有可能被系统自动调用的方法是o

PublicclassJ-Example

(

Privateintm-x;

PublicJ_Example()

(

m_x=0;

}

Publicvoidmb_show()

(

System,out.println(“x="+m_x);

}

Protectedvoidfinalize()throwsThrowable

(

System,out.printin(“xis"+m_x);

Super.finalize();

}

Publicstasticvoidmain(Stringargs[])

(

)

}〃类J_Example结束

3.21[填空题*]在下面的程序中编译之后,按“javaJJest"方式运行的结果是:

PublicclassJTest

(

Publicstaticvoidmain(Stringargs[])

(

inti;

for(i=0;i<args.length;i++)

(

System.out.print("args["+i+”]="+args[i]+”;

)

}〃方法main结束

)〃类J_Test结束

3.22[天空题*]运行下面程序,会输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论