OCP Java17 SE Developers 复习题04
======================答案=========================
F. Line 5 does not compile. This question is checking to see whether you are paying attention to the types. numFish
is an int
, and 1
is an int
. Therefore, we use numeric addition and get 5. The problem is that we can't store an int
in a String
variable. Suppose line 5 said String anotherFish = numFish + 1 + "";
. In that case, the answers would be option A and option C. The variable defined on line 5 would be the string "5"
, and both output statements would use concatenation.
======================答案=========================
C, E, F. Option C uses the variable name as if it were a type, which is clearly illegal. Options E and F don't specify any size. Although it is legal to leave out the size for later dimensions of a multidimensional array, the first one is required. Option A declares a legal 2D array. Option B declares a legal 3D array. Option D declares a legal 2D array. Remember that it is normal to see classes on the exam you might not have learned. You aren't expected to know anything about them.
======================答案=========================
A, C, D. Option B throws an exception because there is no March 40. Option E also throws an exception because 2023 isn't a leap year and therefore has no February 29. Option F doesn't compile because the enum should be named Month
, rather than MonthEnum
. Option D is correct because it is just a regular date and has nothing to do with daylight saving time. Options A and C are correct because Java is smart enough to adjust for daylight saving time.
======================答案=========================
A, C, D. The code compiles fine. Line 3 points to the String
in the string pool. Line 4 calls the String
constructor explicitly and is therefore a different object than s
. Line 5 checks for object equality, which is true, and so it prints one
. Line 6 uses object reference equality, which is not true since we have different objects. Line 7 calls intern()
, which returns the value from the string pool and is therefore the same reference as s
. Line 8 also compares references but is true since both references point to the object from the string pool. Finally, line 9 is a trick. The string Hello
is already in the string pool, so calling intern()
does not change anything. The reference t
is a different object, so the result is still false
.
======================答案=========================
B. This example uses method chaining. After the call to append()
, sb
contains "aaa"
. That result is passed to the first insert()
call, which inserts at index 1. At this point, sb
contains abbaa
. That result is passed to the final insert()
, which inserts at index 4, resulting in abbaccca
.
======================答案=========================
C. Remember to watch return types on math operations. One of the tricks is line 24. The round()
method returns an int
when called with a float
. However, we are calling it with a double
, so it returns a long
. The other trick is line 25. The random()
method returns a double
. Since two lines have a compiler error, option C is the answer.
======================答案=========================
A, E. When dealing with time zones, it is best to convert to GMT first by subtracting the time zone. Remember that subtracting a negative is like adding. The first date/time is 9:00 GMT, and the second is 15:00 GMT. Therefore, the first one is earlier by six hours.
======================答案=========================
A, B, F. Remember that indexes are zero-based, which means index 4 corresponds to 5
, and option A is correct. For option B, the replace()
method starts the replacement at index 2 and ends before index 4. This means two characters are replaced, and charAt(3)
is called on the intermediate value of 1265
. The character at index 3 is 5
, making option B correct. Option C is similar, making the intermediate value 126 and returning 6
.
Option D results in an exception since there is no character at index 5. Option E is incorrect. It does not compile because the parentheses for the length()
method are missing. Finally, option F's replace
results in the intermediate value 145
. The character at index 2 is 5
, so option F is correct.
======================答案=========================
A, C, F. Arrays are zero-indexed, making option A correct and option B incorrect. They are not able to change size, which is option C. The values can be changed, making option D incorrect. An array does not override equals()
, so it uses object equality. Since two different objects are not equal, option F is correct, and options E and G are incorrect.
======================答案=========================
A. All of these lines compile. The min()
and floor()
methods return the same type passed in: int
and double
, respectively. The round()
method returns a long
when called with a double
. Option A is correct since the code compiles.
======================答案=========================
E. A LocalDate
does not have a time element. Therefore, there is no method to add hours, making option E the answer.
======================答案=========================
A, D, E. First, notice that the indent()
call adds a blank space to the beginning of numbers
, and stripLeading()
immediately removes it. Therefore, these methods cancel each other out and have no effect. The substring()
method has two forms. The first takes the index to start with and the index to stop immediately before. The second takes just the index to start with and goes to the end of the String
. Remember that indexes are zero-based. The first call starts at index 1 and ends with index 2 since it needs to stop before index 3. This gives us option A. The second call starts at index 7 and ends in the same place, resulting in an empty String
which is option E. This prints out a blank line. The final call starts at index 7 and goes to the end of the String
finishing up with option D.
======================答案=========================
B. A String
is immutable. Calling concat()
returns a new String
but does not change the original. A StringBuilder
is mutable. Calling append()
adds characters to the existing character sequence along with returning a reference to the same object. Therefore, option B is correct.
======================答案=========================
A, F. Option A correctly creates the current instant. Option F is also a proper conversion. Option B is incorrect because Instant, like many other date/time classes, does not have a public constructor and is instantiated via methods. Options C, D, and E are incorrect because the source object does not represent a point in time. Without a time zone, Java doesn't know what moment in time to use for the Instant
.
======================答案=========================
C, E. Numbers sort before letters and uppercase sorts before lowercase. This makes option C one of the answers. The binarySearch()
method looks at where a value would be inserted, which is before the second element for Pippa
. It then negates it and subtracts one, which is option E.
======================答案=========================
A, B, G. There are 11 characters in base
because there are two escape characters. The \n
counts as one character representing a new line, and the \\
counts as one character representing a backslash. This makes option B one of the answers. The indent()
method adds two characters to the beginning of each of the two lines of base
. This gives us four additional characters. However, the method also normalizes by adding a new line to the end if it is missing. The extra character means we add five characters to the existing 11, which is option G. Finally, the translateEscapes()
method turns any text escape characters into actual escape characters, making \\t
into \t
. This gets rid of one character, leaving us with 10 characters matching option A.
======================答案=========================
A, G. The substring()
method includes the starting index but not the ending index. When called with 1 and 2, it returns a single-character String
, making option A correct and option E incorrect. Calling substring()
with 2 as both parameters is legal. It returns an empty String
, making options B and F incorrect. Java does not allow the indexes to be specified in reverse order. Option G is correct because it throws a StringIndexOutOfBoundsException
. Finally, option H is incorrect because it returns an empty String
.
======================答案=========================
C, F. This question is tricky because it has several parts. First, you have to know that the text block on lines 13 and 14 is equivalent to a regular String
. Since there is no line break at the end, this is four characters. Then, you have to know that String
objects are immutable, which means the results of lines 17–19 are ignored. Finally, on line 20, something happens. We concatenate three new characters to s1
and now have a String
of length 7, making option C correct.
======================答案=========================
A, B, D. The compare()
method returns a positive integer when the arrays are different and the first
is larger. This is the case for option A since the element at index 1 comes first alphabetically. It is not the case for option C because the s4
is longer or for option E because the arrays are the same.
The mismatch()
method returns a positive integer when the arrays are different in a position index 1 or greater. This is the case for options B and D since the difference is at index 1. It is not the case for option F because there is no difference.
======================答案=========================
A, D. The dateTime1
object has a time of 1:30 per initialization. The dateTime2
object is an hour later. However, there is no 2:30 when springing ahead, setting the time to 3:30. Option A is correct because it is an hour later. Option D is also correct because the hour of the new time is 3
. Option E is not correct because we have changed the time zone offset due to daylight saving time.
======================答案=========================
A, C. The reverse()
method is the easiest way of reversing the characters in a StringBuilder
; therefore, option A is correct. In option B, substring()
returns a String
, which is not stored anywhere. Option C uses method chaining. First, it creates the value "JavavaJ$"
. Then, it removes the first three characters, resulting in "avaJ$"
. Finally, it removes the last character, resulting in "avaJ"
. Option D throws an exception because you cannot delete the character after the last index. Remember that deleteCharAt()
uses indexes that are zero-based, and length()
counts the number of characters rather than the index.
======================答案=========================
A. The date starts out as April 30, 2022. Since dates are immutable and the plus methods' return values are ignored, the result is unchanged. Therefore, option A is correct.
相关文章:

OCP Java17 SE Developers 复习题04
答案 F. Line 5 does not compile. This question is checking to see whether you are paying attention to the types. numFish is an int, and 1 is an int. Therefore, we use numeric addition and get 5. The problem is that we cant store an int in a String variab…...

spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable
1、背景描述 菜鸟笔者在运行下面代码时发生了报错: from pyspark import SparkContextsc SparkContext("local", "apple1012")rdd sc.parallelize([[1, 2], 3, [7, 5, 6]])rdd1 rdd.flatMap(lambda x: x) print(rdd1.collect())报错描述如…...
node.js知识系列(5)-每天了解一点
目录 21. RESTful API 设计中的 HTTP 动词22. 中间件链和回调地狱23. Express.js 的 ORM 经验24. 错误处理中间件和 HTTP 状态码25. 事件循环(Event Loop)在异步编程中的作用26. Node.js 缓存机制27. Node.js 全局对象28. 性能分析和调优经验29. Express…...
Linux服务器(银河麒麟、CentOS 7+、CentOS 7+ 等)修改IP地址
打开终端或控制台,以root或具有sudo权限的用户身份登录。根据你的Linux发行版和网络管理工具的不同,相应的命令可能略有不同。使用以下命令编辑网络配置文件,例如eth0网卡的配置文件: 注意:ifcfg-eth0 可能会有不同的命…...

