1.下面所示的java代码,运行时,会产生()类型的异常 ?

int Arry_a[] = new int[10];
System.out.println(Arry_a[10]);

A.ArithmeticException

B.NullPointException

C.IOException

D.ArrayIndexOutOfBoundsException

答案:

D

解析:

定义的数组长度为10,角标即为0-9,访问数组角标10会出现数组角标越界异常

2.下面关于继承的描述正确的是?

A.在Java中只允许单一继承

B.在Java中一个类只能实现一个接口

C.在Java中一个类不能同时继承一个类和实现一个接口

D.Java的单一继承使代码不可靠

答案:

A

解析:

3. Java 源程序文件的扩展名为()

A..java

B..class

C..exe

D..jar

答案:

A

解析:

4.Java 语言用以下哪个类来把基本类型数据封装为对象()

A.包装类

B.Class

C.Math

D.Object

答案:

A

解析:

5. 下列代码的执行结果是()

 public class Test {
public static int a = 1;
public static void main(String[] args) {
int a = 10;
a++; Test.a++;
Test t=new Test();
System.out.println("a=" + a + " t.a=" + t.a);
} }

A.a=10 t.a=3

B.a=11 t.a=2

C.a=12 t.a=1

D.a=11 t.a=1

答案:

B

解析:

值为1的a属于类变量也叫作成员变量,值为10的a是局部变量 首先a++时就近原则,用局部变量10来加,Text.a直接用类名调用成员变量的情况,只能是static 修饰的成员变量1来加,然后又实例化了对象,在输出中第一个a= 用就近原则输出11,第二个t.a 对象只能调用类变量输出2

6.下面有关java classloader说法错误的是?

A.Java默认提供的三个ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoader

B.ClassLoader使用的是双亲委托模型来搜索类的

C.JVM在判定两个class是否相同时,只用判断类名相同即可,和类加载器无关

D.ClassLoader就是用来动态加载class文件到内存当中用的

答案:

C

解析:

JVM在判定两个class是否相同时,不仅要判断两个类名是否相同,而且要判断是否由同一个类加载器实例加载的。

7.以下那个数据结构是适用于"数据必须以相反的顺序存储然后检索" ? ()

A.Stack

B.Queue

C.List

D.Link List

答案:

A

解析:

栈-先进后出(比喻:坐电梯) 队列-先进先出(水管) list-链表(怎么存就怎么取)

8. 在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( )。

A.System.out.print (buffer[i]);

B.DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename));

C.DataInputStream din = new DataInputStream(new FileInputStream(this.filename));。

D.System.in.read(buffer)。

答案:

B

解析:

input和output指的是对于程序而言。input是从文件读取进来,output是输出到文件。

9.Please write the output result 。

public class Test
{
public static void changeStr(String str)
{
str = "welcome";
}
public static void main(String[] args)
{
String str = "1234";
changeStr(str);
System.out.println(str);
}
}

A.1234

B.welcome

C.空

D.不确定

答案:

A

解析:

string的值是不可改变的,所有试图更改String的行为都会创建一个新的String.

10.关于String,StringBuilder以及StringBuffer,描述错误的是()

A.对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象

B.StringBuffer是线程安全

C.StringBuilder是线程安全

D.可以修改StringBuilder和StringBuffer的内容

答案:

C

解析:

A,java中的字符串存储在字符串常量区,不会改变,发生改变是会新创建一个对象

B,StringBuffer是线程安全的StringBuilder

C,StringBuilder跟StringBuffer功能相同,区别是StringBuilder不是线程安全的

D,StringBuilder和StringBuffer底层都是以字符数组存放的,可以修改内容

11.以下哪个不属于JVM堆内存中的区域()?

A.survivor区

B.常量池

C.eden区

D.old区

答案:

B

解析:

jvm堆分为:新生代(一般是一个Eden区,两个Survivor区),老年代(old区)。

常量池属于 PermGen(方法区)

12.运行下面代码,输出的结果是

