专项练习-04编程语言-03JAVA-04

1.Tree为已定义的类名,下列语句能正确创建 Tree 对象的是 。

A
Tree t=new Tree;
B
Tree t=new Tree();
C
Tree t=Tree();
D
Tree t[ ]=new Tree[10];
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
2.
关于Java语言的内存回收机制,下列选项中最正确的一项是
A
Java程序要求用户必须手工创建一个线程来释放内存
B
Java程序允许用户使用指针来释放内存
C
内存回收线程负责释放无用内存
D
内存回收线程不能释放内存对象
正确答案:C
官方解析:
A选项,Java的内存回收是自动的,不需要也不允许程序员手动调用。

B选项,Java语言不允许使用指针。

C选项正确

D选项,无用的对象内存可以被内存回收线程释放。

知识点:Java
3.
如果类的方法没有返回值,该方法的返回值类型应当是abstract。()

A
正确
B
错误
正确答案:B
参考答案:选B 【分析】 如果类的方法没有返回值,该方法的返回值类型应当是void。 被abstract修饰的类是抽象类,抽象类不能被实例化,但是可以被继承,也可以继承。
知识点:Java
4.
不考虑反射机制,一个子类显式调用父类的构造器必须用super关键字。(  )



A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
5.
下面所示的java代码,运行时,会产生()类型的异常
int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);
A
ArithmeticException
B
NullPointException
C
IOException
D
ArrayIndexOutOfBoundsException
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
6.
关于类的叙述正确的是()。
A
在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B
局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C
使用别的类的方法仅仅需要引用方法的名字即可
D
只要没有定义不带参数的构造函数,JVM都会为类生成一个默认构造函数
正确答案:B
参考答案:B 【解析】 A在类中定义的变量称为类的成员变量,在别的类中不可以直接使用局部变量的 C使用别的类的方法需要通过该类的对象引用方法的名字 D只要没有定义任何构造函数,JVM都会为类生成一个默认构造函数
知识点:Java
7.
以下的变量定义语句中,合法的是()

A
byte a =128;
B
boolean b =null;
C
long c=123L;
D
float d = 0.9239;
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaC语言
8.
一个文件中的数据要在控制台上显示,首先需要( )。

A
System.out.print (buffer[i]);
B
FileOutputStream fout = new FileOutputStream(this.filename);
C
FileInputStream fin = new FileInputStream(this.filename);D
System.in.read(buffer)。
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
9.
以下哪一项正则能正确的匹配网址: http://www.bilibili.com/video/av21061574 ()
A
/^(https?:\/\/)?([a-zA-Z\d]+).bilibili.com\/?video\/av(\D{
    
    1,8})\/?$/
B
/^(http:\/\/)?(\w+)\.bilibili\.com\/?video\/av(\d{
    
    1,8})\/?$/
C
/^(https?:\/\/)?(\w+)\.bilibili\.com\/?\w*$/
D
/^(http:\/\/)?([a-zA-Z\d]+).bilibili.com\/?video\/av\w*\/+$/
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJavascript
10.
如果一个接口Glass有个公有方法setColor(),有个类BlueGlass实现接口Glass,则在类BlueGlass中正确的是?  ( )



A
protected void setColor() {
    
    }
B
void setColor() {
    
    }
C
public void setColor() {
    
    }
D
以上语句都可以用在类BlueGlass中
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
11.
关于下列程序段的输出结果,说法正确的是:( )
public class MyClass{
    
    
    static int i;
    public static void main(String argv[]){
    
    
        System.out.println(i);
    }
}
A
有错误,变量i没有初始化。
B
null
C
1
D
0
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
12.
以下java程序代码,执行后的结果是()
public class Test {
    
    
    public static void main(String[] args) {
    
       
        Object o = new Object() {
    
      
             public boolean equals(Object obj) {
    
      
                 return true; 
         }
     };   
     System.out.println(o.equals("Fred"));
     }
}
A
Fred
B
true
C
编译错误
D
运行时抛出异常
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2016
13.
Math.floor(-8.5)=( )
A
(float)-8.0
B
(long)-9
C
(long)-8
D
(double)-9.0
正确答案:D
参考答案:D  Math.floor(x) 返回小于等于x的最接近整数,类型为double
知识点:Java
14.
Given the following code:
public class Test {
    
    
    private static int j = 0;
 
