《Java程序设计A》期末考试

单选题

1、

下面关于 MySQL数据库连接的url拼写格式中正确的是()

1分
  • A、A、jdbc:mysql://hostname:port/database
  • B、B、jdbc:mysql:@hostname:port/database
  • C、C、jdbc/mysql:@hostname:port? database
  • D、D、jdbc/mysql://hostname:port? database

参考答案 :

A

答案说明 :

2、

下列符号中,用于分隔throws关键字抛出的多个异常的是()

1分
  • A、A、;
  • B、B、,
  • C、C、&
  • D、D、|

参考答案 :

B

答案说明 :

3、

关于编译HelloWorld.java程序的命令,下列选项中正确的是()

1分
  • A、A、java HelloWorld.java
  • B、B、javac HelloWorld
  • C、C、java HelloWorld
  • D、D、javac HelloWorld.java

参考答案 :

D

答案说明 :

4、

正则表达式中表示单词边界的元字符是()

1分
  • A、A、\A
  • B、B、\G
  • C、C、\B
  • D、D、\b

参考答案 :

D

答案说明 :

5、

下列选项中,Java的main方法格式正确的是()

1分
  • A、A、static void main(String[] args)
  • B、B、public void main(String[] args)
  • C、C、public static void main(String[]s)
  • D、D、public static void main(String[] args)

参考答案 :

D

答案说明 :

6、

下列选项中不属于面向对象的特征的是()

1分
  • A、A、封装性
  • B、B、安全性
  • C、C、继承性
  • D、D、多态性

参考答案 :

B

答案说明 :

7、

异常类都继承自java.lang包下的()

1分
  • A、A、Error类
  • B、B、Exception类
  • C、C、Throwable类
  • D、D、IOError类

参考答案 :

C

答案说明 :

8、

FileWriter类中的read()方法读取到流末尾的返回值是()

1分
  • A、A、0
  • B、B、-1
  • C、C、1
  • D、D、无返回值

参考答案 :

B

答案说明 :

9、

在Java中,类的继承是指在一个现有类的基础上构建一个新的类,构建的新类被称作子类,现有类被称作()。

1分
  • A、A、子类
  • B、B、父类
  • C、C、被继承类
  • D、D、继承类

参考答案 :

B

答案说明 :

10、

用于定义成员的访问控制权的一组关键字是()

1分
  • A、A、class,public
  • B、B、char,extends
  • C、C、boolean,int
  • D、D、private,protected

参考答案 :

D

答案说明 :

用于定义成员的访问控制权的关键字有public,private,protected。
11、

下面选项中,用于定义类的关键字的是()

1分
  • A、A、main
  • B、B、class
  • C、C、static
  • D、D、public

参考答案 :

B

答案说明 :

12、

在Java程序中,如果想声明一个类继承另一个类,需要使用的关键字是()

1分
  • A、A、extend
  • B、B、this
  • C、C、static
  • D、D、public

参考答案 :

A

答案说明 :

13、

在Java中,关于继承,类只支持()

1分
  • A、A、单继承
  • B、B、多继承
  • C、C、两个都可以
  • D、D、两个都不可以

参考答案 :

A

答案说明 :

14、

下列javaDoc注释正确的是()

1分
  • A、A、/*我爱北京天安门*/
  • B、B、 //我爱北京天安门*/
  • C、C、 /**我爱北京天安门*/
  • D、D、/*我爱北京天安门**/

参考答案 :

C

答案说明 :

15、

下列集合中的核心接口中,用于存储一组键值对象,提供键到值的映射的是()

1分
  • A、A、Collection
  • B、B、List
  • C、C、Set
  • D、D、Map

参考答案 :

D

答案说明 :

16、

下列javadoc中常用的标签中,标识指定参数的内容的是()

1分
  • A、A、@deprecated
  • B、B、@see
  • C、C、@return
  • D、D、@exception

参考答案 :

B

答案说明 :

@see标识指定参数的内容。
17、

对于声明为private、protected及public的类成员在类外部()

1分
  • A、A、只能访问声明为public的类成员
  • B、B、只能访问声明为protected和public类的成员
  • C、C、都可以访问
  • D、D、都不能访问

参考答案 :

A

答案说明 :

外部类的访问权限只能是public或default。
18、