class A {
public A() { System.out.println("class A");
}
{
System.out.println("I'm A class"); }
static {
System.out.println("class A static"); }
}
public class B extends A {
public B() { System.out.println("class B");
}
{
System.out.println("I'm B class"); }
static {
System.out.println("class B static"); } public static
void main(String[] args) {
new B();
}

A.

class A static
class B static I'm A class
class A I'm B class
class B

B.

class A static  I'm A class
class A class B static
I'm B class class B

C.

class A static    class B static
class A I'm A class class B
I'm B class

D.

class A static   class A  I'm A
class class B static
class B I'm B class

答案:

A

解析:

①父类静态变量和静态代码块(按照声明顺序);

②子类静态变量和静态代码块(按照声明顺序);

③父类成员变量和代码块(按照声明顺序);

④父类构造器;

⑤子类成员变量和代码块(按照声明顺序);

⑥子类构造器。

13.下列语句正确的是:?

A.形式参数可被字段修饰符修饰

B.形式参数不可以是对象

C.形式参数为方法被调用时真正被传递的参数

D.形式参数可被视为local variable

答案:

D

解析:

14.以下程序输出结果是?

String str =
"";
System.out.print(str.split(",").length);

A.0

B.1

C.出现异常

答案:

B

解析:

15.public class contained in a Java program file must have the same name as the file, except for the extension ".java".

A.FALSE

B.TRUE

答案:

A

解析:

题目的意思是:除去扩展名.java的部分,包含在java文件里的Java里的公共类必须与文件的名字相同。

但是公共的内部类是不需要和文件的名字相同的。

16.其中"c.getDeclaredMethods"的作用是:

import java.lang.reflect.Method;
public class DumpMethods{
public static void main(String[] args) {
try {
Class c=Class.forName(args[0]);
Method m[]=c.getDeclaredMethods();
for (int i = 0; i < m.length; i++) {
System.out.println(m[i].toString());
}
} catch (Throwable e) {
System.err.println(e);
}
}
}

A.取得类的公有方法对象

B.取得类的所有公有方法名称

C.取得类的所有方法对象

D.选项都不正确

答案:

D

解析:

public Method[] getMethods()返回某个类的所有公用(public)方法包括其继承类的公用方法,包括它所实现接口的方法。

public Method[] getDeclaredMethods()对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。包括它所实现接口的方法。

17.运行代码,输出的结果是()

public class P {
public static int abc = 123;
static{
System.out.println("P is init");
}
}
public class S extends P {
static{
System.out.println("S is init");
}
}
public class Test {
public static void main(String[] args) {
System.out.println(S.abc);
}
}

A.P is init 123

B.S is init P is init 123

C.P is init S is init 123

D.S is init 123

答案:

A

解析:

属于被动引用不会出发子类初始化

1.子类引用父类的静态字段,只会触发子类的加载、父类的初始化,不会导致子类初始化

2.通过数组定义来引用类,不会触发此类的初始化

3.常量在编译阶段会进行常量优化,将常量存入调用类的常量池中, 本质上并没有直接引用到定义常量的类,因此不会触发定义常量的类的初始化。

18.java中Hashtable, Vector, TreeSet, LinkedList哪些线程是安全的?

A.Hashtable

B.Vector

C.TreeSet

D.LinkedList

答案:

AB

解析:

HashMap是线程安全的HashMap

Vector是线程安全的ArrayList

TreeSet和LinkedList都不是线程安全的

19.下面哪些赋值语句是正确的()

A.long test=012

B.float f=-412

C.int other =(int)true

D.double d=0x12345678

E.byte b=128

答案:

A B D

解析:

A和B中long和float,正常定义需要加l和f,但是long和float属于基本类型,会进行转化,所以不会报出异常。AB正确

boolean类型不能和任何类型进行转换,会报出类型异常错误。所以C错。

D选项可以这样定义,D正确。

E选项中,byte的取值范围是-128—127。报出异常: cannot convert from int to byte.所以E选项错误。

20.Thread. sleep()是否会抛出checked exception?

A.会

B.不会

答案:

A

解析:

Thread.sleep() 和 Object.wait(),都可以抛出 InterruptedException。这个异常是不能忽略的,因为它是一个检查异常(checked exception)

推荐

Java笔试内容集合 持续更新中....

文末

欢迎关注个人微信公众号:Coder编程

获取最新原创技术文章和免费学习资料,更有大量精品思维导图、面试资料、PMP备考资料等你来领,方便你随时随地学习技术知识!

文章收录至

Github: https://github.com/CoderMerlin/coder-programming

Gitee: https://gitee.com/573059382/coder-programming

欢迎关注并star~

Java基础笔试练习(九)的更多相关文章

