=_0__>
for
System.out.println<_"i="+i__________>;
elseSystem.out.println<没有命令行参数>;
}
}
11下面是一个小程序的主类myprogram的定义,其中A、B是该主类所在源程序中已定义的另两个类的类名:
importjavaawt.*;
importjavaapplet.*;
publicclassmyprogramextendsApplet//定义小程序的主类
{
Aa;Bb;
public_____myprogram___init<>
{a=newA<>;b=___new__B<>;}
}
12.Java的复合数据类型有:
类、数组和___接口____等.Java的简单数据类型有:
数值类型〔整形和浮点类型〕,自负类型和布尔类型
13.表达式3/6*5的计算结果是_0_______.
14.定义初值为10的10次方的长整型变量lvar的语句是:
_______longlvar=1*e10___________________.
15.顺序结构、分支结构<或称选择结构>、__循环结构__________是结构化程序设计的三种根本流程控制结构.
16.以下方法m的功能是求两参数之积的整数局部.
intm
{_______k=x*y___________;}
17.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______.
18.Java和c++都是面向对象的程序设计语言.
三、程序分析:
〔每题4分〕
1.下面是一个排序的程序:
importjava.io.*;
publicclassTest56_Sort
{
publicstaticvoidmain
{
int[]a={42,99,5,63,95,36,2,69,200,96};
System.out.println<排序前的数据序列:
>;
ShowArray;
Sort;
System.out.println<排序后的数据序列:
>;
ShowArray;
}
publicstaticvoidSort
{
intw;
for
{
for
ifx[j+1]>
{w=x[j];x[j]=x[j+1];x[j+1]=w;}
/*ifShowArray;
ifbreak;*/
}
}
publicstaticvoidShowArray
{
for
System.out.print<"b[i"+i+"]="+b[i]>;
System.out.println<>;
}
}
问题:
如果将方法Sort<>中的一对注释符〔/**/〕去掉,程序输出的结果是什么?
排序前的数据序列:
b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96
b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200
b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
排序后的数据序列:
b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200
2.请写下程序的输出结果:
publicclassTest52
{
Stringstr1="Hello,Javaworld!
\t";
Stringstr2="Hello,students!
";
publicstaticvoidmain
{
System.out.print;
System.out.println;
}
}
输出结果:
3.请写下程序的输出结果:
publicclassT2_4{
publicstaticvoidmain
{
inti,j;
charc='*';
for
{
for
System.out.print<"*">;
System.out.println<>;
}
}
}
输出结果:
4、请写下程序的输出结果:
publicclassex2_2
{
publicstaticvoidmain
{
intx,y;
byteb=6;
floatz=1.234f;
doublew=1.23;
booleanflag;
x=12;
y=300;
flag=x>y;
System.out.println<"x>y=="+flag>;
flag=z>w;
System.out.println<"z>w=="+flag>;
}
}
四、问答题:
〔每题5分,〕
1.Java的接口和C++的虚类的一样和不同处.
由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求.与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码.当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是publicstatic,所有方法默认情况下是public.一个类可以实现多个接口.
2.垃圾回收的优点和原理.并考虑2种回收机制.
Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑存管理.由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域".垃圾回收可以有效的防止存泄露,有效的使用可以使用的存.垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对存堆中已经死亡的或者长时间没有使用的对象进展清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进展垃圾回收.回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收.
3,谈谈final,finally,finalize的区别.
Final-修饰符〔关键字〕如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改.被声明为final的方法也同样只能使用,不能重载.
Finally-再异常处理时提供finally块来执行任何去除操作.如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块〔如果有的话〕.
Finalize-方法名.Java技术允许使用finalize〔〕方法在垃圾收集器将对象从存中去除出去之前做必要的清理工作.这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的.它是在Object类中定义的,因此所有的类都继承了它.子类覆盖finalize〔〕方法以整理系统资源或者执行其他清理工作.finalize〔〕方法是在垃圾收集器删除对象之前对这个对象调用的.
4,数组有没有length〔〕这个方法?
String有没有length〔〕这个方法?
举例说明使用方法?
数组没有length〔〕这个方法,有length的属性.
String有有length〔〕这个方法.
5.Java中的异常处理机制的简单原理和应用.
当JAVA程序违反了JAVA的语义规如此时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规如此包括2种情况.一种是JAVA类库置的语义检查.例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常.所有的异常都是java.lang.Thowable的子类.
五、程序设计:
〔每题11分,共33分〕
1、编程:
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个".
2、编程求解:
所有两位整数能被3整除的数的和,以与不能被3整除的数的各位数字之和.
3、设计一个程序求解e的值.精度达到1.0e-6,
4、请设计一个对N个数进展排序的程序
一、选择题〔每道题只有一个正确答案,每一小题2分,共30分〕15道题1、关于Java语言表示错误的答案是:
〔C〕A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下表示正确的答案是:
〔B〕确实台aA.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型表示正确的答案是:
〔B〕A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样4、设intx=1,floaty=2,如此表达式x/y的值是:
〔D〕A.0B.1C.2D.以上都不是5、以下语句有语法错的是:
〔A〕A.intx=1;y=2;z=3B.for0;x++>;C.while5>;D.for<;;>;6、关于类和对象的表示正确的答案是:
〔A〕A.Java的类分为两大局部:
系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的答案是:
〔A〕A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的表示中,正确的答案是:
〔D〕A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、如下属于容器的组件有:
〔B〕A.uttonB.JPaneC.CanvasD.JTextArea10、void的含义:
〔C〕A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算11、关于Java中异常的表示正确的答案是:
〔D〕A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的12、所有的异常类皆继承哪一个类?
〔C〕D.java.lang.Error13、下面哪个不是java语言中的关键字?
〔B〕A.longB.sizeofC.instanceofD.const14、为实现进程之间的通信,需要使用如下那种流才适宜?
〔D〕A.DatastreamB.FilestreamC.BufferedstreamD.Pipedstream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?
〔D〕A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener二、填空题〔每空1分,共20分〕1、面向对象程序设计所具有的根本特征是:
___抽象性___,_封装性___,_继承性__,_多态性__2、数组x定义如下intx[][]=newint[3][2]如此x..length的值为____3________,x[0].length的值为_____2_______.3、Java中实现多线程一般使用两种方法,一是___继承Thread类_________,二是_____实现Runnable方法__________4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有〔列出四种即可〕__FlowLayout_____,___GridLayout_____,__BorderLayout_____,___CardLayout_______5、Applet常用的方法是:
__init<>_、__run〔〕__、__stop<>__和destroy<>.三、阅读程序,写出程序的输出结果〔每题5分,共20分〕1、classA{privateintprivateVar;A{privateVar=_privateVar; } booleanisEqualTo{ if returntrue; else returnfalse; }}publicclassB{publicstaticvoidmain{Aa=newA<1>;Ab=newA<2>