Java面试题01

1.JDK和JRE的区别

        JDK(Java Development Kit)是Java开发工具包,用于开发和编译Java程序。它包含了编 译器、调试器等开发工具,还有Java类库。JRE(Java Runtime Environment)是Java运行时环 境,用于运行已编译的Java程序。它包含Java虚拟机(JVM)和运行时类库。简而言之,JDK用于 开发,JRE用于运行。

2.== 和 equals 的区别

        == 运算符用于比较两个对象的引用是否相同,即它们是否指向同一内存地址。 equals 方 法用于比较两个对象的内容是否相等。默认情况下, equals 与 == 的效果相同,都是比较引用。 但在类中可以重写 equals 方法,实现自定义的内容比较逻辑。

3.hashCode() 和 equals() 的关系

        hashCode是一个用于散列和查找的值,而equals用于比较对象的内容是否相等。如果两个 对象的hashCode相同,表示它们在散列存储结构中可能位于同一位置,但hashCode相同并不意 味着equals一定为true。两个对象相等(equals返回true)时,它们的hashCode通常应相同,但 并非绝对要求。

4.final 在 java 中的作用

        在Java中,final关键字可以用于变量、方法和类。用于变量时,表示该变量是一个常量,只 能被赋值一次。用于方法时,表示方法不能被子类重写。用于类时,表示类不能被继承。final修 饰的变量会在编译时进行常量折叠,优化代码执行效率。

5.Math.round(-1.5) 的结果

        Math.round(-1.5)的结果是-1。Math.round方法对小数进行四舍五入,-1.5四舍五入后取到 更接近的整数-1。

6.String 是否属于基础数据类型

        不是,String不属于基础数据类型。基础数据类型包括int、double、boolean等,用于存 储基本的数值类型。而String是引用类型,用来表示一串字符。

7.Java 中操作字符串的类及区别

        在Java中,操作字符串的类有String、StringBuilder和StringBuffer。String是不可变的, 每次修改都会生成新的String对象,适合不经常修改的情况。StringBuilder和StringBuffer是可变 的,可以高效地进行字符串的修改,StringBuilder适用于单线程环境,而StringBuffer适用于多线 程环境。

8.String str="i" 和 String str=new String("i") 的区别

        String str="i"是将字符串"i"放入字符串池,如果池中已存在则返回引用,否则创建新引用。 String str=new String("i")在堆内存中创建新的String对象,不论池中是否已存在相同字符串

9.如何将字符串反转

可以使用StringBuilder的reverse方法来反转字符串。例如:

String original = "Hello World";
StringBuilder reversed = new StringBuilder(original);
reversed = reversed.reverse();
String reversedString = reversed.toString();

10.String 类的常用方法

        String类的常用方法包括charAt、length、substring、concat、trim、toUpperCase、 toLowerCase、startsWith、endsWith等,用于不同的字符串操作。

  1. charAt(int index):这个方法返回指定索引位置的字符。索引从0开始,例如,s.charAt(0)返回字符串s的第一个字符。
  2. length():这个方法返回字符串的长度。例如,对于字符串"hello"length()返回5。
  3. substring(int beginIndex)substring(int beginIndex, int endIndex):这两个方法返回一个新字符串,它是此字符串的一个子字符串。第一个版本只有一个参数,它返回从beginIndex到字符串末尾的所有字符。第二个版本有两个参数,它返回从beginIndex到endIndex-1的所有字符。
  4. concat(String str):这个方法连接当前字符串和另一个字符串str。例如,"hello".concat("world")返回"helloworld"。
  5. trim():这个方法返回一个字符串,去掉前后的空白字符。
  6. toUpperCase():这个方法返回字符串的大写形式。
  7. toLowerCase():这个方法返回字符串的小写形式。
  8. startsWith(String prefix)endsWith(String suffix):这些方法检查此字符串是否以指定的前缀或后缀开始或结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/136193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模态对话框和非模态对话框

创建到堆区这样非模态对话框就不会一闪而过 .exec使程序进入阻塞状态 ()[]{}lambda表达式 55号属性可以在对话框关闭的时候将堆区的内存释放掉从而防止内存泄露

Failed to connect to github.com port 443:connection timed out

解决办法: 步骤1: 在这里插入图片描述 步骤2: -步骤3 :在git终端中执行如下命令: git config --global http.proxy http:ip:port git config --global https.proxy http:ip:port git config --global http.proxy htt…

使用 Golang 实现基于时间的一次性密码 TOTP

上篇文章详细讲解了一次性密码 OTP 相关的知识,基于时间的一次性密码 TOTP 是 OTP 的一种实现方式。这种方法的优点是不依赖网络,因此即使在没有网络的情况下,用户也可以生成密码。所以这种方式被许多流行的网站使用到双因子或多因子认证中&a…

debian/ubuntu/windows配置wiregurad内网服务器(包含掉线自启动)

文章目录 前言一、服务器配置安装wireguard软件生成私钥公钥配置服务器参数配置服务器sysctl参数启动、停止服务端 二、用户端配置安装wireguard软件生成私钥公钥配置客户端参数启动、停止客户端配置服务开机启动 三、服务器添加、删除客户四、配置掉线自启动配置掉线自启动脚本…

centos的docker镜像下载ffmpeg的方式

