牛客网刷题总结2

1,下列关于java package的描述,正确的是?

| 包不提供将所有类名区分为更易管理的块的机制

||包提供可见性控制机制

|||包的一个重要的属性就是包内定义的所有类都可以通过该包外的代码访问

|V声明为包的一部分的类的.class文件可以存储在多个目录中

A 只有|

B只有||

C只有|||

D 只有IV

解析:答案是B 包的作用:1,把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用

                                            2,如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

                                           3,包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

2,protected访问权限要小于包访问权限()

A 正确               B 错误

解析:默认访问权限是整个package,而protected访问权限不仅包含package还包含其子类就可以了,答案选的是B

3,String s = new String("xyz");创建了几个StringObject?

A 两个或一个都有可能

B 两个

C 一个

D 三个

解析:答案是A ,1.String对象的两种创建方式:
第一种方式: String str1 = "aaa"; 是在常量池中获取对象("aaa" 属于字符串字面量,因此编译时期会在常量池中创建一个字符串对象),

第二种方式: String str2 = new String("aaa") ; 一共会创建两个字符串对象一个在堆中,一个在常量池中(前提是常量池中还没有 "aaa" 字符串对象。所以是一个或者两个

     4,关于数据库连接的程序,以下哪个语句的注释是错误的( )

A  Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //指定MySQL JDBC驱动程序

B String url=”jdbc:odbc:student_access”; //指定数据源为student_access

C Connection con=DriverManager.getConnection(url); //创建连接指定数据库的对象

D Statement stmt=con.creatStatement();//创建执行SQL语句的Statement对象

解析:答案是A

Class.forName("com.mysql.jdbc.Driver"); //指定MySQL JDBC驱动程序
oracle.jdbc.driver.OracleDriver //oracle驱动
sun.jdbc.odbc.JdbcOdbcDriver//Access数据库

5,

以下代码将打印出

1

2

3

4

 public static void main (String[] args) { 

    String classFile = "com.jd.". replaceAll(".""/") + "MyClass.class";

    System.out.println(classFile);

 A  com. jd

B com/jd/MyClass.class

C///////MyClass.class

D com.jd.MyClass

   解析:答案是C 由于replaceAll方法的第一个参数是一个正则表达式,而"."在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成"/"。如果想替换的只是".",那么久要写成"\\.".

6,

What is displayed when the following is executed;

1

2

3

double d1=-0.5;

System.out.println("Ceil d1="+Math.ceil(d1));

System.out.println("floor d1="+Math.floor(d1));

 A Ceil d1=-0.0 floor d1=-1.0

BCeil d1=0.0 floor d1=-1.0

C Ceil d1=-0.0 floor d1=-0.0

D Ceil d1=0.0 floor d1=0.0

ECeil d1=0 floor d1=-1

解析:答案是A  

ceil:大于等于 x,并且与它最接近的整数。

floor:小于等于 x,且与 x 最接近的整数。如果参数小于0且大于-1.0,结果为 -0

  7,单例模式中,两个基本要点是

A 构造函数私有

B 静态工厂方法

C 以上都不对

D 唯一实例

解析:答案是AD

8,以下说法中正确的有?

A StringBuilder是 线程不安全的

B Java类可以同时用 abstract和final声明

C HashMap中,使用 get(key)==null可以 判断这个Hasmap是否包含这个key

D volatile关键字不保证对变量操作的原子性

解析:答案选择的是AD

abstract修饰的类是抽象类,是可以继承的,而final修饰的类表示不能再被继承,故肯定不能共同使用。故B错。

HashMap中提供的get(key)获取的是变量,无法判断是否存在key。所以C是错的

volatile关键字是一种轻量级的同步机制,只保证数据的可见性,而不保证数据的原子性。故D对

9,java中 String str = "hello world"下列语句错误的是? 

A str+=' a'

B int strlen = str.length

C str=100

D str=str+100

    解析:答案是ABC  选项A是str += 'a'   和 str +="a"都是对的,但是如果a前面加一个空格,那么只能用双引号了。代表字符串

            选项B数组有length属性,字符串只有length()方法

               选项C int 无法直接转成String类型

猜你喜欢

转载自blog.csdn.net/qq_37244548/article/details/107453378