在Java语言中,下列关于类的继承的描述,正确的是()

1分
  • A、A、一个类可以继承多个父类
  • B、B、一个类可以具有多个子类
  • C、C、子类可以使用父类的所有方法
  • D、D、子类一定比父类有更多的成员方法

参考答案 :

B

答案说明 :

19、

可以实现连接字符串的运算符是()

1分
  • A、A、+
  • B、B、-
  • C、C、=
  • D、D、/

参考答案 :

A

答案说明 :

20、

在Java中,下列()语句不能通过编译。

1分
  • A、A、String s="a"+"b";
  • B、

    B、String s="a"+3;

  • C、C、int a=2+3;
  • D、

    D、float f=1+1.1;

参考答案 :

D

答案说明 :

21、

下列选项中,自动类型转换会报错的是()

1分
  • A、A、int a=5; long b=a;
  • B、B、byte a=5; long b=a;
  • C、C、 byte a=5; int b=a;
  • D、D、int a = 5; byte b = a;

参考答案 :

D

答案说明 :

不能将int类型转换成byte类型,原因是将一个int类型的值赋给byte类型的变量b时,由于int类型的取值范围大于byte类型的取值范围,这样的赋值会导致数值溢出。
22、

java.io包中唯一一个可以代表磁盘文件的对象的类是()

1分
  • A、A、File类
  • B、B、System类
  • C、C、Thread类
  • D、D、Date日期类

参考答案 :

A

答案说明 :

java.io包中的File类是唯一一个可以代表磁盘文件的对象,它定义了一些用于操作文件的方法。
23、

通过有参构造方法实例化对象,获取要实例化的类中的全部构造方法使用的Class类的方法是()

1分
  • A、A、getMethods()
  • B、B、getDeclaredFields()
  • C、C、getFields()
  • D、D、getConstructors()

参考答案 :

D

答案说明 :

通过有参构造方法实例化对象可以通过调用Class类中的getConstructors()方法获取要实例化的类中的全部构造方法。
24、

在执行.class文件的时候可能需要用到其他类(其他.class文件内容),这个时候如何获取其他类的信息()

1分
  • A、A、运用反射
  • B、B、运用泛型
  • C、C、运用IO流
  • D、D、运用多线程

参考答案 :

A

答案说明 :

25、

下面类或者接口中,不属于集合体系的是()

1分
  • A、A、java.util.Collections
  • B、B、java.util.Map
  • C、C、java.util.Vector
  • D、D、java.util.Hashtable

参考答案 :

A

答案说明 :

Collections是工具类。
26、

下列选项中关于Java中super关键字的说法正确的是()

1分
  • A、A、super关键字是在子类对象内部指代其父类对象的引用
  • B、B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
  • C、C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性
  • D、D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法

参考答案 :

A

答案说明 :

27、

下列Integer类特有的方法,返回保存指定的String类型的值的Integer对象的方法是()

1分
  • A、A、Integer valueOf(int i)
  • B、B、Integer valueOf(String s)
  • C、C、int parseInt(String s)
  • D、D、int intValue()

参考答案 :

B

答案说明 :

Integer valueOf(String s)返回保存指定的String类型的值的Integer对象。
28、

下列关于4种访问控制权限的介绍错误的是()

1分
  • A、A、private,私有访问权限。
  • B、B、default,缺省的访问权限。
  • C、C、protected,受保护的访问权限。
  • D、D、public,公共访问权限。

参考答案 :

B

答案说明 :

29、

下列选项中,能成功使用使用绝对路径创建File对象得是()

1分
  • A、A、File f = new File("D://file//a.txt");
  • B、B、File f = new File("D:\file\a.txt");
  • C、C、File f1 = new File("src\\Hello.java");
  • D、D、File f = new File("D:\\file\\a.txt");

参考答案 :

D

答案说明 :

30、

下列File类的常用方法中,返回 File对象表示的文件或目录的名称的是()

1分
  • A、A、String[] list()
  • B、B、String getPath()
  • C、C、String getName()
  • D、D、String getParentFile()

参考答案 :

C

答案说明 :

String getName()返回File对象表示的文件或目录的名称。
31、

要获取一个类实现的全部接口,可以调用Class类中的方法是()