    private static Boolean methodB(int k) {
    
    
        j += k;
        return true;
    }
 
    public static void methodA(int i) {
    
    
        boolean b;
        b = i < 10 | methodB(4);
        b = i < 10 || methodB(8);
 
    }
 
    public static void main(String args[]) {
    
    
        methodA(0);
        System.out.println(j);
    }
}
What is the result?
A
The program prints”0B
The program prints”4C
The program prints”8D
The program prints”12E
The code does not complete.
正确答案:B
你的答案:D
参考答案:选 B 在main函数中先调用methodA(0) 在methodA中,第二行 b = i < 10 | methodB(4); //中间为与计算符,执行完methodB(4)后,j = 4 methodA中,第三行 b = i < 10 || methodB(8);//中间为或计算符,因为i < 10 已成立,不需要后续计算 所以最后结果输出为4
知识点:Java
15.
如下代码,执行test()函数后,屏幕打印结果为()
public class Test2
{
    
    
    public void add(Byte b)
    {
    
    
        b = b++;
    }
    public void test()
    {
    
    
        Byte a = 127;
        Byte b = 127;
        add(++a);
        System.out.print(a + " ");
        add(b);
        System.out.print(b + "");
    }
}

A
127 127
B
128 127
C
129 128
D
以上都不对
正确答案:D
官方解析:
 包装类的值是final修饰不可变的,无论是++b还是b++都创建了一个新对象,那么作为参数传递时,形参和实参不会指向一个地址。也就是说,即使add() 方法中不是b = b++;这样没有意义的代码,传入参数的值也不会改变。

byte类型取值范围为-128~127,在a变量进行++a运算时,会导致a变为-128,这是因为整数在内存中使用的是补码的形式表示,最高位是符号位,0表示正数,1表示负数,加一导致补码进位,符号位变为1.

因此,本题正确输出为-128 127,答案选择D

知识点:2015JavaJava工程师
16.
下面代码将输出什么内容:()
public class SystemUtil{
    
    
    public static boolean isAdmin(String userId){
    
    
        return userId.toLowerCase()=="admin";
    }
    public static void main(String[] args){
    
    
        System.out.println(isAdmin("Admin"));
    }
}

A
true
B
false
C
1
D
编译错误
正确答案:B
官方解析:
本题考查==的含义,对于两个引用变量,只有他们指向同一个引用时,==才会返回true。题目中"admin"指向堆内存字符串常量池里admin的地址,而String类的方法都是通过创建新的对象也就是new String()的方式返回的,因此userId.toLowerCase()指向的是这个字符串对象在堆内存中的地址。如果题目中isAdmin方法返回值更改为return userId.toLowerCase().equals("admin");,输出结果将变为true。


知识点:Java
17.
以下Java程序运行的结果是:
public class Tester{
    
    
public static void main(String[] args){
    
    
   Integer var1=new Integer(1);
   Integer var2=var1;
   doSomething(var2);
   System.out.print(var1.intValue());
   System.out.print(var1==var2);
}
public static void doSomething(Integer integer){
    
    
    integer=new Integer(2);
    }
}
A
1true
B
2true
C
1false
D
2false
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
18.
从以下四个选项选出不同的一个。
A
LVS
B
Nginx
C
Lighttpd
D
Apache
正确答案:A
官方解析:LVSLinux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Lighttpd 是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点。
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
知识点:Java
19.
How should servlet developers handle the HttpServlet’s service() methond when extending HttpServlet?
A
They should override the service()method in most cases;
B
They should call the service()method from doGet()or doPost();
C
They should call the service()method from the init()method;
D
They should override at least one doXXX()method(such as doPost())
正确答案:D
参考答案:题目的意思是开发者在开发servlet继承HttpServlet时如何处理父类的service方法,一般我们都是不对service方法进行重载(没有特殊需求的话),而只是重载doGet()之类的doXxx()方法,减少了开发工作量。但如果重载了service方法,doXXX()方法也是要重载的。即不论是否重载service方法,doXXX()方法都是需要重载的。D说至少需要重载doXXX()方法是对的。
知识点:JavaSpring
20.
volatile关键字的说法错误的是
A
能保证线程安全
B
volatile关键字用在多线程同步中,可保证读取的可见性
C
JVM保证从主内存加载到线程工作内存的值是最新的
D
volatile能禁止进行指令重排序
正确答案:A
官方解析:
A选项:volatile单纯使用不能保证线程安全,他只是提供了一种弱的同步机制来确保修饰的变量的更新操作通知到其他线程,A选项说法错误

