2024 最新 Java 原本30分钟的面试,居然面了2.5小时(还是中英文...)

1. 问 Java 基础

1. JDK 和 JRE 有什么区别

JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。

JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。

具体来说 JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器 Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。

2. == 和 equals 的区别是什么

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

3. Java 语言的基本数据类型有哪些?

Java 一共提供了 8 中基本数据类型:

- 整数型:byte,short (2 byte),int (4 byte),long (8 byte)

- 浮点型:float (4 byte),double (8 byte)

之所以叫浮点型,是因为小数点可以“浮动”,比如 1234.5 = 12.345 \cdot 10^{2} = 1.2345 \cdot 10^{3} 

float f1 = 3.14f //单精度浮点数,后面一定要加 f !
double d1 = 3.14 //双精度浮点数

- 布尔型:boolean (通常是 1 bit,true/false)

- 字符型:char (2 byte)

* String 不是基本类型,而是引用类型

4. Java 中操作字符串的类有哪些?

String: 声明的是不可变的对象,每次操作都会生成新的对象,然后将指针指向新的 String 对象;

StringBuffer、StringBuilder: 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。它们最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。

5. 说几个 String 类的常用方法

inexOf()返回指定字符的索引
charAt()返回指定索引处的字符
replace()字符串替换
trim()去除字符串两端空白
split()分割字符串,返回一个分割后的字符串数组
getBytes()返回字符串的 byte 类型数组
length()返回字符串长度
toLowerCase()将字符串转成小写字母
toUpperCase()将字符串转成大写字母
substring()截取字符串
equals()字符串比较

6. break 和 continue 的用法

break:跳出当前循环  (如果是嵌套循环,只跳出内层循环,不跳出外层循环)

continue:提前结束本次循环 (多层嵌套,同样是结束当前循环)

持续更新中🚀...

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值