【Java开发指南 | 第十五篇】Java Character 类、String 类

读者可订阅专栏:Java开发指南 |【CSDN@秋说】

在这里插入图片描述

文章目录

  • Java Character 类
    • 转义序列
  • Java String 类
    • 连接字符串

Java Character 类

Character 类是 Java 中用来表示字符的包装类,它提供了一系列静态方法用于对字符进行操作,其主要分为静态方法和实例方法两种。

1、静态方法:

isDigit(char ch):检查指定的字符是否为数字。

isLetter(char ch):检查指定的字符是否为字母。

public class ice {public static void main(String[] args) {char c = 'A';if (Character.isLetter(c)) {System.out.println("Yes");}}
}

在这里插入图片描述

isLetterOrDigit(char ch):检查指定的字符是否为字母或数字。

isLowerCase(char ch):检查指定的字符是否为小写字母。

public class ice {public static void main(String[] args) {char c = 'A';if (Character.isLowerCase(c)) {System.out.println("Yes");}elseSystem.out.println("No");}
}

在这里插入图片描述

isUpperCase(char ch):检查指定的字符是否为大写字母。

isWhitespace(char ch):检查指定的字符是否为空白字符,如空格、制表符等。

toUpperCase(char ch):将指定的字符转换为大写形式。

在这里插入图片描述

toLowerCase(char ch):将指定的字符转换为小写形式。

toString(char ch):返回指定字符的字符串表示形式。

2、实例方法:

charValue():返回该 Character 对象的原始字符值。

public class ice {public static void main(String[] args) {char a = 'A';Character character = Character.valueOf(a);char d = character.charValue(); // 使用 charValue() 方法获取原始字符值System.out.println(d);}
}

在这里插入图片描述

compareTo(Character anotherCharacter):将该 Character 对象与指定的 Character 对象进行比较。

equals(Object obj):比较该 Character 对象与指定对象是否相等。

hashCode():返回该 Character 对象的哈希码值。

使用 Character 类可以方便地进行字符的判断、转换和比较等操作。

转义序列

当我们想输出"It is an apple"时,如果语句是System.out.Println(""It is an apple""),则产生报错:

在这里插入图片描述

因为编译器匹配到了前面的两个双引号,后面的内容将导致语句非法。

而前面有反斜杠(\)的字符代表转义字符,它对编译器来说是有特殊含义的。

如果语句是:System.out.Println("\"It is an apple\""),那么\后的双引号会被自动解析为转义字符:

在这里插入图片描述

下面列表展示了Java的转义序列:

转义序列描述
\t在文中该处插入一个tab键
\b在文中该处插入一个后退键
\n在文中该处换行
\r在文中该处插入回车
\f在文中该处插入换页符
在文中该处插入单引号
"在文中该处插入双引号
\在文中该处插入反斜杠

Java String 类

  • 字符串: 字符串是一组字符的序列。在 Java 中,字符串是不可变的,即一旦创建就不能修改它们的内容。我们可以创建新的字符串,但不能更改现有字符串的内容。
  • String 类: String 类是 Java 中用于表示字符串的类。它提供了许多方法来操作字符串数据。

1、构造方法:

  • String(): 创建一个空字符串。
String emptyString = new String();
System.out.println("空字符串:" + emptyString); // 输出:空字符串:

在这里插入图片描述

  • String(String original): 根据指定的字符串创建一个新的字符串。
String originalString = "ICE";
String newString = new String(originalString);
System.out.println("新字符串:" + newString); // 输出:新字符串:ICE

在这里插入图片描述

  • String(char[] value): 根据字符数组的内容创建一个新的字符串。
char[] charArray = {'I', 'C', 'E'};
String fromCharArray = new String(charArray);
System.out.println("从字符数组创建的字符串:" + fromCharArray); // 输出:从字符数组创建的字符串:ICE

在这里插入图片描述

  • String(char[] value, int offset, int count): 根据字符数组的一部分内容创建一个新的字符串。
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
int offset = 1; // 从索引 1 开始
int count = 3;  // 取 3 个字符
String partialString = new String(charArray, offset, count);
System.out.println("部分字符数组创建的字符串:" + partialString); // 输出:部分字符数组创建的字符串:ell

在这里插入图片描述

2、常用方法:

