java选择题

1当你编译和运行下面的代码时,会出现下面选项中的哪种情况?

public class Pvf{
    static boolean Paddy;
    public static void main(String args[]){
        System.out.println(Paddy);
    }
}

正确答案: B
B.编译通过并输出结果false
C.编译通过并输出结果true
D.编译通过并输出结果null
解析 类中声明的变量有默认初始值;方法中声明的变量没有默认初始值,必须在定义时初始化,否则在访问该变量时会出错。
boolean类型默认值是false
2.下列描述中,错误的是( )
正确答案: A
A.java要求编程者管理内存
B.java的安全性体现在多个层次上
C.java中没有指针机制
D.java有多线程机制
3.以下JAVA程序的输出是什么()

public class HelloSogou{
     public static synchronized void main(String[] a){
         Thread t=new Thread(){
             public void run(){Sogou();}
     };
     t.run();
     System.out.print("Hello");
     }
     static synchronized void Sogou(){
     System.out.print("Sogou");
    }
}

正确答案: B
A.HelloSogou
B.SogouHello
C.Hello
D.结果不确定
4.String str1 = “abc”,“abc”分配在内存哪个区域?
正确答案: C
A.堆
B.栈
C.字符串常量区
D.寄存器
5.下面有关java final的基本规则,描述错误的是?
正确答案: B
A.final修饰的类不能被继承
B.final修饰的成员变量只允许赋值一次,且只能在类方法赋值
C.final修饰的局部变量即为常量,只能赋值一次。
D.final修饰的方法不允许被子类覆盖
6.在创建派生类对象,构造函数的执行顺序()
正确答案: A
A.基类构造函数,派生类对象成员构造函数,派生类本身的构造函数
B.派生类本身的构造函数,基类构造函数,对象成员构造函数
C.基类构造函数,派生类本身的构造函数,派生类对象成员构造函数
D.对象成员构造函数,基类构造函数,派生类本身的构造函数

7.通过JDBC访问数据库包含下面哪几步?
正确答案: A B C D
A.载入JDBC驱动程序
B.建立连接
C.执行查询或更新
D.关闭连接
8.根据下面这个程序的内容,判断哪些描述是正确的:( )

public class Test {
public static void main(String args[]) {
String s = "tommy";
Object o = s;
sayHello(o); //语句1
sayHello(s); //语句2
}
public static void sayHello(String to) {
System.out.println(String.format("Hello, %s", to));
}
public static void sayHello(Object to) {
System.out.println(String.format("Welcome, %s", to));
}
}

正确答案: C D
A.这段程序有编译错误
B.语句1输出为:Hello, tommy
C.语句2输出为:Hello, tommy
D.语句1输出为:Welcome, tommy
9.关于Java中的ClassLoader下面的哪些描述是错误的:( )
正确答案: B D F
A.默认情况下,Java应用启动过程涉及三个ClassLoader: Boostrap, Extension, System
B.一般的情况不同ClassLoader装载的类是不相同的,但接口类例外,对于同一接口所有类装载器装载所获得的类是相同的
类装载器需要保证类装载过程的线程安全
C.ClassLoader的loadClass在装载一个类时,如果该类不存在它将返回null
D.ClassLoader的父子结构中,默认装载采用了父优先
E.所有ClassLoader装载的类都来自CLASSPATH环境指定的路径
10.执行如下程序代码
char chr = 127;
int sum = 200;
chr += 1;
sum += chr;
后,sum的值是 ; ( )
备注:同时考虑c/c++和Java的情况的话
正确答案: A C
A.72
B.99
C.328
D.327
解释 java中只有byte, boolean是一个字节, char是两个字节, 所以对于java来说127不会发生溢出, 输出328
但是对于c/c++语言来说, char是一个字节, 会发生溢出, 对127加一发生溢出, 0111 1111 --> 1000 0000, 1000 0000为补码-128, 所以结果为200-128=72
11.下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()
正确答案: C
A.ArithmeticException
B.NumberFormatException
C.Exception
D.ArrayIndexOutOfBoundException
12.于String、StringBuffer、StringBuilder以下说法错误的是
正确答案: C
A.StringBuilder运行速度最快
B.StringBuffer是线程安全的
C.String的值是可变的
D.StringBuffer运行速度比String快
13.以下 b 的值是: byte b = (byte)129;
正确答案: B
A.-126
B.-127
C.-128
D.-129
14以下代码的输出的正确结果是

public class Test {
public static void main(String args[]) {
String s = "祝你考出好成绩!";
System.out.println(s.length());
}
}

