持续总结中!2024年面试必问 100 道 Java基础面试题(二十二)

上一篇地址:持续总结中!2024年面试必问 100 道 Java基础面试题(二十一)-CSDN博客

四十三、String属于基础的数据类型吗?

在Java中,String不属于基础数据类型(也称为原始数据类型或内置数据类型),而是属于对象类型。

基础数据类型

Java的基础数据类型包括以下几种:

  1. 整型

    • byte(8位)
    • short(16位)
    • int(32位) - 默认的整数类型
    • long(64位)
  2. 浮点型

    • float(32位)
    • double(64位) - 默认的浮点数类型
  3. 字符型

    • char(16位)
  4. 布尔型

    • boolean - 只有两个可能的值:truefalse

这些基础数据类型在Java中都有对应的包装类(如IntegerDoubleCharacter等),但包装类是对象类型,不是基础数据类型。

String 类型

  • String是一个引用类型,它在Java中表示文本。String类位于java.lang包中,是Java的核心类之一。
  • String对象是不可变的,这意味着一旦创建,它们的值就不能被改变。对String对象的所有修改都会产生一个新的String对象。
  • String类型在Java中非常特殊,它重写了Object类的equals()hashCode()方法,以提供基于内容的比较而不是基于对象引用的比较。

示例代码

public class StringExample {public static void main(String[] args) {String str1 = "Hello";String str2 = "World";String str3 = str1 + " " + str2; // 创建了一个新的String对象// 基础数据类型int num = 10;double pi = 3.14;// String是对象类型str1.equals(str2); // 比较内容str1 == str2; // 比较引用是否相同}
}

在这个示例中,str1str2str3都是String类型的对象。通过+操作符连接字符串时,实际上是创建了一个新的String对象。而numpi是基础数据类型的变量。

总结来说,String不是Java中的基础数据类型,而是属于对象类型。理解String和基础数据类型之间的区别对于编写正确的Java程序非常重要。

四十四、String类的常用方法都有哪些?

String 类在 Java 中是一个非常强大且常用的类,它提供了一系列的方法来操作字符串。以下是一些 String 类的常用方法:

  1. length(): 返回字符串的长度。

  2. charAt(int index): 返回指定索引处的字符。

  3. substring(int beginIndex): 返回一个新字符串,它是原字符串从指定位置开始的子串。

  4. substring(int beginIndex, int endIndex): 返回一个新字符串,它是原字符串从 beginIndexendIndex - 1(不包括 endIndex)的子串。

  5. equals(Object another): 检查字符串是否与另一个对象相等。如果是 String 对象,会比较字符串的内容。

  6. equalsIgnoreCase(String another): 检查字符串是否与另一个字符串相等,忽略大小写。

  7. startsWith(String prefix): 检查字符串是否以指定的前缀开始。

  8. endsWith(String suffix): 检查字符串是否以指定的后缀结束。

  9. contains(CharSequence s): 检查字符串是否包含指定的字符序列。

  10. indexOf(int ch): 返回字符串中第一次出现的指定字符的索引。

  11. lastIndexOf(int ch): 返回字符串中最后一次出现的指定字符的索引。

  12. replace(char oldChar, char newChar): 将字符串中的所有指定字符替换为另一个字符。

  13. replaceAll(String regex, String replacement): 使用正则表达式替换字符串中的匹配子串。

  14. replaceFirst(String regex, String replacement): 使用正则表达式替换字符串中的第一个匹配子串。

  15. toLowerCase(): 将字符串转换为小写。

  16. toUpperCase(): 将字符串转换为大写。

  17. trim(): 去除字符串两端的空白字符。

  18. split(String regex): 使用正则表达式将字符串分割成数组。

  19. concat(String str): 将指定字符串连接到此字符串的结尾。

  20. valueOf(Object obj): 将任意对象转换为字符串形式。

  21. format(String format, Object... args): 使用 java.util.Formatter 的规则生成并格式化字符串。

  22. equalsIgnoreCase(String another): 比较两个字符串是否相等,忽略大小写。

  23. isEmpty(): 检查字符串是否为空。

