分析《JAVA程序设计》期末考试试题四文档格式.docx
《分析《JAVA程序设计》期末考试试题四文档格式.docx》由会员分享,可在线阅读,更多相关《分析《JAVA程序设计》期末考试试题四文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![分析《JAVA程序设计》期末考试试题四文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/17/66d88057-5fbe-45ad-a4bf-f0fb7bc7f141/66d88057-5fbe-45ad-a4bf-f0fb7bc7f1411.gif)
File构造函数中正确的路径和文件名的表示是()。
Filef=newFile(填代码处);
file=newFileReader(f);
in=newBufferedReader(file);
A)"
./"
B)"
../my/"
C)"
c:
\\my\\"
D)"
\my\"
也可以是c:
/my/;
、
\\my\\其中第一个\为转移字符
4、应用程序的main方法中有以下语句,则输出的结果是()。
Strings1=newString("
abc"
Strings2=newString("
booleanb1=(s2);
booleanb2=(s1==s2);
"
+b2);
A)truefalseB)falsetrueC)truetrueD)falsefalse
equal比较的是两个对象所表示的字符是否相等,而==比较的是两个对象是否相等.
*
5、应用程序的main方法中有以下语句,则输出的结果是()。
Hashtablehashtable=newHashtable();
("
x"
"
12345"
y"
67890"
a"
abcde"
"
));
A)aB)abcdeC)12345D)67890
存入名值对(put),再按照名字取出其中的值(get)
'
下面说一下HashMap和Hashtable的区别:
Hashtable继承自Dictionary类,而HashMap是引进的Mapinterface的一个实现
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许
还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
因为contains方法容易让人引起误解。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在
多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap
就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异
,
6、下面语句的功能是()。
RandomAccessFileraf2=newRandomAccessFile("
"
rw"
);
A)打开当前目录下的文件,既可以向文件写数据,也可以从文件读数据。
B)打开当前目录下的文件,但只能向文件写入数据,不能从文件读取数据。
C)打开当前目录下的文件,但不能向文件写入数据,只能从文件读取数据。
D)以上说法都不对。
没用过额…下面有个例子,自己看看它的用法吧
importRandomFileTest
{
publicstaticvoidmain(String[]args)throwsException
<
Students1=newStudent(1,"
zhangsan"
;
Students2=newStudent(2,"
lisi"
Students3=newStudent(3,"
wangwu"
FileuserDir=newFile().getProperty("
FiletempFile=("
~student"
"
.tmp"
userDir);
RandomAccessFileraf=newRandomAccessFile(tempFile,"
(raf);
>
(0);
Students=newStudent();
for(longi=0;
i<
i=())
[lenth:
+()+"
i="
+i+"
]"
+s);
}
(5000);
classStudent
intnum;
Stringname;
doublescore;
publicStudent()
)
publicStudent(intnum,Stringname,doublescore)
=num;
=name;
=score;
publicvoidwrite(RandomAccessFileraf)throwsIOException
(num);
(name);
…
(score);
publicvoidread(RandomAccessFileraf)throwsIOException
num=();
name=();
score=();
publicStringtoString()
~
return"
num="
+num+"
name="
+name+"
score="
+score;
7、应用程序的main方法中有以下语句,则输出的结果是()。
Strings="
12345#aaa#bbb#67890"
;
intn=("
#"
intk=("
n+1);
intm=("
k+1);
Strings2=(m+1);
A)123456B)67890C)aaaD)bbb
publicintindexOf(intch)返回指定字符在此字符串中第一次出现处的索引。
所以
intn=("
n的值为5;
publicintindexOf(intch,intfromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
所以k为9,m为13
publicStringsubstring(intbeginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
该子字符串从指定索引处的字符开始,直到此字符串末尾。
所以从第十四位到最后一位字符串是67890
8、下面程序段执行后b的值是()。
Integerinteg=newInteger(9);
booleanb=integinstanceofObject;
A)9B)trueC)1D)false
instanceof是判断前面的对象是不是后面的类创建的,而Object是所有类的祖先类,所以为true,有点多态的感觉(上转型)
9、应用程序的源程序如下,在命令行键入:
javaTestaaabbc
回车后输出的结果是()。
publicclassTest{
publicstaticvoidmain(Stringargs[]){
intk1=;
intk2=args[1].length();
+k2);
}
}
A)32B)12C)13D)33
好像这种题目经常考:
;
求的是数组的的元素个数,args[1].length();
求的是数组中某一个元素的长度.
$
10、应用程序的main方法中有以下语句,则输出的结果是()。
intb[][]={{1},{2,2},{2,2,2}};
intsum=0;
for(inti=0;
i++){
for(intj=0;
j<
b[i].length;
j++){
sum*=b[i][j];
}
sum="
+sum);
A)32B)11C)2D)3
;
二维数组,依次相乘便可,注:
java中二维数组中的一维长度可以不同,比如这里的b[0]的长度为1;
而b[1]的长度为2,可以不同,因为二维数组本质上还是以一维数组的形式组织的.
11、应用程序的main方法中有以下语句,则执行后输出的结果是()。
int[]x={125,21,5,168,98};
intmax=x[0];
for(inti=1;
i++){
if(x[i]>
max)
max=x[i];
125B)5C)98D)168
12、程序编译运行后输出的结果是()。
-
Strings1="
java"
publicstaticvoidmain(Stringargs[]){
intz=2;
Testt=newTest();
A)java2B)2C)没有输出结果D)java
13、应用程序的main方法中有以下语句,则输出的结果是()。
Strings1="
s2="
12"
doublex=(s1);
inty=(s2);
B)120.5C)12D)“12.5”
14、下面的程序创建了一个文件输出流对象,用来向文件中输出数据,假设程序当前目录下不存在文件,编译下面的程序后,将该程序运行3次,则文件的内容是()。
import.*;
try{
Strings="
ABCDE"
!
byteb[]=();
FileOutputStreamfile=newFileOutputStream("
true);
(b);
();
}
catch(IOExceptione){
}
A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE
publicFileOutputStream(Filefile,
booleanappend)
throwsFileNotFoundException
创建一个向指定File对象表示的文件中写入数据的文件输出流。
如果第二个参数为true,则将字节写入文件末尾处,而不是写入文件开始处。
创建一个新