正确答案: D
A.24
B.16
C.15
D.8
15.下面有关webservice的描述,错误的是?
正确答案: B
A.Webservice是跨平台,跨语言的远程调用技术
B.Webservice通信机制实质就是json数据交换
C.Webservice采用了soap协议(简单对象协议)进行通信
D.WSDL是用于描述 Web Services 以及如何对它们进行访问
16.java语言的下面几种数组复制方法中,哪个效率最高?
正确答案: B
A.for 循环逐一复制
B.System.arraycopy
C.Array.copyOf
D.使用clone方法
17.下列有关Servlet的生命周期,说法不正确的是?
正确答案: A
A.在创建自己的Servlet时候,应该在初始化方法init()方法中创建Servlet实例
B.在Servlet生命周期的服务阶段,执行service()方法,根据用户请求的方法,执行相应的doGet()或是doPost()方法
C.在销毁阶段,执行destroy()方法后会释放Servlet 占用的资源
D.destroy()方法仅执行一次,即在服务器停止且卸载Servlet时执行该方法
18.下面程序的输出结果为( )

public class Demo {
 public static String sRet = "";
 public static void func(int i)
 {
 try
 {
 if (i%2==0)
 {
 throw new Exception();
 }
 }
 catch (Exception e)
 {
 sRet += "0";
 return;
 }
 finally
 {
 sRet += "1";
 }
 sRet += "2";
 }
 public static void main(String[] args)
 {
 func(1);
 func(2);
 System.out.println(sRet);
 }
 }

正确答案: B
A.120
B.1201
C.12012
D.101
解释第一步,func(1),if条件不成立,不抛出异常,catch不运行,final运行,拼串得到“1”,程序继续往下走,拼串得到“12”。 第二步,fun(2),if条件成立,抛出异常,catch捕获异常,运行catch里面代码,拼串得到“120”,虽然有return,但是不管出不出异常,final里代码必须执行,执行final,拼串得到“1201”,然后return结束。所以最终结果“1201”。
19.在java语言中,如果你编写一个多线程序,可以使用的方法是()
正确答案: A B
A.扩展类Thread
B.实现Runnable接口
C.扩展类 Runnable
D.实现接口Thread
20.java中提供了哪两种用于多态的机制
正确答案: A B
A.通过子类对父类方法的覆盖实现多态
B.利用重载来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
C.利用覆盖来实现多态.即在同一个类中定义多个同名的不同方法来实现多态。
D.通过子类对父类方法的重载实现多态
21.类声明中,声明抽象类的关键字是 ( )
正确答案: B
A.public
B.abstract
C.final
D.class
22.区分类中重载方法的依据是( )。
正确答案: C
A.不同的形参名称
B.不同的返回值类型
C.不同的形参列表
D.不同的访问权限
23.一个类中,有两个方法名、形参类型、顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖。( )

正确答案: B
A.正确
B.错误
解释重载(overload)和重写(override)的区别: 重载就是同一个类中,有多个方法名相同,但参数列表不同(包括参数个数和参数类型),与返回值无关,与权限修饰符也无关。调用重载的方法时通过传递给它们不同的参数个数和参数类型来决定具体使用哪个方法,这叫多态。 重写就是子类重写基类的方法,方法名,参数列表和返回值都必须相同,否则就不是重写而是重载。权限修饰符不能小于被重写方法的修饰符。重写方法不能抛出新的异常或者是比被重写方法声明更加宽泛的检查型异常。

24.通过HttpServletRequest. getParameter获取的参数.
正确答案: C
A.总是采用UTF-8编码
B.总是采用lS08859-1编码
C.由客户端浏览器和Web容器配置共同决定编码
D.由服务器所在的操作系统决定编码
25.在Java中,HashMap中是用哪些方法来解决哈希冲突的?
正确答案: C
A.开放地址法
B.二次哈希法
C.链地址法
D.建立一个公共溢出区
26.关于下面的程序Test.java说法正确的是( )。

package Test;
public class Test {
    private static void test(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            try {
                if (arr[i] % 2 == 0) {
                    throw new NullPointerException();
                } else {
                    System.out.print(i);
                }
            } finally {
                System.out.print("e");
            }
        }
    }
 
    public static void main(String[]args) {
        try {
            test(new int[] {0, 1, 2, 3, 4, 5});
        } catch (Exception e) {
            System.out.print("E");
        }
    }
 
}

可以得到的结论是( )
正确答案: B
编译出错
A.eE
B.Ee
C.eE1eE3eE5
D.Ee1Ee3Ee5
28.下列哪个说法是正确的()
正确答案: D
A.ConcurrentHashMap使用synchronized关键字保证线程安全
B.HashMap实现了Collction接口
C.Array.asList方法返回java.util.ArrayList对象
D.SimpleDateFormat是线程不安全的
29.阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()

package NowCoder;
class Test {
    public static void hello() {
        System.out.println("hello");
    }
}
public class MyApplication {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Test test=null;
        test.hello();
    }
}

正确答案: A
A.能编译通过,并正确运行
B.因为使用了未初始化的变量,所以不能编译通过
C.以错误的方式访问了静态方法
D.能编译通过,但因变量为null,不能正常运行
30.Java.Thread的方法resume()负责重新开始被以下哪个方法中断的线程的执行()。
正确答案: D
A.stop
B.sleep
C.wait
D.suspend

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zzsaixuexi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值