Mall脚手架总结(四) —— SpringBoot整合RabbitMQ实现超时订单处理
前言 在电商项目中,订单因为某种特殊情况被取消或者超时未支付都是比较常规的用户行为,而实现该功能我们就要借助消息中间件来为我们维护这么一个消息队列。在mall脚手架中选择了RabbitMQ消息中间件,接下来荔枝就会根据功能需求来梳理一下超时…...

python实现图像的直方图均衡化
直方图均衡化是一种用于增强图像对比度的图像处理技术。它通过重新分配图像中的像素值,使得图像的像素值分布更加均匀,增强图像的对比度,从而改善图像的视觉效果。 直方图均衡化的过程如下: 灰度转换:如果图像是彩色…...

哪种烧录单片机的方法合适?
哪种烧录单片机的方法合适? 首先,让我们来探讨一下单片机烧录的方式。虽然单片机烧录程序的具体方法会因为单片机型号、然后很多小伙伴私我想要嵌入式资料,通宵总结整理后,我十年的经验和入门到高级的学习资料,只需一…...

安规电容总结
安规电容 顾名思义:电容即使失效后,也不会漏电或者放电伤人,要符合安全规定 多数高压认证产品都需要。 上图: X电容: Y电容: 区别: 电路示意:...

MyCat分片垂直拆分
场景 在业务系统中 , 涉及以下表结构 , 但是由于用户与订单每天都会产生大量的数据 , 单台服务器的数据 存储及处理能力是有限的 , 可以对数据库表进行拆分 , 原有的数据库表如下。 现在考虑将其进行垂直分库操作,将商品相关的表拆分到一个数据库服务器&#…...
MongoDB bin目录没有mongo.exe命令
MongoDB从6.0版本开始就取消了在Bin目录中加入Compass连接工具,需要大家自行安装。 可以定位到我的文章 链接地址 点击右侧目录的 标题三:MongoDB Compass连接MongoDBMongoDB Compass的安装方法哦~...

Zookeeper分布式一致性协议ZAB源码剖析
文章目录 1、ZAB协议介绍2、消息广播 1、ZAB协议介绍 ZAB 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。 Zookeeper 是一个为分布式应用提供高效且可靠的分布式协调服务。在解决分布式一致性方面,Zookeeper 并…...

微软 AR 眼镜新专利:包含热拔插电池
近日,微软在增强现实(AR)领域进行深入的研究,并申请了一项有关于“热插拔电池”的专利。该专利于2023年10月5日发布,描述了一款采用模块化设计的AR眼镜,其热插拔电池放置在镜腿部分,可以直接替代…...

软件TFN 2K的分布式拒绝攻击(DDos)实战详解
写在前头 本人写这篇博客的目的,并不是我想成为黑客或者鼓励大家做损坏任何人安全和利益的事情。因科研需要,我学习软件TFN 2K的分布式拒绝攻击,只是分享自己的学习过程和经历,有助于大家更好的关注到网络安全及网络维护上。 需要…...

计算机网络第四章——网络层(末)
赌书消得泼茶香当时只道是寻常 文章目录 概述:组播机制是让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收,组播仅应用于UDP 因特网中的IP组播也使用组播组的概念,每个组都有一个特别分配的…...

Newman基本使用
目录 简介 安装 使用 官网 运行 输出测试报告文件 htmlextra 使用 简介 Newman 是 Postman 推出的一个 nodejs 库,直接来说就是 Postman 的json文件可以在命令行执行的插件。 Newman 可以方便地运行和测试集合,并用之构造接口自动化测试和持续集成…...

左值引用右值引用
文章目录 左值和右值什么是左值什么是右值左值引用与右值引用的比较左值引用总结右值引用的总结: 右值引用使用场景和意义左值引用的使用场景左值引用的短板 右值引用和移动语义解决上面的问题不仅仅有移动构造还有移动赋值 右值引用引用左值及其一些更深入的使用场…...

学习开发一个RISC-V上的操作系统(汪辰老师) — 一次RV32I加法指令的反汇编
前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 前置知识 RISC-V 汇编指令编码格式 &a…...

IDEA中点击New没有Java Class
解决办法:右键src,也可以是其他文件名,点击Mark Directory as 点击Sources Root即可...

打造炫酷效果:用Java优雅地制作Excel迷你图
摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 迷你图是一种简洁而有效的数据可视化方式,常用于展示趋势和变化。它通常由一…...

pycharm设置pyuic和pyrcc
pyuic设置 适合任何虚拟环境,直接用虚拟环境的python解决一切。。。 E:\anaconda3\envs\qt5\python.exe-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py$FileDir$pyrcc设置 E:\anaconda3\envs\qt5\python.exe-m PyQt5.pyrcc_main $FileName$ -o…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...