1分
  • A、A、getMethods()
  • B、B、getDeclaredFields()
  • C、C、getInterfaces()
  • D、D、getConstructors()

参考答案 :

C

答案说明 :

要获取一个类实现的全部接口,可以调用Class类中的getInterfaces()方法。
32、

下列File类的常用方法中,判断File对象对应的文件或目录是否是绝对路径的是()

1分
  • A、A、booleancanWrite()
  • B、B、booleanisAbsolute()
  • C、C、booleanisFile()
  • D、D、booleanisDirectory()

参考答案 :

B

答案说明 :

booleanisAbsolute()判断File对象对应的文件或目录是否是绝对路径。
33、

下列Method类的常用方法,获取方法的返回值类型的方法是()

1分
  • A、A、getParameterTypes()
  • B、B、getName()
  • C、C、getModifiers()
  • D、D、getReturnType()

参考答案 :

D

答案说明 :

getReturnType()获取方法的返回值类型。
34、

关于类的描述,下列选项中错误的是()

1分
  • A、A、类是最小的Java程序单元。
  • B、B、一个Java项目(Java程序)至少要拥有一个类。
  • C、C、class为定义类的关键字。
  • D、D、Java类的扩展名为.class。

参考答案 :

D

答案说明 :

35、

在Java中,关于构造方法,下列说法错误的是()

1分
  • A、A、构造方法的名称必须与类名相同
  • B、B、构造方法可以带参数
  • C、C、构造方法不可以重载
  • D、D、构造方法绝对不能有返回值

参考答案 :

C

答案说明 :

与普通方法一样,构造方法也可以重载,在一个类中可以定义多个构造方法,但是要求每个构造方法的参数类型或参数个数不同。
36、

不管写不写访问权限,接口中方法的访问权限永远是()

1分
  • A、A、private
  • B、B、default
  • C、C、protected
  • D、D、public

参考答案 :

D

答案说明 :

不管写不写访问权限,接口中方法的访问权限永远是public。
37、

下列选项中,符合LinkedList类的特点是()

1分
  • A、A、查询快
  • B、B、增删快
  • C、C、元素不重复
  • D、D、元素自然排序

参考答案 :

B

答案说明 :

LinkedList内部维护了一个双向循环链表,链表中的每一个元素都使用引用的方式记录它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的引用关系即可;删除一个节点也是如此。正因为LinkedList具有这样的存储结构,所以其增删效率非常高。
38、

在Java中,用于创建链表数据结构的对象的类是()

1分
  • A、A、LinkedList
  • B、B、ArrayList
  • C、C、Collection
  • D、D、HashMap

参考答案 :

A

答案说明 :

39、

关于运行HelloWorld.class程序的命令,下列选项正确的是()

1分
  • A、A、java HelloWorld
  • B、B、java HelloWorld.class
  • C、C、javac HelloWorld
  • D、D、javac HelloWorld.class

参考答案 :

A

答案说明 :

40、

下面程序哪个语句是正确的()

1分
  • A、

    A、 byte a=0,b=3; byte c =a+b;

  • B、

    B、 double d=23;  short s=d;

  • C、

    C、short s=23;  s+=12;

     

  • D、D、 float f = 23+23.23;

参考答案 :

C

答案说明 :

s+=12相当于s=shorts+12。
41、

如果要获取一个类的父类,可以调用Class类中的方法是()

1分
  • A、A、getMethods()
  • B、B、getSuperclass()
  • C、C、getInterfaces()
  • D、D、getConstructors()

参考答案 :

B

答案说明 :

42、

关于java.util.HashSet说法正确的是()

1分
  • A、A、集合中的元素有序
  • B、B、集合被保证为不可变
  • C、C、集合中的元素保证唯一性
  • D、D、通过唯一的键访问集合中的元素

参考答案 :

C

答案说明 :

HashSet是Set接口的一个实现类,它存储的元素是不可重复的。
43、

下列选项中,会编译出错的是( )

1分
  • A、

    byte a=1;

  • B、

    short b=100;

  • C、

    char ch = 97;

  • D、

    float f = 123.4d;

参考答案 :

D

答案说明 :

44、

在java中下列关于自动类型转换说法正确的是()

1分
  • A、A、 基本数据类型和String相加结果一定是字符串型
  • B、B、char类型和int类型相加结果一定是字符
  • C、C、double类型可以自动转换为int
  • D、D、char + int + double +"" 结果一定是double