ffmpeg是业界比较好用的开源的音频处理工具,当我们在实际业务中使用ffmpeg的时候,直接使用yum安装回提示找不到ffmpeg的包,遇到这种情况,可以通过以下方式来进行安装(docker环境)。 已经拥有镜像 更新源 …

P1314 [NOIP2011 提高组] 聪明的质监员

题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 $n$ 个矿石,从 $1$ 到 $n$ 逐一编号,每个矿石都有自己的重量 $w_i$ 以及价值 $v_i$ 。检验矿产的流程是: 1. 给定$ m$ 个区间 $[l_i,r_i]$&#xff1b…

计算机丢失mfc100.dll如何恢复,详细解析mfc100.dll文件丢失解决方法

在计算机使用过程中,我们可能会遇到一些错误提示,比如“mfc100.dll丢失”。这是因为动态链接库(DLL)文件是Windows操作系统的重要组成部分,它们包含了许多程序运行所需的函数和数据。当这些DLL文件丢失或损坏时&#x…

在已有的虚拟环境中升级python版本

对于现有的虚拟环境,想升级python版本方法,试了无数的方法终于找对了。 1.首先activate对应的虚拟环境,然后输入下面的命令: conda install python3.8 建议加上镜像源 ​conda install python3.8 -i https://pypi.tuna.tsingh…

说话人识别声纹识别CAM++,ECAPA-TDNN等算法

参考:https://www.modelscope.cn/models?page=1&tasks=speaker-verification&type=audio https://github.com/alibaba-damo-academy/3D-Speaker/blob/main/requirements.txt 单个声纹比较可以直接modelscope包运行 from modelscope.pipelines import pipeline sv_pi…

pytest中的pytest.ini

[pytest] filterwarnings ignore::DeprecationWarning addopts -v -s markers uat:1 smok:2 log_cli1 xfail_strict True filterwarnings ignore::DeprecationWarning 这个的功能就是 test_login.py::Test_login::test_login_correct_password PASSEDwarnings summary …

推荐大学生考研党都来使用的白板笔记软件!上岸卷王必备!

考研这条路,对于很多大学生来说,是一条漫漫长路。相信很多人都有这样的体会:看了大量的书籍,记了大量的笔记,但是到了临近考试的时候,却发现复习的内容和思路都不是很清晰,效率不高。 针对这个…

算法通过村第十八关-回溯|白银笔记|经典问题

文章目录 前言组合总和问题分割回文串子集问题排序问题字母大小写全排列单词搜索总结 前言 提示:我不愿再给你写信了。因为我终于感到,我们的全部通信知识一个大大的幻影,我们每个人知识再给自己写信。 --安德烈纪德 回溯主要解决一些暴力枚举…

13 # 手写 concat 方法

concat 的使用 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组&#xff0c;而是返回一个新数组。如果省略了所有参数&#xff0c;则 concat 会返回调用此方法的现存数组的一个浅拷贝。 <script>var arr1 ["k", "a", "i"…

2023年眼镜行业分析(京东眼镜销量数据分析):市场规模同比增长26%,消费需求持续释放

随着我国经济的不断发展&#xff0c;电子产品不断普及&#xff0c;低龄及老龄人口的用眼场景不断增多&#xff0c;不同年龄阶段的人群有不同的视力问题&#xff0c;因此&#xff0c;视力问题人口基数也随之不断加大&#xff0c;由此佩戴眼镜的人群也不断增多。 同时&#xff0c…

【凡人修仙传】预计开播倒计时,线下举办超前观影活动,隆重期待

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫资讯。 深度爆料凡人最新资讯&#xff0c;《凡人修仙传》这部备受期待的动漫作品&#xff0c;终于在新年之际宣布了定档日期。据悉&#xff0c;该动漫将于11月25日&#xff0c;也就是周六上午11点&#xff0c;与广大…

Linux搭建我的世界MC服务器 【Minecraft外网联机教程】

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 前言 Li…

SPASS-描述性统计

基本描述性统计量的定义及计算 描述集中趋势的统计量 1.均值(Mean) 2.众数(Mode) 3.中位数(Median) 4.总和(Sum) 5.百分位数(Percentile Value) 描述离散程度的统计量 1.样本方差(Variance) 2.样本标准差(Std. deviation) 3.极差(Range) …

vim以16进制打开和编辑文件

vim以16进制打开和编辑文件 先用 vim 以二进制格式打开需要编辑或查看的文件&#xff0c;不采用 - b 参数有时会导致转换错误&#xff0c;详见分隔线后部分。 vim -b file-to-open.dat 然后用 xxd 把文件转换成十六进制格式 :%!xxd转化后显示类似如下 现在就可以对待普通文…

多线程返回计时问题代码案例

Component Slf4j Async public class ThreadSaveDigCategory {private static final int BATCH_COUTN 1000;Autowiredprivate Mapper mapper;public Future<Boolean> saveDigCategoryDatas(List<DigCategoryData> digCategoryDataList){//开始计时long startTime …

通过创建自定义标签来扩展HTML

使用HTML时&#xff0c;例如&#xff0c;使用<b>标记显示粗体文本。 如果需要列表&#xff0c;则对每个列表项使用<ul>标记及其子标记<li> 。 标签由浏览器解释&#xff0c;并与CSS一起确定网页内容的显示方式以及部分内容的行为。 有时&#xff0c;仅使用一…