i++)
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]=96b[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(Stringargs[]){
System.out.print(str1)。
System.out.println(str2)。
}
}
输出结果:
3.请写下程序的输出结果:
publicclassT2_4{
publicstaticvoidmain(String[]args){
inti,j。
charc='*'。
for(i=0。
i<5。
i++)
{
for(j=0。
j<=i。
j++)
System.out.print("*")。
System.out.println()。
}
}
输出结果:
4、请写下程序的输出结果:
publicclassex2_2
{
publicstaticvoidmain(Stringargs[])
{
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个数进行排序的程序
1、
关于Java语言
叙述错误
的
是
:
(
C
)
A
.Java
语
言具
有
跨
平
台
性
B
.Java
是一
种面
向
对
象
的
语
言
C
.Java
语言
中的
类
可
以
多
继
承
D.
Java的垃
圾收集机
制自动回
收程
序
已不
再使
用的对象
2、
以下叙
述正确
的是:
(
B
)
的
确台
a
A
.构
造方
法必
须
是
public
方
法
B
.main
方法必
须
是
public
方
法
C
.Java应
用程序的文
件名
可
以
是
任意
的
D
.构造
方法
应该
声明
为
void
类
型
3、
关于Java
中数据
类型叙
述正
确
的
是
:
(B
)
A
、整型
数据在不同
平
台
下
长度不
同
B.
boolean
类型数
据只有
2个
值
true
和false
C
.数
组属
于简
单
数
据
类
型
D
.Java中的指
针类型
和
C
语
言
的一
样
4、
设intx=1,floaty=2,
则表达式
x/
y
的
值
是:
(D
)
、选择题(每道题只有一个正确答案,每小题
2分,共30分)15道题
A
0
C
2
D
以
上
都
不
是
5
、以下
语
句
有
语
法错
的
是:
(
A
)
A.
int
x=1
?
y=2
?
z=3
B.
for
(int
x
=10,y=0
?
x>0;
x++)
。
C
while
(x>5)
。
D
for(
。
。
)
。
6、
关于类
和
对
象
的
叙述正
确
的是:
(A
)
B
1
A.Java的类分为两大部分:
系统定义的类和用户自定义的类
B.类的静态属性和全局变量的概念完全一样,只是表达形式不同
C.
类
的成员至
少
有
一个
属性
和一
个方法
D
类是
对
象
的
实
例化
7、以
下
有关构造方
法
的说法,
正确的
是:
(A)
A
一个类
的
构
造方
法可
以
有多个
B
构造方
法
在类
定义
时
被调用
C.
构造方法只
能
由
对象
中的其
它
方法调用
D.
构
造方法可以和
类
同名,
也可
以和
类名不同
8、以
下
有关类的继
承的
叙
述中,
正确的是
:
(D)
A•子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B.子类只能继承父类的方法,不能继承父类的属性
C.子类只能继承父类的非私有属性,不能继承父类的方法
9
、下
列属
于
容
器的组
件
有
:
(
B)
A
.
JButton
B
.
JPane
C
.
Canvas
D
.
JTextArea
10
、
void
的
含义
:
(
C)
A
.
方法
体为
空
B
.定
义
的方
法
没有
形参
C
.
定
义
的方法
没
有返
回值
D.
方法
的
返
回值不
能
参
加算
术运算
11
、关
于
Java
中
异
常的叙述
正
确的是:
(
D)
A.
异
常是
程
序
编写过程
中
代
码的语
法错误
B.
异
常是
程
序
编写过程
中
代
码的逻
辑错误
C.
异常
出
现
后程序
的
运
行马
上中止
D
.
异
常
是
可以
捕
获
和处
理的
12
、所
有的异
常
类
皆继承哪
一
个
类?
(
C)
A
.
java.io.Exception
B
.
java.lang.Throwable
C
.
java.lang.Exception