B选项:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。B选项说法正确。

C选项: 对于用volatile修饰的变量,JVM虚拟机会保证从主内存加载到线程工作内存的值是最新的,例如线程1和线程2在进行read和load的操作中,发现主内存中某个变量的值都是5,那么都会加载这个最新的值。这也是可见性的一种体现。C选项说法正确。

D选项:volatile的底层是采用内存屏障来实现的,就是在编译器生成字节码时,会在指令序列中插入内存屏障来禁止特定类型的处理器重排序。D选项说法正确。
综上所述,答案选择A
知识点:Java
21.
10. class Line {
    
    
11. public class Point {
    
     public int x,y;}
12. public Point getPoint() {
    
     return new Point(); }
13. }
14. class Triangle {
    
    
15. public Triangle() {
    
    
16. // insert code here
17. }
18. }
在第16行插入哪段代码可以获得一个Point对象的坐标?(  )
A
Point p = Line.getPoint();
B
Line.Point p = Line.getPoint();
C
Point p = (new Line()).getPoint();
D
Line.Point p = (new Line()).getPoint();
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2019
22.
下面对静态数据成员的描述中,正确的是
A
静态数据成员可以在类体内进行初始化
B
静态数据成员不可以被类的对象调用
C
静态数据成员不受private控制符的作用
D
静态数据成员可以直接用类名调用
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、iOS工程师、2019
23.
下面代码输出结果是?
1
2
3
int i = 5;
int j = 10;
System.out.println(i + ~j);

A
Compilation error because”~”doesn’t operate on integers
B
-5
C
-6
D
15
正确答案:C
官方解析:-n=~n-1
知识点:Java
24.
若需要定义一个类,下列哪些修饰符是允许被使用的?( )
A
static
B
package
C
private
D
public
正确答案:ACD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
25.
下面哪个流类不属于面向字符的流()
A
BufferedWriter
B
FileInputStream
C
ObjectInputStream
D
InputStreamReader
正确答案:BC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
26.
已知String a="a",String b="b",String c=a+b,String d=new String("ab") 以下操作结果为true的是
A
(a+b).equals(c)
B
a+b==c
C
c==d
D
c.equals(d)
正确答案:AD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、安卓工程师、测试工程师、2019、测试开发工程师
27.
下面程序输出结果为():
public class Demo{
    
    
    public static void main (String [] args) {
    
    
        String lx =LeXin;
        String nb = lx;
        lx = "Fenqile";
        System.out.println(nb);
    }
}


A
程序异常,编译不通过
B
程序编写正常,可正常运行
C
程序输出值为“LeXinD
程序输出值为“Fenqile”
正确答案:BC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师
28.
Java创建对象的说法正确的有()
Anew语句创建对象,是最常见的创建对象的方法。
B
运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
C
调用对象的clone()方法。
D
运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
正确答案:ABCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
29.
以下说法哪个是正确的()
A
IOException在编译时会被发现
B
NullPointerEception在编译时不会被发现
C
SQLException在编译时会被发现
D
FileNotFoundException在编译时会被发现
正确答案:ABCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
30.
以下哪些类是线程安全的()
A
Vector
B
HashMap
C
ArrayList
D
StringBuffer
E
Properties
正确答案:ADE
参考答案:答案:ADE AVector相当于一个线程安全的List BHashMap是非线程安全的,其对应的线程安全类是HashTable CArraylist是非线程安全的,其对应的线程安全类是Vector DStringBuffer是线程安全的,相当于一个线程安全的StringBuilder EProperties实现了Map接口,是线程安全的
知识点:2015JavaJava工程师
1.
下列说法哪个正确(    )