参考答案 :

A

答案说明 :

45、

HashSet存储的元素是无序的,如果想让元素的存取顺序一致,可以使用它的子类()

1分
  • A、A、LinkedList
  • B、B、ArrayList
  • C、C、LinkedHashSet
  • D、D、TreeSet

参考答案 :

C

答案说明 :

判断题

46、

PreparedStatement接口是Statement的子接口,用于执行预编译的SQL语句。

1分

参考答案 :

答案说明 :

47、

Java语言有三种技术平台,分别是JavaSE、JavaME、JavaEE。

1分

参考答案 :

答案说明 :

48、

LocalTime类用来表示不带时区的时间,通常表示的是时、分、秒,如14:49:20。()

1分

参考答案 :

答案说明 :

49、

Calendar类是一个抽象类,不可以被实例化。()

1分

参考答案 :

答案说明 :

50、

在实际应用中,只有泛型类被使用时,该类所属的类型才能确定。()

1分

参考答案 :

答案说明 :

51、

静态初始化,就是在定义数组的同时为数组的每个元素赋值。()

1分

参考答案 :

答案说明 :

52、

在反射机制中,把类中的成员(构造方法、成员方法和成员变量)都封装成对应的类进行表示。()

1分

参考答案 :

答案说明 :

53、

如果把英文分号写成中文的分号,编译器会报告illegalcharacter(非法字符)错误信息。()

1分

参考答案 :

答案说明 :

54、

将Class对象实例化为本类对象时,可以通过无参构造方法完成,也可以通过有参构造方法完成。()

1分

参考答案 :

答案说明 :

55、

创建泛型类的对象时,强制要求传入类型实参。()

1分

参考答案 :

答案说明 :

创建泛型类的对象时,不强制要求传入类型实参。
56、

throw关键字用于方法体内,抛出的是一个异常实例,每次能抛出多个异常实例。()

1分

参考答案 :

答案说明 :

throw关键字用于方法体内,抛出的是一个异常实例,并且每次只能抛出一个异常实例。
57、

若x=5,则表达式(x+ 5)/3的值是3。()

1分

参考答案 :

答案说明 :

58、

二进制是由数字0和1组成的数字序列。()

1分

参考答案 :

答案说明 :

59、

continue语句只用于循环中,它的作用是跳出循环。()

1分

参考答案 :

答案说明 :

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。
60、

使用foreach循环遍历集合和数组时,既可以访问其中的元素,又能对其中的元素进行修改。()

1分

参考答案 :

答案说明 :

当使用foreach循环遍历集合和数组时,只能访问其中的元素,不能对其中的元素进行修改。

填空题

61、

关键字可用于修饰类、变量和方法,它有“无法改变的”或者“最终”的含义。

1分

参考答案 :

【final】

答案说明 :

62、

在Java中,int类型所占存储空间为字节。

1分

参考答案 :

【4】

答案说明 :

63、

是Collection的子接口,用于存储一组无序、唯一的对象。

1分

参考答案 :

【Set】

答案说明 :

64、

用于比较两个整数是否相等的运算符是。

1分

参考答案 :

【==】

答案说明 :

65、

Java提供了对象机制,可以将对象中的数据保存到磁盘。

1分

参考答案 :

【序列化】

答案说明 :

66、

静态方法可以通过和对象访问。

1分

参考答案 :

【类名】

答案说明 :

67、

Java程序的运行环境简称为。

1分

参考答案 :

【JRE】

答案说明 :

68、

Throwable类是所有异常类的父类,它有两个直接子类:Error类和类。

1分

参考答案 :

【Exception】

答案说明 :

69、

类及其子类用于表示运行时异常。

1分

参考答案 :

【RuntimeException】

答案说明 :

70、

PreparedStatement是Statement的子接口,用于执行的SQL语句。

1分

参考答案 :

【预编译】

答案说明 :

简答题

71、

写一个圆类(类名为:Circle),包含:①一个protected的整型属性,代表:圆的半径;②两个public的构造方法:一个带参数(半径),一个不带参数;③两个public的普通静态方法:求面积area()、求周长perimeter()。

8分

我的答案:

public class Circle{

public static void main(String args[]){

protected float r;

public float area;

public float perimeter;

public  float pai=3.14l;

area2();

perimeter2();

public static area1 (float r){

float area;

float pai=3.14l

area=r*r*pai;

}

public static perimeter1{

float perimeter;

float pai=3.14l;

float r;

perimeter=2*pai*r;

}

public float area2(float r,float area,float pai){

area=r*r*pai;

return area;

}

public float perimeter2(float perimeter,float pai,float r){  

perimeter=2*pai*r;

return perimeter;

}

}}

参考答案 :

class Circle{   

        final double PI=3.14;

        protected int r;

        public Circle(int r){

                this.r=r;

        }

        public Rect(){

                this(0);

        }

        public double area(){

                return PI*r*r;

        }

        public double perimeter(){

                return 2*PI*r;

        }     

}

答案说明 :

72、

请用Java中的字节输入输出流编写一个程序(类名取为HelloIO),实现将项目当前文件夹中的一个文件“1.txt”拷贝为“2.txt”。

10分

我的答案:

public class HelloIO{

public static void main(String args[]){

File file=new File("E:file\\1.txt");

File file=new File("E:file\\2.txt");

FileinputStream fileinputstream=new FileinputStream("E:file\\1.txt");

FileoutputStream fileoutputstream =new fileoutputStream("E:file\\2.txt");

creatTempFile();

deleteOnExit();

InputStreamreade inputstreamreade = new InputStreamreade("E:file\\1.txt");

OutputStreamwrite outputstreamwrite =new OutputStreamwrite("E:file\\2.txt");

}

}

参考答案 :

import java.io.*;
public class HelloIO{
  public static void main(String []args)throws IOException{
    byte buffer[ ]=new byte[512];
    try{
      FileInputStream fin=new FileInputStream("1.txt");
      FileOutputStream fout=new FileOutputStream("2.txt");
      int len;
      do{
        len=fin.read(buffer);
        if(len>0)
          fout.write(buffer); 
      }while(len>0);
      fin.close();
      fout.close();
    }catch(IOException e){
      e.printStackTrace();
    } 
  }
}

答案说明 :

73、

请编写JDBC程序(类名取“LoginDB”),模拟用户登录,即在数据库的用户表中查找指定用户名与密码的用户,若存在则在控制台输出“登录成功”,否则输出“登录失败”。其中,MySQL的管理员账号与密码分别为“root”和“1234”。程序访问的数据库名为“mydb”,用户表名为“users”,所查找的name与pwd字段值分别为“Jack”与“1111”(直接用变量赋值来简化用户输入)。数据库驱动为“com.mysql.jdbc.Driver”,连接串url="jdbc:mysql://localhost:3306/mydb"。为简化程序编写,可直接在main()方法上抛出异常。

12分

我的答案:

public class LoginDB{

public static void main(String args[]){

database="mydb";

biao="users";

zhanghao="root";

code=1234;

name="Jack";

pwd=1111;

url="jdbc:mysql://localhost:3306/mydb";

java.sql.Drivermanager="com.mysql.jdbc.Driver";

try{

if(name==Jack&&pwd==1111){

System.out.println("登录成功");

else{

System.out.println("登录失败");

}catch;

}}

参考答案 :

import java.sql.*;
public class LoginDB {      
  public static void main(String[] args) throws SQLException{     
      //1.加载数据库驱动         
      Class.forName("com.mysql.jdbc.Driver");
      //2.通过DriverManager获取数据库连接         
      String url = "jdbc:mysql://localhost:3306/mydb";     
      Connection conn = DriverManager.getConnection(url,"root","1234");    
      //3.通过Connection对象获取PrepareStatement对象
      String sql = "select * from users where name=? and pwd=? ";       
      PreparedStatement pst= conn.prepareStatement(sql); 
      pst.setString(1,"Jack");
      pst.setString(2,"1111");     
      //4.使用PrepareStatement执行SQL查询语句。
     ResultSet rs = pst.executeQuery();         
     // 5.操作ResultSet结果集
     if(rs.next())
        System.out.println("登录成功");
     else
        System.out.println("登录失败");      
     //6.回收数据库资源             
     rs.close();          
     pst.close();         
     conn.close();     
  }  
}

答案说明 :

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迷茫、Peanut

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值