• 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方法来反转字符串。例如:

    1. String original = "Hello World";
    2. StringBuilder reversed = new StringBuilder(original);
    3. reversed = reversed.reverse();
    4. 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):这些方法检查此字符串是否以指定的前缀或后缀开始或结束。

  • 相关阅读:
    Java实现俄罗斯方块
    软件工程导论第六版 第四章形式化说明技术
    Linux常用命令
    R可视乎|灯芯柱状图代码解读
    数据结构——初识数据结构
    2.1 JAVA基础语法
    极智AI | 有趣的羊驼系列大模型
    npm介绍、常用命令详解以及什么是全局目录
    读高性能MySQL(第4版)笔记14_备份与恢复(中)
    现代循环神经网络-门控循环单元(GRU)
  • 原文地址:https://blog.csdn.net/g877835148/article/details/134238442