A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C )
A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法
3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1:
result = result + i; case 2:
result = result + i * 2; case 3:
result = result + i * 3; }
return result; }
A)0 B)2 C)4 D4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....}
Java程序设计2 第1页 共6页
)10 public void aMethod(int i){.........}
public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态
6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写
7、Java的核心包中,提供编程应用的基本类的包是( A ) A)Java.lang B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A )
A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B )
File file = new File(\"C:\\\est.dat\"); if (file.exists()) { file.delete(); }
A)创建C:\est.dat B) 删除C:\est.dat C) 打开C:\est.dat文件输出流 D) 移动C:\est.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException
C)FileNotFoundException D)UnknownHostException
11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是( )b
Java程序设计2 第2页 共6页
A int[] score =new int[5]; B int[] score = new int[5]{1,2,3,4,5};
C int[5] score = new int[]{1,2,3,4,5}; D int score = {1,2,3,4,5}; 13、下列叙述中,正确的是( A ) A 声明变量时必须指定一个类型 B Java认为变量number与Number相同 C Java中唯一的注释方式是“//”
D 源文件中public类可以有0个或者多个
14.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x, double y) { return (short)x/y*2; }
A、byte B、short C、int D、double
15、有语句String s=”hello world”; ,以下操作哪个是不合法的?( B ) A、int i=s.length(); B、s>>>=3;
C、String ts=s.trim(); D、String t=s+”!”; 16、以下程序的输出结果是( A ) int x=3,y=6;
System.out.print (x/y);
A 0 B 0.5 C 2 D 错误信息 17、下列关于构造方法的叙述中,错误的是( C ) A Java语言规定构造方法名与类名必须相同
B Java语言规定构造方法没有返回值,但不用vold声明 C Java语言规定构造方法不可以重载
D Java语言规定构造方法只能通过new自动调用
18、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问
19、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A、隐藏 B、覆盖 C、重载 D、Java不支持此特性
20、有如下程序段: int a = 5,b = 5;
String s1 = new String(\"祝你今天考出好成绩!\"); String s2 = new String(\"祝你今天考出好成绩!\"); 则表达式a == b与s2 == s1的结果分别是:( C )。
Java程序设计2 第3页 共6页
A、true与true B、false与true C、true与false D、false与false
二、程序填空题:在下列各题的程序空缺处填入正确的语句。(每空2分,共20分) 1、public class Exam1 {
} }
此程序的输出结果为: n1=4 n2=0 n3=9 2、class Demo1 {
public static void main(String[] args) { public static void main(String args[]){ String s=\"java%##%&JAVA\"; int n1=0,n2=0,n3=0;
for(int i=0;i System.out.println(“n1=”+n1); System.out.println(“n2=”+n2); System.out.println(“n3=”+n3); for (int i=0; i<10; i++) { } } } if (i%2 == 0) continue; System.out.print(i + \" \"); Java程序设计2 第4页 共6页 此程序的输出结果为: 1 3 5 7 9 3、以下程序运行后的输出结果是 class Test { { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2==true) continue; x++; } x++; } System.out.println(“x=”+x); } 此程序的输出结果为: X=8 4. 判断输入的整数能否被3或7整除. public class Welcome { public static void main( String args[] ) { } int x,f=0; Scanner in=new Scanner(System.in); x = in.nextInt(); if (x%3==0||x%7==0) (1) f++; (2) if(f==1) System.out.println(“ YES”); else System.out.println(“ NO”); public static void main(String[] args) { Java程序设计2 第5页 共6页 } 5. import java.awt.*; import java.awt.event.* ; import javax.swing.* ; public class Hello extends JFrame implements actionListener { JTextArea tf; JButton bt_show,bt_clear,bt_exit; public Hello( ){ super(\"Hello\"); Container c=getContentPane( ); bt_show=new JButton(\"显示\"); //创建一文本为\"显示\"的按钮 bt_clear=new JButton(\"清除\");//创建一文本为\"清除\"的按钮 bt_exit=new JButton(\"退出\");//创建一文本为\"退出\"的按钮 tf=nw JTextArea(5,30); c .setLayout (new FlowLayout()); c .add (bt_show); c .add (bt_clear); c .add (bt_exit); c .add (tf); bt_show. (3) (this); bt_clear. (4) (this); bt_exit. (5) (this); setSize(350,200);//设置界面大小 setLocation(200,200) ;//设置界面位置 setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setDefaultLookAndFeelDecorated(true); Java程序设计2 第6页 共6页 } public void (6) (ActionEvent e){ if(e.getSource()==bt_show) //判断事件源是否是bt_show tf .setText(\"欢迎你学习Java!\"); else if( (7) ) //判断事件源是否是bt_clear tf .setText(\" \"); else System.exit(0); } public static void main (String[]args){ Hello fm=new Hello(); } 6. 下面的程序由用户输入一个姓名,在一个给定的名单中进行查找,找到则输出这个名字在名单中的顺序号,找不到则给出相关提示。请填空完善程序。 import java.util.*; //导入java.util包,准备使用Scanner类 publicclassFillBlank_3{ publicstaticvoid main(String[] args){ String[] nameList = {\"张爱民\李小华\王中军\赵伟\孙大庆\何小泉\ String inputName; int i, index = -1; Scanner scan = newScanner(System.in); //创建一个Scanner类的对象scan System.out.print(\"请输入要查找的姓名:\"); inputName = scan.nextLine(); //通过对象scan的方法输入字符串 for(i=0;i =i ; if (index!=-1) System.out.println(\"此人是名单中的第\"+( index+1 )+\"个\"); else System.out.println(\"此人不是名单中的\") ; ; } } 三、编程题:编写实现下列程序。() 1.编写一个程序,输出在字符串 “ourteacherisgoodmanourteacherisgoodteacherourteacherisgoodguy\"”中,子串“teacher”出现的次数。 public class test1 { private static int counter = 0; public static void main(String[] args) { String str=\"ourteacherisgoodmanourteacherisgood teacherourteacherisgoodguy\"; int i = stringNumbers(str); System.out.println(\"teacher出现的次数为:\"+i); } public static int stringNumbers(String str) { if (str.indexOf(\"teacher\")==-1) { return 0; } else if(str.indexOf(\"teacher\") != -1) { counter++; stringNumbers(str.substring(str.indexOf(\"teacher\")+4)); return counter; } //如果子字符串不是一个首尾相同的字符串,还可以这样实现: if(str.indexOf(\"teacher\") != -1) { String[] str1 = str.split(\"teacher\"); Java程序设计2 第8页 共6页 System.out.println(str1.length-1); } else { System.out.println(0); } return 0; } } 运行结果如下图: 标文件名为text2,内容为“世界安好” 2、利用字节流和字符流拷贝一个文本文件,源文件名为text1,内容为“世界安好”,目 import java.io.*; public class FileCopyDemo{ public static void main(String[] args)throws IOException{ BufferedReader br = new BufferedReader(new FileReader(\"D:\\\ext1\")); BufferedWriter bw = new BufferedWriter(new FileWriter(\"D:\\\ext2\")); String line = \"\"; while((line=br.readLine())!=null){ bw.write(line); bw.newLine(); bw.flush(); } bw.close(); br.close(); } } Java程序设计2 第9页 共6页 3、编写一个JFrame窗口,要求在窗口上方放置JLabel标签,默认显示“显示鼠标右键点击坐标”,然后为该窗口添加一个鼠标事件,能够在鼠标右键点击窗口时,Jlabel标签中显示坐标。 4.设计一个简单的GUI应用程序,用户可以通过键盘上的方向键来移动界面中的按钮。 5、设计一个People类和一个子类Student类,要求如下 1)People类有name,age属性,一个包含两个参数的方法,用于给两属性值赋值,一个show方法显示People属性信息。 2)编写Student类,增加degree属性,并设计一个三个参数的构造方法,前两个参数用于继承People类中属性赋值,第三个参数给degree赋值,一个show方法显示Student属性信息 3) 测试类中分别创建People类和Student类,并分别调用show方法 People.java public class people { private String name; private int age; public people(String name,int age){ this.name=name; this.age=age; } public void show(){ System.out.println(\"姓名:\"+name+\年龄:\"+age); } } student.java public class student extends people{ private String degree; public student(String name,int age,String degree){ super(name,age); this.degree=degree; } public void show(){ super.show(); System.out.print(\"学士学位是:\"+degree); } Java程序设计2 第10页 共6页 test.java public class test { public static void main(String[] args) { people p=new people(\"张三\",18); p.show(); student s=new student(\"李四\",20,\"博士\"); s.show(); } } } 运行结果 6.编写顾客类(Customer),它有三个属性name、address和phoneNo,都是String类型,类头声明为:public class Customer{}。完成它的构造函数,为每个属性编写赋值和取值方法,比如对属性name,赋值方法名为setName,目的是给属性name来赋值,取值方法名为getName,目的是得到属性name的值。 public class Customer { private String name,address,phoneNo; public Customer(String name,String address,String phoneNo){ this.name=name; this.address=address; this.phoneNo=phoneNo; } public void setName(String name){ this.name=name; } public void setAddress(String address){ this.address=address; } Java程序设计2 第11页 共6页 } public void setPhoneNo(String phoneNo){ this.phoneNo=phoneNo; } public String getName(){ return name; } public String getAddress(){ return address; } public String getPhoneNo(){ return phoneNo; } 7.设计一个程序,当鼠标移动到按钮的上面时,在屏幕上打出“鼠标移动到了按钮的上面” (效果如图所示) Java程序设计2 第12页 共6页 因篇幅问题不能全部显示,请点此查看更多更全内容