  24. hashCode(): 返回字符串的哈希码值。

示例代码

public class StringMethodsExample {public static void main(String[] args) {String greeting = "Hello, World!";String upperCase = greeting.toUpperCase(); // "HELLO, WORLD!"String lowerCase = greeting.toLowerCase(); // "hello, world!"int length = greeting.length(); // 13char charAt = greeting.charAt(0); // 'H'String subString = greeting.substring(0, 5); // "Hello,"boolean startsWithHello = greeting.startsWith("Hello"); // trueboolean endsWithExclamation = greeting.endsWith("!"); // trueString replaced = greeting.replace("Hello", "Hi"); // "Hi, World!"String[] words = greeting.split(",\\s*"); // ["Hello", "World!"]}
}

在这个示例中,我们创建了一个 greeting 字符串,并使用 String 类的多个方法来演示它们的作用。这些方法覆盖了字符串操作的许多基本需求,从大小写转换、子串、字符查找到字符串比较等。

String 类的方法非常多,能够处理大多数的字符串操作需求,是Java编程中不可或缺的一部分。

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

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

相关文章

2024年五一杯高校数学建模竞赛(C题) 建模解析| 冲击地压危险预测 |小鹿学长带队指引全代码文章与思路

我是鹿鹿学长,就读于上海交通大学,截至目前已经帮200人完成了建模与思路的构建的处理了~ 本篇文章是鹿鹿学长经过深度思考,独辟蹊径,通过滑动平均法解决冲击地压危险预测问题。实现综合建模。独创复杂系统视角&#xf…

GPU系列(三):如何管理GPU

1 使用nvidia-smi管理你的GPU卡 nvidia-smi命令是NVIDIA系统管理接口,之前提到使用nvidia-docker实际上底层也是调用的该接口。该接口可以查看到当前主机上的相关GPU设备,任务以及当前状态等信息,熟练使用该接口能够更好的管理好GPU系统资源…

在做题中学习(48):朴素的二分查找

. - 力扣(LeetCode) 解法一: 暴力求解 for循环中,从nums[0]枚举到nums[n-1],依次判断,返回 target的值。 时间复杂度 : O(N) :因为要遍历一遍数组 解法二:二分查找 因为此数组为有序的…

Mybatis进阶(动态SQL)

文章目录 1.动态SQL1.基本介绍1.为什么需要动态SQL2.基本说明3.动态SQL常用标签 2.环境搭建1.新建子模块2.删除不必要的两个文件夹3.创建基本结构4.父模块的pom.xml5.jdbc.properties6.mybatis-config.xml7.MyBatisUtils.java8.MonsterMapper.java9.MonsterMapper.xml10.测试Mo…

如何将安卓手机投屏到Windows 10电脑上

诸神缄默不语-个人CSDN博文目录 我之所以要干这个事是为了用手机直播的时候在电脑上看弹幕…… 文章目录 1. 方法一:直接用Win10内置的投影到此电脑2. 方法二:用AirDroid Cast投屏到电脑上 1. 方法一:直接用Win10内置的投影到此电脑 在设置…

C++ 多态详解

文章目录 1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数的重写2.3.1 虚函数重写的两个例外 2.4 C11 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比 3. 多态的原理3.1 虚函数表3.2多态的原理 4. 单继承和多继承关系的虚函数表4.1 单继…

5个数据科学中常用的高级SQL操作

大家好,在数据科学领域,SQL(结构化查询语言)发挥着重要作用,不仅是数据管理的基石,更是深入挖掘和分析数据中宝贵信息的强有力工具。虽然基础的SQL命令对于数据查询不可或缺,但精通高级SQL技巧则…

docker安装【zookeeper】【kafka】【provectuslabs/kafka-ui】记录

目录 1.安装zookeeper:3.9.2-jre-172.安装kafka:3.7.03.安装provectuslabs/kafka-ui (选做)新环境没有jdk,安装jdk-17.0.10备用 mkdir -p /export/{data,apps,logs,conf,downloads}cd /export/downloadscurl -OLk https://download.oracle.…

新品发布!无人机装调检修实训系统

近年,我国密集出台相关产业政策,推动低空经济从探索走向发展,根据新华网数据,2030年低空经济规模有望达2万亿。无人机专业属于跨学科的综合性专业,其中装调检测技术是无人机教培的重要组成部分。 天途推出无人机装调检…

Apache SeaTunnel k8s 集群模式 Zeta 引擎部署指南

SeaTunnel提供了一种运行Zeta引擎(cluster-mode)的方法,可以让Kubernetes在本地运行Zeta引擎,实现更高效的应用程序部署和管理。在本文中,我们将探索SeaTunnel k8s运行zeta引擎(cluster-mode模式)的更多信息,了解如何更好地利用Ze…

安装PyKDL库: No module named ‘PyKDL

我的python路径是/home/lsw/miniconda3/bin/python python版本是Python 3.8.17 怎么设置为默认 要将你的 Python 路径 /home/lsw/miniconda3/bin/python 设置为默认的 Python 版本,你可以使用 update-alternatives 命令(适用于 Debian/Ubuntu 等基于 Deb…

HTML:元素分类

HTML:元素分类 概述块级元素(Block-level Elements)内联元素(Inline Elements)替换元素(Replaced Elements)表单元素(Form Elements) 概述 HTML(HyperText M…

Docker容器:网络模式与资源控制

目录 一、Docker 网络模式 1、Docker 网络实现原理 2、Docker 网络模式概述 2.1 Host 模式 2.2 Container 模式 2.3 None 模式 2.4 Bridge 模式 2.5 自定义网络(user-defined network) 3、配置 docker 网络模式 3.1 查看网络基础命令 3.1.1 查…

css利用transform:skew()属性画一个大屏的背景斜面四边形特效

在工作工程中需要写一个如下的大屏背景&#xff0c;是由几个斜面做成的效果 使用css transform function中的skew()方法实现画其中一个斜面&#xff0c;然后调整背景色实现 写一个div <div class"skew_container test-2"><div class"skew_container_it…

React中,双花括号和单花括号的区别(四)

在React中&#xff0c;花括号 {} 用于在JSX中插入JavaScript表达式。 单花括号 {}&#xff1a;通常用于在JSX中嵌入JavaScript表达式。这些表达式可以是变量、函数调用、对象字面量、数组等。React会评估这些表达式&#xff0c;并将结果插入到JSX中。 例如&#xff0c;在你的代…

【python笔记】datafram的时间动态可视化 pyecharts地图

import pandas as pd# 假设DataFrame是这样的&#xff1a; df pd.DataFrame({ year: [2014, 2015, 2016, 2014, 2015, 2016, 2014, 2015, 2016], province: [广东省, 广东省, 河南省, 湖南省, 北京市, 北京市, 上海市, 新疆维吾尔自治区, 上海市], values: [100, 150, 75…

Servlet文件嵌套<script>来显示提示框而出现乱码的解决方案

主要出现的原因就是编码不统一导致无法解析对话框中的字符串 我的解决方案: 使用 URL 的编码格式&#xff0c;然后再使用js中的decodeURIComponent函数解析URL编码的字符串&#xff0c;并且恢复其原始字符串内容 将你写的传统的编码格式改为 PrintWriter out resp.getWriter(…

多目标应用:MSSA多目标樽海鞘优化算法求解无人机三维路径规划(MATLAB代码)

一、无人机多目标优化模型 无人机三维路径规划是无人机在执行任务过程中的非常关键的环节&#xff0c;无人机三维路径规划的主要目的是在满足任务需求和自主飞行约束的基础上&#xff0c;计算出发点和目标点之间的最佳航路。 1.1路径成本 无人机三维路径规划的首要目标是寻找…

YOLOV8 pycharm

1 下载pycharm 社区版 https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows 2 安装 3 新建 4 选择 文件-> setting 配置环境变量 5 添加conda 环境

基本STL使用

一 、关于vector 在STL中有一个称为vector的数据结构&#xff0c;可以用来代替数组。 定义Book特性 private:vector<string> shelf_books;Notic : 类中不能使用类似的定义&#xff1a;vector<sttring> shelf_boos( 10 ); 定义Book方法 public:void setName(str…