  • length(): 返回字符串的长度。
  • charAt(int index): 返回指定索引位置的字符。
  • substring(int beginIndex): 返回从指定索引开始到字符串末尾的子字符串。
  • substring(int beginIndex, int endIndex): 返回从指定索引开始到指定索引结束之间的子字符串。
  • equals(Object obj): 比较字符串是否相等。
  • equalsIgnoreCase(String anotherString): 比较字符串是否相等,忽略大小写。
  • toUpperCase(): 将字符串转换为大写。
  • toLowerCase(): 将字符串转换为小写。
  • indexOf(int ch): 返回指定字符第一次出现的索引位置。
  • indexOf(String str): 返回指定子字符串第一次出现的索引位置。
public class ice {public static void main(String[] args) {// 创建字符串String str1 = "Hello";String str2 = new String("World");// 获取字符串长度int length = str1.length();System.out.println("字符串长度:" + length);// 获取指定索引位置的字符char ch = str1.charAt(0);System.out.println("索引为0的字符:" + ch);// 比较字符串是否相等boolean isEqual = str1.equals(str2);System.out.println("字符串相等吗?" + isEqual);// 转换大小写String lowerCase = str1.toLowerCase();String upperCase = str2.toUpperCase();System.out.println("转换为小写:" + lowerCase);System.out.println("转换为大写:" + upperCase);}
}

在这里插入图片描述

连接字符串

1、使用加号 + 运算符

String str1 = "Hello";
String str2 = "World";
String combined = str1 + " " + str2;
System.out.println(combined); // 输出:Hello World

在这里插入图片描述

2、使用 concat() 方法: concat() 方法将指定的字符串连接到调用字符串的末尾。

String str1 = "Hello";
String str2 = "World";
String combined = str1.concat(" ").concat(str2);
System.out.println(combined); // 输出:Hello World

在这里插入图片描述

3、使用 StringBuilderStringBuffer 如果需要连接大量的字符串,建议使用 StringBuilder(在单线程环境中使用)或 StringBuffer(在多线程环境中使用),因为它们的性能更好。

StringBuilder builder = new StringBuilder();
builder.append("Hello");
builder.append(" ");
builder.append("World");
String combined = builder.toString();
System.out.println(combined); // 输出:Hello World

在这里插入图片描述

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

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

相关文章

C及C++标准与QT版本介绍

一.软件规范及组织 1.GNU GNU是“GNUs Not Unix”的缩写,是GNU计划(GNU Project)的官方名称,由理查德斯托曼在1983年9月27日公开发起。 GNU计划的目的是创建一套完全自由的操作系统。为保证GNU软件可以自由地“使用、复制、修改…

AAAI-24 | EarnHFT:针对高频交易的分层强化学习(RL)框架

AAAI-24 | EarnHFT:针对高频交易的分层强化学习(RL)框架 原创 QuantML QuantML 2024-04-15 09:25 上海 EarnHFT 摘要(Abstract):高频交易(HFT)使用计算机算法在短时间内(例如秒级)做出交易决策&#xff…

C++实战——日期类的实现

日期类的实现 前言一、日期类概念实现运用场景 二、日期类的具体实现代码构造函数拷贝构造函数获取日期(内联函数)赋值加等减等加减小于小于等于大于大于等于相等不相等前置后置前置- -后置- -关于类里重载的比较运算符为什么要加外部const示例 Date.hDa…

【人工智能】机器学习算法综述及常见算法详解

目录 推荐 1、机器学习算法简介 1.1 机器学习算法包含的两个步骤 1.2 机器学习算法的分类 2、线性回归算法 2.1 线性回归的假设是什么? 2.2 如何确定线性回归模型的拟合优度? 2.3 如何处理线性回归中的异常值? 3、逻辑回归算法 3.1 …

现代数据中心中智能网卡/DPU的演进

数据中心是一个大型的连接服务器和存储系统池,通常由组织用于远程存储、处理或分发大量数据。组织可以拥有和管理其数据中心,也可以租用由第三方(亚马逊或谷歌云等云服务提供商)管理的基础设施,并通过互联网访问资源。…

LeetCode 454.四数相加II(模拟,map.getOrDefault()的使用)

给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2], n…

IS62LV256AL-45ULI功能参数介绍及如何优化电源稳定性以适应

IS62LV256AL-45ULI功能参数介绍-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 制造商:ISSI 产品品种:静态随机存取存储器 RoHS:是 存储容量:256 kbit 组织:32 k x 8 拜访时刻:45 ns 接口类型:Parallel 电源电压-最大:3.63 V 电源电压-最小:2.97 V 电源电流—最大值:5…

centos8.5 安装nginx

磁盘划分 600GB 4c 16GB内存 /boot 分区:200MB 这个分区用于存放启动文件和内核。200MB通常足够。/(根)分区:50GB 根分区包含操作系统、核心应用程序、配置文件和Nginx服务本身。50GB的空间应该足够存放这些文件和必要的库。/var 分区:100GB Nginx在运行时会产生日志文件,…

前端学习<四>JavaScript基础——38-offset相关属性和匀速动画(含轮播图的实现)

前言 JS动画的主要内容如下&#xff1a; 1、三大家族和一个事件对象&#xff1a; 三大家族&#xff1a;offset/scroll/client。也叫三大系列。 事件对象/event&#xff08;事件被触动时&#xff0c;鼠标和键盘的状态&#xff09;&#xff08;通过属性控制&#xff09;。 2…

java算法day59 | 单调栈part02 ● 503.下一个更大元素II ● 42. 接雨水

503.下一个更大元素II 思路&#xff1a; 相比于单纯寻找下一个最大元素&#xff0c;要遍历两边数组&#xff0c;注意i%nums.length。 class Solution {public int[] nextGreaterElements(int[] nums) {int[] resnew int[nums.length];for(int i0;i<res.length;i){res[i]-1;…

【大数据】bigtable,分布式数据库的鼻祖

目录 1.概述 2.数据模型 3.API 4.架构 5.一个完整的读写过程 6.如何查找到要的tablet 7.LSM树 1.概述 本文是作者阅读完bigtable论文后对bigtable进行的一个梳理&#xff0c;只涉及核心概念不涉及具体实操&#xff0c;具体实操会在后续的文章中推出。 GFS的出现虽然解…

Unity实现关闭应用程序和关闭应用窗口

using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.InteropServices; using System;public class WindowsClose : MonoBehaviour {// 声明需要使用的Windows API函数[DllImport("user32.dll", SetLastError tr…

指针专题(2)

前言 上一节我们学习了指针的相关内容&#xff0c;本节我们继续学习指针专题&#xff0c;更加深入的了解指针&#xff0c;那么废话不多说&#xff0c;我们正式进入今天的学习 1.对数组名的深入理解 在上一节的内容中&#xff0c;我们提到了用指针来访问数组的操作&#xff0c…

Linux 基于 TCP 协议的简单服务器-客户端应用

目录 一、相关函数 1、listen() 2、accept() 3、connect() 4、两种IP地址转换方式 5、TCP和UDP数据发送和接收函数对比 5、log.hpp自定义记录日志 二、udp_server.hpp单进程版本 三、tcp_server.cc 四、Telnet客户端&#xff08;代替tcp_client.cc&#xff09; 五…

ColBERT和ColBERTv2:兼具Bi-encoder和cross-encoder优势的多向量排序模型

文章目录 简介ColBERTColBert 原理ColBERT如何训练ColBERT 如何使用离线索引用ColBERT 实现top-k Re-ranking用ColBERT 实现top-k 端到端的检索 ColBERTv2ColBERTv2原理SupervisionRepresentation IndexingRetrieval 总结参考资料 简介 ColBERT是一种多向量排序模型&#xff0…

数据分析案例-中国黄金股票市场的EDA与价格预测

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

数据库查询如何查询父级id下无限子级的元素列表

这里写目录标题 一、pgsql二、mysql 一、pgsql WITH RECURSIVE sub_categories AS (SELECT id, parent_id, nameFROM categoriesWHERE parent_id 父级ID -- 替换为你要查询的父级IDUNION ALLSELECT c.id, c.parent_id, c.nameFROM categories cINNER JOIN sub_categories sc…

Redis的Stream 和 实现队列的方式【List、SortedSet、发布订阅、Stream、Java】

Redis队列与Stream、Redis 6多线程详解 Redis队列与StreamStream总述常用操作命令生产端消费端单消费者消费组消息消费 Redis队列几种实现的总结基于List的 LPUSHBRPOP 的实现基于Sorted-Set的实现PUB/SUB&#xff0c;订阅/发布模式基于Stream类型的实现与Java的集成 消息队列问…

算法打卡day39

今日任务&#xff1a; 1&#xff09;卡码网57. 爬楼梯&#xff08;70. 爬楼梯进阶版&#xff09; 2&#xff09;322.零钱兑换 3&#xff09;279.完全平方数 4&#xff09;复习day14 卡码网57. 爬楼梯&#xff08;70. 爬楼梯进阶版&#xff09; 题目链接&#xff1a;57. 爬楼梯…

ipv4Bypass:一款基于IPv6实现的IPv4安全绕过与渗透测试工具

关于ipv4Bypass ipv4Bypass是一款基于IPv6实现的安全绕过与渗透测试工具&#xff0c;该工具专为红队研究人员设计&#xff0c;可以帮助广大研究人员通过IPv6绕过目标安全策略&#xff0c;以此来检测安全检测机制的健壮性。 20世纪90年代是互联网爆炸性发展时期&#xff0c;随着…