java样卷2.docx
- 文档编号:7552452
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:11
- 大小:19.89KB
java样卷2.docx
《java样卷2.docx》由会员分享,可在线阅读,更多相关《java样卷2.docx(11页珍藏版)》请在冰豆网上搜索。
java样卷2
一、填空题(共10小题,每空1分,共20分)
1、一个Java应用源程序文件名为HelloWorld.java,若使用sun公司的Java开发工具SDK编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令:
_____javacHelloWorld.java_____、____javaHelloWorld______。
2、定义变量:
floatf=2/5;则f的值为0.0f或0.0F,定义变量:
charch=1+'1';则ch的值为______'2'___。
3、Java中所有类都是类Object的子类。
引用Date和Vector都要加载的语句是___mportjava.util.*;__。
4、定义字符串:
Strings=“123”;若将s转换为int型整数的语句是_Integer.parseInt(s);或inti=Integer.parseInt(s);___。
定义字符串:
Stringstr=newStringBuffer().append("a").append("b").append("c").toString();
则str的值是_____"abc"__________。
5、抽象类用关键字__abstract___修饰,____protected_____访问修饰符所声明的类成员,仅能被同包(同路径)或具有继承关系的相关类使用。
6、使用setLayout()方法为组件设置布局管理器,面板JPanel的缺省布局管理器是FlowLayout。
7、Java中监听按钮事件的接口是_____ActionListener____,监听下拉选项事件的接口是ItemListener。
8、编写一个Java线程程序可以用继承___Thread__类和实现___Runnable__接口来实现。
9、假设有一个文件为c:
\test.txt,则用FileInputStream类创建该文件引用对象fin的语句是FileInputStreamfin=newFileInputStream("c:
\test.txt");,用BufferedReader类去读取该文件需创建引用对象br的语句是__BufferedReaderbr=newBufferedReader(newFileReader("c:
\test.txt"));__。
10、在RandomAccessFile类中,方法____seek()____能改变文件指针的位置,方法
_______getFilePointer()_____能获得文件指针的位置。
二、选择题(共10小题,每题2分,共20分)
1、下列变量定义不合法的是(A)
A)booleanflag=TRUE;B)intk=1+‘a’;
C)charc=‘b’; D)floatradius=1/2;
2、下列类不属于java.lang.*包的是(C)
A)MathB)SystemC)ArrayListD)StringBuffer
3、下列数组的定义不合法的是:
(C)
A)charc[][]=newchar[2][3];
B)charc[][]=newchar[6][];
C)char[][]c=newchar[][4];
D)int[]a[]=newint[10][10];
4、对于异常处理语句try…catch…finally,下面哪个说法是正确的?
(C)
A)如果有多个catch语句,对所有的catch都执行一次
B)如果有多个catch语句,对每个符合条件的catch都执行一次
C)找到合适的异常类型后就不再执行后面的catch
D)任何情况下,finally部分都会被执行一次
5、有关类的说法正确的是?
(B)
A)类具有封装性,所以类的数据是不能被访问的
B)类具有封装性,但可以通过类的公共接口访问类中的数据
C)声明一个类时,必须用public修饰符
D)每个类中,必须有main方法,否则程序无法运行
6、下述哪一组方法,是一个类中方法重载的正确写法?
(A)
A)intaddValue(inta,intb){returna+b;}
floataddValue(floata,floatb){returna+b;}
B)intaddValue(inta,intb){value=a+b;}
floataddValue(inta,intb){return(float)(a+b);}
C)intaddValue(inta,intb){returna+1;}
intaddValue(inta,intb){returna+b;}
D)intaddValue(inta,intb){returna+b;}
intaddValue(intx,inty){returnx+y;}
7、下面关于多态性的说法正确的是?
(C)
A)一个类中,不能有同名的方法
B)子类中不能有和父类同名的方法
C)子类中可以有和父类中同名且参数相同的方法
D)多态性就是方法的名字可以一样,但返回的类型必须不一样
8、Thread类用来创建和控制线程,一个线程从下面(C)方法开始执行。
A)init()B)start()C)run()D)notifyAll()
9、下列说法哪个是不正确的?
(B)
A)方法中的形参可以和方法所属类的属性同名。
B)接口无构造器,不能有实例,也不能定义常量。
C)利用File对象可以判断一个文件或目录是否存在。
D)在java中,高优先级的可运行线程会抢占低优先级线程
10、下列说法哪个是正确的?
(B)
A)JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。
B)JButton和JTextField都可用ActionListener接口实现事件处理
C)一个面板(Jpanel) 不能被加入到另一个面板(Jpanel)中
D)在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
一、程序阅读题。
(共5小题,每题6分,共30分)
1、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。
6
classTest{
publicstaticvoidmain(String[]args){
inti=1;
intall=0;
for(;i<=10;i++){
if(i%6==0)break;
if(i%2==0){
i=i+2;
continue;
}
all=all+i;
}
System.out.println(all);
}
}
2、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。
classPerson{
publicPerson(){
System.out.println("hi!
");
}
publicPerson(Strings){
this();
System.out.println("Iam"+s);
}
}
publicclassWhoextendsPerson{
publicWho(){
this("IamTony");
}
publicWho(Strings){
super(s);
System.out.println("Howdoyoudo?
");
}
publicstaticvoidmain(Stringargs[]){
Whow=newWho("Tom");
}
}
hi!
IamTom
Howdoyoudo?
说明:
如果结果仅写后两行的,给3分
3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。
publicclassExample{
Stringstr=newString("Hello");
charch[]={'J','a','v','a'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.println(ex.str);
System.out.println(newString(ex.ch));
}
publicvoidchange(Stringstr,charch[]){
str="World";
ch[0]='Y';
}
}
Hello
Yava
说明:
写对一个,给3分,共6分
4、阅读下面的程序TestMonth.java:
publicclassTestMonth{
publicstaticvoidmain(String[]args){
try{
intmonth=Integer.parseInt(args[0]);
if(month<0||month>12){
thrownewArithmeticException("没有"+month+"月份!
");
}
System.out.println("您输入的月份为"+month+"月份");
}catch(ArrayIndexOutOfBoundsExceptione){
System.out.println("请输入月份!
");
}catch(ArithmeticExceptione){
System.out.println("捕获ArithmeticException异常");
System.out.println(e.toString());
}
}
}
已知ArrayIndexOutOfBoundsException和ArithmeticException都是java.lang.*下的异常类,编译TestMonth.java后,用javaTestMonth13的运行结果是什么?
捕获ArithmeticException异常
java.lang.ArithmeticException:
没有13月份!
说明:
(1)如果写出以下结果的,给4分
捕获ArithmeticException异常
没有13月份!
(2)如果写出以下结果的,给2分
捕获ArithmeticException异常
java.lang.ArithmeticException:
没有13月份!
您输入的月份为13月份"
(3)如果给出的结果含有:
请输入月份!
得0分,其它结果酌情给1~2分
5、阅读下面的程序,修改程序中错误的地方:
1.publicclassTestimplementsRunnable{
2.Stringstr[]=newString[10];
3.for(inti=0;i 4.str[i]=i+”-”; 5.} 6.publicvoidrun(){ 7.try{ 8.for(inti=0;i 9.sleep(1000); 10.System.out.print(str[i]); 11.} 12.}catch(InterruptedExceptione){ 13.e.printStackTrace(); 14.} 15.} 16.publicstaticvoidmain(Stringargs[]){ 17.Testt=newTest(); 18.t.run(); 19.} 20.} (1)如果采用程序中的implementsRunnable的方法,则修改的地方有以下4处: ①第3~5行写入构造方法,并且将第3行的str.length()改为str.length,修改后的代码如下: …………………………………………2分 publicTest(){ for(inti=0;i str[i]=i+"-"; } } ②第8行的str.length()改为str.length…………………………………………1分 ③第9行的sleep(1000);改为Thread.sleep(1000);……………………………1分 ④第18行的代码修改为以下两行: …………………………………………2分 Testt=newTest(); newThread(t).start(); 或写成如下形式: Threadtt=newThread(t);//tt的变量名可取符合java语言规范的任何标识符 tt.start(); (1)如果采用extends实现该线程程序,则修改的地方有以下4处: ①第一行的implementsRunnable修改为extendsThread………………………1分 ②第3~5行写入构造方法,并且将第3行的str.length()改为str.length,修改后的代码如下: …………………………………………2分 publicTest(){ for(inti=0;i str[i]=i+"-"; } } ③第8行的str.length()改为str.length…………………………………………1分 ④第18行的t.run();修改为t.start();…………………………………………2分 四、编程题(共3小题,每小题10分,共30分) 1、根据以下的设计要求编写java源代码。 类名: Person 变量(访问权限均为private): name(String)//姓名 age(int)//年龄 方法: 构造方法(没有参数,设置姓名为“无名氏”,年龄为20) setName(有一个名为name的String型参数,将name的值设为这个新值), getName(没有参数,返回姓名) setAge(有一个名为age的int型参数,将age的值设为这个新值), getAge(没有参数,返回年龄) isSameAge(有一个参数s,是另一个Person对象的引用,如果两个Person对象的age相同,则返回true,否则返回false) publicclassPerson{ privateStringname; privateintage; publicPerson(){ name="无名氏"; age=20; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetName(){ returnname; } publicvoidsetAge(intage){ this.age=age; } publicintgetAge(){ returnage; } publicbooleanisSameAge(Persons){ if(s.age-this.age==0)returntrue; returnfalse; } } 2、编写一个Java程序SwingApplication.java,创建一个JFrame,界面上有两个JButton按钮和一个JTextField,点击按钮,在JTextField上显示JButton信息。 importjava.awt.*; importjava.awt.event.*; importjavax.swing.*; publicclassSwingApplicationextendsJFrameimplementsActionListener{ JButtonjb1,jb2; JTextFieldjt; publicSwingApplication(){ super("SwingApplication"); jb1=newJButton("JButton1"); jb2=newJButton("JButton2"); jt=newJTextField(20); jb1.addActionListener(this); jb2.addActionListener(this); Containerc=getContentPane(); c.setLayout(newFlowLayout()); c.add(jt); c.add(jb1); c.add(jb2); setSize(250,100); setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jb1){ jt.setText(jb1.getActionCommand()); } if(e.getSource()==jb2){ jt.setText(jb2.getActionCommand()); } } publicstaticvoidmain(Stringargs[]){ SwingApplicationsa=newSwingApplication(); sa.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 3、编写一个程序WriteLog.java实现如下功能: 从键盘输入若行文字(可能包含中文),当最后一行输入quit#时,退出程序且将输入内容除quit#外全部存入文件c: \log.txt中。 importjava.io.*; publicclassWriteLog{ publicstaticvoidmain(String[]args){ Stringf="c: /log.txt"; Stringstr=""; try{ BufferedReaderkeyIn=newBufferedReader(newInputStreamReader(System.in)); PrintWriterbw=newPrintWriter(newFileWriter(f)); System.out.println("Pleaseinputfiletext: "); while(! (str=keyIn.readLine()).equals("quit#")){ bw.println(str); } bw.close(); }catch(IOExceptione){ } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java