A
不需要定义类,就能创建对象
B
对象中必须有数据域和方法
C
数据域可以是基本类型变量,也可以是一个对象
D
数据域必须是基本类型变量
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
2.
下列类在多重catch中同时出现时,哪一个异常类应最后一个列出()

A
ArithmeticException
B
NumberFormatException
C
Exception
D
ArrayIndexOutOfBoundException
正确答案:C
官方解析:
出现多个catch块时,应该先处理小异常,再处理大异常,也就是将处理父类异常的catch块放在处理子类异常的catch块之后。Exception是所有异常的父类,如果处理Exceptioncatch语句块放在前面,会导致任何异常在这个catch块都能被匹配,后续catch块将变得没有意义。

知识点:Java
3.
只有实现了()接口的类,其对象才能序列化。
A
Serializable
B
Cloneable
C
Comparable
D
Writeable
正确答案:A
参考答案:A Serializable要实现序列化对象必须要实现的接口
知识点:Java
4.
     
public class Test {
    
     
    public static void main(String[] args) {
    
    
    Father a = new Father();
    Father b = new Child();
  }
} 
class Father {
    
     
    public Father() {
    
    
    System.out.println("我是父类");
  }
} 
class Child extends Father {
    
     
    public Child() {
    
    
    System.out.println("我是子类");
  }
}
     
    

A
我是父类 我是父类 我是子类
B
我是父类 我是子类 我是子类
C
我是父类 我是父类
D
我是父类 我是父类 我是父类
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
5.
下列关于继承的描述正确的是()

AJava中允许定义一个子类的引用,指向父类的对象。
BJava中一个子类可以继承多个抽象类,在extends关键字后依次列出,用逗号隔开。
CJava中类的继承是通过extends关键字来描述的,而且只允许继承自一个直接父类。
DJava中抽象类之间不允许出现继承关系,所有的抽象类都相互独立。
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
6.
Java中可以将布尔值与整数进行比较吗 ?

A
可以
B
不可以
正确答案:B
官方解析:
boolean 类型不能转换成任何其它数据类型。

知识点:Java
7.
如下的Java程序 
public class Test {
    
     
     public static void main(String[] args) {
    
     
     System.out.println(args[0]); 
     } 
} 
 若采用命令行“java Test one two three”调用,则程序输出的结果为:
A
Test
B
one
C
two
D
java
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
8.
下列哪个是合法的 Java 标识符?( )
A
Tree&Glasses
B
FirstJavaApplet
C
_FirstApplet
D
273.5
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
9.
以下会产生精度丢失的类型转换是(A
float a=10
B
int a=int8846.0
C
byte a=10int b=-a
D
double d=100
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java

10.
执行语句“int a=2 ’ ”后,a的值是( )

A
2
B
50
C
49
D
0
正确答案:B
官方解析:
题中int  a = '2',这种定义与int  a = 2是完全不同的
int  a = '2'中的数字2使用单引号来表示字符2,字符2对用的ascii码值是50,因此这种情况下,a的值是50
int a = 2中的数字2表示了数字本身,这种情况下,a的值是2

知识点:JavaC语言
11.
一般用()创建InputStream对象,表示从标准输入中获取数据,()创建OutputStream对象,表示输出到标准输出设备中。
A
System.in System.out
B
System.out System.in
C
System.io.in System.io.out
D
System.io.out System.io.in
正确答案:A
参考答案:答案:A System.in 和 System.out 是java中的标准输入输出流,一般情况下代表从控制台输入和输出到控制台
知识点:Java
12.
执行下面的程序段,语句3的执行次数为(其中n>1)()
1
2
3
for (i = 0; i <= n-1; i++)   // (1)
    for (j = n; j > i; j--// (2)
        state;               // (3)


A
n(n+2)/2
B
(n-1)(n+2)/2
C
n(n+1)/2
D
(n-1)(n+2)
正确答案:C
参考答案:选C。 假设代入法: 设n=3,外层循环i的取值为012 当i=0时,内部循环j的取值为321,所以state执行3次;当i=1时,内部循环j的取值32,所以state执行2次;当i=2时,内部循环j的取值为3,所以state执行1次。 综上所述:3+2+1=6次。将n=3带入选项中的出C符合结果。
知识点:C++JavaC语言
13.
用户不能调用构造方法,只能通过new关键字自动调用。()

A
正确
B
错误
正确答案:B
参考答案:选B。 在类内部可以用户可以使用关键字this.构造方法名()调用(参数决定调用的是本类对应的构造方法) 在子类中用户可以通过关键字super.父类构造方法名()调用(参数决定调用的是父类对应的构造方法。) 反射机制对于任意一个类,都能够知道这个类的所有属性和方法,包括类的构造方法。
知识点:Java
14.
下面关于JAVA的垃圾回收机制,正确的是( )
A
当调用“System.gc()”来强制回收时,系统会立即回收垃圾
B
垃圾回收不能确定具体的回收时间
C
程序可明确地标识某个局部变量的引用不再被使用
D
程序可以显式地立即释放对象占有的内存
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、安卓工程师、前端工程师、2019
15.
关于下面程序,哪些描述是正确的: (  )
 public class While {
    
    
    public void loop() {
    
    
        int x= 10;
        while ( x )  {
    
    
            System.out.print("x minus one is " + (x - 1));
            x -= 1;
        }
    }
}

A1有语法错误
B4有语法错误
C5有语法错误
D6有语法错误
E2有语法错误,loop是关键字
F
程序能够正常编译和运行
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2018
16.
off-heap是指那种内存()
A
JVM GC能管理的内存
B
JVM进程管理的内存
CJVM老年代内存区
DJVM新生代内存
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2019
17.
在java7中,下列哪个说法是正确的:
A
ConcurrentHashMap使用synchronized关键字保证线程安全
B
HashMap实现了Collection接口
C
Arrays.asList方法返回java.util.ArrayList对象
D
SimpleDateFormat对象是线程不安全的
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师
18.
对于子类的构造函数说明,下列叙述中错误的是( )。

A
子类不能继承父类的无参构造函数。
B
子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。
C
在创建子类的对象时,若不含带参构造函数,将先执行父类的无参构造函数,然后再执行自己的无参构造函数。
D
子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++Java
19.
在开发中使用泛型取代非泛型的数据类型(比如用ArrayList<String>取代ArrayList),程序的运行时性能会变得更好。() 
A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
20.
URL u =new URL("http://www.123.com");。如果www.123.com不存在,则返回______。
A
http://www.123.com
B
””
C
null
D
抛出异常
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
21.
下面代码的运行结果是( )
public class Arraytest{
    
    
    int a[] = new int[6];
    public static void main ( String arg[] ) {
    
    
        System.out.println ( a[0] );
    }
}


A
null
B
0
C
编译出错
D
运行出错
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2016
22.Web应用程序中,(    )负责将HTTP请求转换为HttpServletRequest对象
A
Servlet对象
B
HTTP服务器
C
Web容器
D
JSP网页
正确答案:C
参考答案:C web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASPIISPWS都是这样的容器。一个服务器可以多个容器。
知识点:Java
23.
()运算符和()运算符分别把一个值的位向左和向右移动
A
<<
B
>>
C
&&
D
||
正确答案:AB
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:C++JavaJava工程师、C++工程师
24.
已知 boolean result = false,则下面哪个选项是合法的:

A
result=1
B
result=true;
C
if(result!=0) {
    
    //so something…}
D
if(result) {
    
    //do something…}
正确答案:BD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
25.
以下代码可以使用的修饰符是:()
1
2
3
public interface Status {
    
    
 /*INSERT CODE HERE*/  int MY_VALUE=10;
 }
A
final
B
static
C
abstract
D
public
正确答案:ABD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、安卓工程师、2019
26.
下列关于if-else if选择结构的说法正确的是

A
多个else if块之间的顺序可以改变,改变之后对程序的执行结果没有影响
B
多个else if块之间的顺序可以改变,改变之后可能对程序的执行结果有影响
C
多个else if块之间的顺序不可以改变,改变后程序编译不通过
D
多个else if块之间的顺序可以改变,改变后程序编译可以通过
正确答案:BD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaC语言
27.
以下表达式中,正确的是()
A
byte i=128
B
boolean i=null
C
long i=0xfffL
D
double i=0.9239d
正确答案:CD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
28.
下列哪些情况下会导致线程中断或停止运行(      )
A
抛出InterruptedException异常
B
线程调用了wait方法
C
当前线程创建了一个新的线程
D
高优先级线程进入就绪状态
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、C++工程师、运维工程师、测试工程师、安全工程师、2019、测试开发工程师、2021
29.
Gadget has-a Sprocket and Gadget has-a Spring and Gadget is-a Widget and Widget has-a
Sprocket 以下哪两段代码可以表示这个关系? (选择两项) (    )
A
class Widget {
    
     Sprocket s; }
class Gadget extends Widget {
    
     Spring s; }
B
class Widget {
    
     }
class Gadget extends Widget {
    
     Spring s1; Sprocket s2; }
C
class Widget {
    
     Sprocket s1; Spring s2; }
class Gadget extends Widget {
    
     }
D
class Gadget {
    
     Spring s; }
class Widget extends Gadget{
    
     Sprocket s; }
正确答案:AC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、安卓工程师、2019
30.
以下哪种JAVA得变量声明方式可以避免程序在多线程竞争情况下读到不正确的值(  )
A
volatile
B
static volatile
C
synchronized
D
static
正确答案:AB
官方解析:
A B选项,免程序在多线程竞争情况下读到不正确的值需要保证内存可见性,即当一个线程修改了volatile修饰的变量的值,volatile会保证新值立即同步到主内存,以及每次使用前立即从主内存读取。

C选项,synchronized可以修饰方法、代码块或对象,并不修饰变量。

D选项,static修饰的变量属于类,线程在使用这个属性的时候是从类中复制拷贝一份到线程工作内存中的,如果修改线程内存中的值之后再写回到原先的位置,就会有线程安全问题。用static修饰的变量可见性是无法确保的。

知识点:JavaJava工程师、2018
1.
Java Application 中的主类需包含main方法,以下哪项是main方法的正确形参?(    )

A
String args
B
String[] args
C
Char arg
D
StringBuffer[] args
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
2.Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为
A
隐藏
B
覆盖
C
重载
D
Java不支持此特性
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、测试工程师、2018、测试开发工程师
3.
Java 语言中创建一个对象使用的关键字是()

A
class
B
interface
C
new
D
create
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
4.
final方法等同于private方法。(  )



A
正确
B
错误
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
5.
输入流将数据从文件,标准输入或其他外部输入设备中加载道内存,在 java 中其对应于抽象类()及其子类。

A
java.io.InputStream
B
java.io.OutputStream
C
java.os.InputStream
D
java.os.OutputStream
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
6.A为已知定义的类名,下列创建A类的对象a的语句正确的是( )

A
float A a
B
public a=A()
C
A a=new int ()
D
A a=new A()
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
7.
以下关于Integerint的区别错误的是
A
int是java提供的8种原始数据类型之一
B
Integer是java为int提供的封装类
C
int的默认值为0
D
Integer的默认值为1
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、安卓工程师、2018
8.
HashSet子类依靠()方法区分重复元素。
A
toString(),equals()
B
clone(),equals()
C
hashCode(),equals()
D
getClass(),clone()
正确答案:C
参考答案:HashSet内部使用Map保存数据,即将HashSet的数据作为Map的key值保存,这也是HashSet中元素不能重复的原因。而Map中保存key值前,会去判断当前Map中是否含有该key对象,内部是先通过key的hashCode,确定有相同的hashCode之后,再通过equals方法判断是否相同。
知识点:JavaJava工程师
9.
下面的代码运行的结果是:
class B extends Object
{
    
    
    static
    {
    
    
        System.out.println("Load B");
    }
    public B()
    {
    
    
        System.out.println("Create B");
    }
}
class A extends B
{
    
    
    static
    {
    
    
        System.out.println("Load A");
    }
    public A()
    {
    
    
        System.out.println("Create A");
    }
}
 
public class Testclass
{
    
    
    public static void main(String[] args)
    {
    
    
        new A();
    }
}

A
Load B ->Create B->Load A -> Create A
B
Load B -> Load A ->Create B ->Create A
C
Load B -> Create B-> Create A -> Load A
D
Create B ->Create A ->Load B ->Load A
正确答案:B
参考答案:B 初始化块在构造器执行之前执行,类初始化阶段先执行最顶层父类的静态初始化块,依次向下执行,最后执行当前类的静态初始化块;创建对象时,先调用顶层父类的构造方法,依次向下执行,最后调用本类的构造方法。
知识点:Java
10.
下列外部类定义中,不正确的是:( )


A
class x {
    
     .... }
B
class x extends y {
    
     .... }
C
static class x implements y1,y2 {
    
     .... }
D
public class x extends Applet {
    
     .... }
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
11.ABC 定义如下:

1public  class  ABC{
    
    

2public  double  max( double  a, double  b) {
    
       }

34}

将以下哪个方法插入行 3 是不合法的。()

A
public float max(float a, float b, float c){
    
     return a }
B
public double max (double c, double d){
    
     return c }
C
public float max(float a, float b){
    
     return a }
D
private int max(int a, int b, int c){
    
    return a }
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
12.
与未加访问控制符的缺省情况相比,publicprotected修饰符扩大了属性和方法的被访问范围,private修饰符则缩小了这种范围。
A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
13.
以下代码的循环次数是
public class Test {
    
    
    public static void main(String args[]) {
    
    
        int i = 7;
        do {
    
    
            System.out.println(--i);
            --i;
        } while (i != 0);
       System.out.println(i);
    }
}


A
0
B
1
C
7
D
无限次
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、安卓工程师、2018
14.
下面关于依赖注入(DI)的说法不正确的是()
A
只有通过Spring才能实现依赖注入(DI)
B
依赖注入的主要目的是解耦合
C
常见的依赖注入方式有Setter和构造方法
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
15.
下面哪个选项没有实现 java.util.Map 接口?
A
Hashtable
B
HashMap
C
Vector
D
IdentityHashMap
正确答案:C
参考答案:答案:C ABD都实现了Map接口,其中AB的区别是一个是线程安全的,一个是线程不安全的 CVector是实现了List接口,是一个线程安全的List
知识点:Java
16.
下面哪个方法是 public void  example(){
    
    ...} 的重载方法? ( )

A
public void Example( int m){
    
    ...}
B
public int example(){
    
    ...}
C
public void example2(){
    
    ...}
D
public int example ( int m, float f){
    
    ...}
正确答案:D
官方解析:重载的要求是:
方法名称必须相同
参数列表必须不同(个数不同、或类型不同、参数类型排列顺序不同等)
对返回值没有要求
本题中,AC选项与原函数名不同,B选项的参数列表与原函数列表相同。答案选择D
知识点:Java
17.
下列关于计算机系统和Java编程语言的说法,正确的是()

A
计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B
Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C
在程序中书写注释不会影响程序的执行,可以在必要的地方多写一些注释。
D
Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、操作系统
18.
下面有关java hashmap的说法错误的是?
A
HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。
B
HashMap 的实现不是同步的,意味着它不是线程安全的
C
HashMap通过开放地址法解决哈希冲突
D
HashMap中的key-value都是存储在Entry数组中的
正确答案:C
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
19.
以下选项中,合法的赋值语句是()

A
a>1;
B
i++;
C
a= a+1=5;
D
y = int(i);
正确答案:B
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaC语言
20.A1和类A2在同一包中,类A2有个protected的方法testA2,类A1不是类A2的子类(或子类的子类),类A1可以访问类A2的方法testA2。(  )

A
正确
B
错误
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
21.
有变量int i = 0; int a = i++; int b = ++a; int c = a+b; int d = (a == 1)?b:c; 请问a和d的值分别是多少?(    )A
2,4
B
1, 4
C
1, 2
D
1,1
正确答案:D
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
22.
ArrayList list = new ArrayList(20);中的list扩充几次
A
0
B
1
C
2
D
3
正确答案:A
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java、测试工程师、2018、测试开发工程师
23.
下面哪个不对?
A
RuntimeException is the superclass of those exceptions that can be thrown during the normal operation of the Java Virtual Machine.
B
A method is not required to declare in its throws clause any subclasses of RuntimeExeption that might be thrown during the execution of the method but not caught
C
An RuntimeException is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch.
D
NullPointerException is one kind of RuntimeException
正确答案:C
参考答案:运行时异常: 都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。        运行时异常的特点是Java编译器不会检查它,也就是说,当程序中可能出现这类异常,即使没有用try-catch语句捕获它,也没有用throws子句声明抛出它,也会编译通过。 非运行时异常 (编译异常): 是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOExceptionSQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常。
知识点:Java
24.
以下程序的输出结果为
class Base{
    
    
    public Base(String s){
    
    
        System.out.print("B");
    }
}
public class Derived extends Base{
    
    
    public Derived (String s) {
    
    
        System.out.print("D");
    }
    public static void main(String[] args){
    
    
        new Derived("C");
    }
}

A
BD
B
DB
C
C
D
编译错误
正确答案:D
参考答案:子类构造方法在调用时必须先调用父类的,由于父类没有无参构造,必须在子类中显式调用,修改子类构造方法如下即可: public Derived(String s){
    
     super("s"); System.out.print("D"); }
知识点:Java
25.
下面哪个行为被打断不会导致InterruptedException:( )?

A
Thread.join
B
Thread.sleep
C
Object.wait
D
CyclicBarrier.await
E
Thread.suspend
正确答案:E
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
26.
下面属于java引用类型的有?
A
String
B
byte
C
char
D
Array
正确答案:AD
参考答案:AD java语言是强类型语言,支持的类型分为两类:基本类型和引用类型。 基本类型包括boolean类型和数值类型,数值类型有整数类型和浮点类型。整数类型包括:byteshortintlongchar;浮点类型包括:floatdouble 引用类型包括类、接口和数组类型以及特殊的null类型。
知识点:Java
27.
servlet周期包含哪些:
A
初始化
B
销毁
C
请求处理
D
开始
正确答案:ABC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
28.
下面有关 java 类加载器,说法正确的是?()
A
引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用C++来实现的
B
扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
C
系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 JavaD
tomcat 为每个 App 创建一个 Loader,里面保存着此 WebAppClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用
正确答案:BCD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
29.
jdk1.8中,下面有关java 抽象类和接口的区别,说法错误的是?
A
抽象类可以有构造方法,接口中不能有构造方法
B
抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法
C
一个类可以实现多个接口,但只能继承一个抽象类
D
接口中可以有普通成员变量,抽象类中没有普通成员变量
正确答案:BD
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:Java
30.
java中 String str = "hello world"下列语句错误的是?
A
str+=' a'
B
int strlen = str.length
C
str=100
D
str=str+100
正确答案:ABC
官方解析:暂无官方题目解析,去讨论区看看吧!
知识点:JavaJava工程师、2016

猜你喜欢

转载自blog.csdn.net/weixin_45828554/article/details/131945616
今日推荐