java选择题

题目来自牛客网

1.为初始化其成员变量,每个类都定义的方法是()

A.方法

B.main

C.构造方法

D.对象

正确答案:C.构造方法

构造方法是一种特殊的方法,用于在创建对象时初始化对象的状态。它与类名相同,没有返回类型,并且在创建对象时自动调用。构造方法可以有参数,允许在创建对象时传递初始值来设置对象的状态。

单选题

2.下列程序执行后输出结果为( )

|-------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | class BaseClass { ``public BaseClass() {} ``{ ``System.out.println(``"I'm BaseClass class"``); ``} ``static { ``System.out.println(``"static BaseClass"``); ``} ``} ``public class Base extends BaseClass { ``public Base() {} ``{ ``System.out.println(``"I'm Base class"``); ``} ``static { ``System.out.println(``"static Base"``); ``} ``public static void main(String[] args) { ``new Base(); ``} ``} |

A.static BaseClass

I'm BaseClass class

static Base

I'm Base class

B.I'm BaseClass class

I'm Base class

static BaseClass

static Base

C.I'm BaseClass class

static BaseClass

I'm Base class

static Base

D.static BaseClass

static Base

I'm BaseClass class

I'm Base class

正确答案:D

程序执行的顺序如下:

  1. 静态代码块 static BaseClass 首先执行,因为它在类加载时就会执行。
  2. 接着是静态代码块 static Base 执行,因为 Base 类继承自 BaseClass,并且 Base 类也被加载。
  3. 然后是构造方法 I'm BaseClass class 执行,因为创建了 Base 类的对象,而 Base 类继承自 BaseClass,所以 BaseClass 的构造方法会被调用。
  4. 最后是构造方法 I'm Base class 执行,因为 Base 类的构造方法在 BaseClass 的构造方法之后调用。

单选题

3.下列循环语句序列执行完成后,i的值是()

int i;

for(i=2;i<=10;i++){

System.out.println(i);

}

A.2

B.10

C.11

D.不确定

正确答案:C

在Java中的 for 循环语句,其执行流程如下:

  1. 初始化部分:int i; 然后 i=2;
  2. 条件判断部分:i<=10; 当这个条件为真时,循环继续执行。
  3. 循环体:System.out.println(i); 打印当前的 i 值。
  4. 迭代部分:i++; 每次循环结束后,i 的值增加1。

循环开始时 i 为2,然后循环体执行,打印2。之后 i 增加1变为3,条件判断仍然为真,循环继续,打印3。这个过程会一直重复,直到 i 增加到11,此时条件 i<=10 不再成立,循环结束。

循环结束后,i 的值是11。

单选题

4设有下面两个赋值语句:

a = Integer.parseInt("1024");

b = Integer.valueOf("1024").intValue();

下述说法正确的是()

A.a是整数类型变量,b是整数类对象。

B.a是整数类对象,b是整数类型变量。

C.a和b都是整数类对象并且它们的值相等。

D.a和b都是整数类型变量并且它们的值相等。

正确答案:D

解析如下:

  • `Integer.parseInt(String s)` 方法将字符串参数 `s` 解析为一个 `int` 类型的整数变量。

  • `Integer.valueOf(String s)` 方法将字符串参数 `s` 转换为 `Integer` 类型的对象。

  • `intValue()` 方法是 `Integer` 类的一个实例方法,它返回该 `Integer` 对象的整数值。

因此:

  • `a = Integer.parseInt("1024");` 这行代码会将字符串 "1024" 解析为 `int` 类型的变量 `a`。

  • `b = Integer.valueOf("1024").intValue();` 这行代码首先将字符串 "1024" 转换为 `Integer` 类型的对象,然后调用 `intValue()` 方法获取该对象的整数值,赋给 `int` 类型的变量 `b`。

由于 `a` 和 `b` 都是通过字符串 "1024" 转换得到的 `int` 类型变量,所以它们的值相等。

多选题

5.以下哪些类是线程安全的()

A.Vector

B.HashMap

C.ArrayList

D.StringBuffer

E.Properties

正确答案:ADE

参考答案:答案:ADE A,Vector相当于一个线程安全的List B,HashMap是非线程安全的,其对应的线程安全类是HashTable C,Arraylist是非线程安全的,其对应的线程安全类是Vector D,StringBuffer是线程安全的,相当于一个线程安全的StringBuilder E,Properties实现了Map接口,是线程安全的

以下是线程安全的类:

  • A. Vector(同步的集合类)

  • D. StringBuffer(同步的字符串缓冲区)

  • E. Properties(线程安全的属性集)

而 HashMap 和 ArrayList 不是线程安全的。

相关推荐
白杨尚青41 分钟前
C++进阶篇(二):多态——虚函数、重写、虚函数表与三个经典坑(附完整代码仓库)
开发语言·c++·多态·虚函数·重写·动态绑定
考虑考虑7 小时前
JDK26中的Map.ofLazy
java·后端·java ee
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天11 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源