  1. java基础解析系列(九)---String不可变性分析

    java基础解析系列(九)---String不可变性分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---In ...

  2. Java基础笔试练习(六)

    1.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数.类型或顺序各不相同,传回的值也可以不相同.这种面向对象程序的特性称为? A.隐藏 B.覆盖 C.重载 D.Java不支持此特性 ...

  3. Java基础笔试练习(一)

    1. 若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于() ? A.本地方法 B.最终方法 C.静态方法 D.抽象方法 答案: D 解析: ...

  4. Java基础笔试练习(十二)

    1.(C#.JAVA)扩展方法能访问被扩展对象的public成员 A.能 B.不能 答案: A 解析: 翻译一下,子类方法是否能够访问父类中的public成员. 2.如果子类要调用父类的构造函数,则通 ...

  5. Java基础笔试练习(十一)

    1.下面的方法,当输入为2的时候返回值是多少? public static int getValue(int i) { int result = 0; switch (i) { case 1: res ...

  6. Java基础笔试练习(七)

    1.下列程序执行后结果为( )? class A { public int func1(int a, int b) { return a - b; } } class B extends A { pu ...

  7. Java基础笔试练习(五)

    1.以下关于Integer与int的区别错误的是? A.int是java提供的8种原始数据类型之一 B.Integer是java为int提供的封装类 C.int的默认值为0 D.Integer的默认值 ...

  8. Java基础笔试练习(四)

    1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( ). A.java B.class C.html D.exe 答案: B 解析: Java源程序 ...

  9. Java基础笔试练习(三)

    1.下列InputStream类中哪个方法可以用于关闭流? A.skip() B.close() C.mark() D.reset() 答案: B 解析: inputstream的close方法用来关 ...

随机推荐

  1. java 修改HttpServletRequest的参数或请求头

    场景:过滤器中获取参数Token并添加到请求头(用户认证兼容老系统) 请求头和请求参数是不能直接修改,也没有提供修改的方法,但是可以在过滤器和拦截器中使用HttpServletRequestWrapp ...

  2. LeetCode 971. Flip Binary Tree To Match Preorder Traversal

    原题链接在这里:https://leetcode.com/problems/flip-binary-tree-to-match-preorder-traversal/ 题目: Given a bina ...

  3. JavaScript基础05——严格模式

    严格模式: 除了正常运行模式,ECMAscript5添加了第二种运行模式:“严格模式”(strict mode).顾名思义,这种模式是的Javascript在更严格的条件下运行. 严格模式的作用: 1 ...

  4. 图书检索系统C版本

    原创,转载请注明出处! 程序具有一下功能窗口界面1,Input输入(读入文件,所有的文件都读入)2,Output输出(检验是否读取正确,从结构体数组读入)3,Length统计(此文件里有110本图书) ...

  5. [RN] React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页头部 效果

    React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页效果 效果如下: 一.安装依赖 npm install react-native- ...

  6. vue-cli使用笔记

    安装nodejs 安装vue-clinpm install -g vue-cli 使用vue-cli初始化项目vue init webpack my-project 进到目录cd my-project ...

  7. 树莓派从烧录系统到通过wifi远程访问(新树莓派配置,无显示器、网线、键盘)

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/raspberry_from_install_to_remote_ ...

  8. Android中LayoutInflater()方法

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...

  9. MongoDB 表(集合) 创建删除、数据增删改查

    MongoDB 表(集合) 创建删除和增删改查数据 创建一个集合(emp) 在创建集合之前先使用use xxx,选择数据库,如果没有会创建(并不是真正的创建,只有在数据库里面保存集合数据之后才能够真正 ...

  10. 解决MySql ERROR 1698 (28000) 错误:Access denied for user 'root'@'localhost'

    今天尝试在Ubuntu虚拟机上安装MySql 数据库(版本是:5.7.23-0Ubuntu0.18.04.1),数据库安装很简单,就是三行命令:   sudo apt-get install mysq ...