【JAVA】为char所提供包装类——Character类

news2024/10/7 6:48:00

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️初识JAVA】


文章目录

  • 前言
  • Character 类
  • 装箱(boxing)
  • 拆箱(unboxing)
  • 转义序列
  • Java的转义序列
  • 实例
  • Character 方法
    • isDigit()
    • isLetter()
    • isWhitespace()
    • toUpperCase()
    • toLowerCase()
    • compareTo()
    • isAlphabetic()
    • isUpperCase()
    • isLowerCase()
    • isLetterOrDigit()
    • isJavaIdentifierStart()
    • isJavaIdentifierPart()
    • digit()
    • getNumericValue()
    • reverseBytes()
    • isWhitespace()
    • isJavaIdentifier()


前言

在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类。

在这里插入图片描述


Character 类

Java语言为内置数据类型char提供了包装类Character类
Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象

Java Character 类用于表示字符(单个字符),其中每个字符都被赋以一个唯一的数字值。Character 类提供了许多实用的方法来操作和测试字符。

它用于表示单个字符的值,是 Java 编程中不可或缺的类之一


装箱(boxing)

装箱转换是指将一个值类型隐式地转换成一个object 类型,或者把这个值类型转换成一个被该值类型应用的接口类型interface-type

把一个值类型的值装箱,也就是创建一个object 实例并将这个值复制给这个object。

在这里插入图片描述

拆箱(unboxing)

和装箱转换正好相反,拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型

拆箱的过程分为两步:

  1. 检查这个对象实例,看它是否为给定的值类型的装箱值。
  2. 把这个实例的值拷贝给值类型的变量。

在这里插入图片描述


转义序列

转义序列是指以反斜线(\)开头的特殊字符序列用来表示一些不能直接输入到代码中的字符或控制字符

Java的转义序列

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

实例

public class Test {
 
   public static void main(String[] args) {
      System.out.println("\"hello world!\"");
   }
}

Character 方法

isDigit()

isDigit() 方法用于检查给定字符是否是数字:

char ch = '9';
boolean isDigit = Character.isDigit(ch); // 返回 true

isLetter()

isLetter() 方法用于检查给定字符是否是字母:

char ch = 'a';
boolean isLetter = Character.isLetter(ch); // 返回 true

isWhitespace()

isWhitespace() 方法用于检查给定字符是否是空格:

char ch = ' ';
boolean isWhitespace = Character.isWhitespace(ch); // 返回 true

toUpperCase()

toUpperCase() 方法用于将给定字符转换为大写:

char ch = 'a';
char upperCaseCh = Character.toUpperCase(ch); // 返回 'A'

toLowerCase()

toLowerCase() 方法用于将给定字符转换为小写:

char ch = 'A';
char lowerCaseCh = Character.toLowerCase(ch); // 返回 'a'

compareTo()

compareTo() 方法比较两个字符的大小,如果相等则返回 0,如果第一个字符大于第二个字符则返回正整数,否则返回负整数。

char ch1 = 'a';
char ch2 = 'b';
int result = Character.compareTo(ch1, ch2); // 返回 -1

isAlphabetic()

isAlphabetic() 方法用于检查给定字符是否是字母(包括大写字母和小写字母):

char ch = 'a';
boolean isAlphabetic = Character.isAlphabetic(ch); // 返回 true

isUpperCase()

isUpperCase() 方法用于检查给定字符是否是大写字母:

char ch = 'A';
boolean isUpperCase = Character.isUpperCase(ch); // 返回 true

isLowerCase()

isLowerCase() 方法用于检查给定字符是否是小写字母:

char ch = 'a';
boolean isLowerCase = Character.isLowerCase(ch); // 返回 true

isLetterOrDigit()

isLetterOrDigit() 方法用于检查给定字符是否是字母或数字:

char ch = 'a';
boolean isLetterOrDigit = Character.isLetterOrDigit(ch); // 返回 true

isJavaIdentifierStart()

isJavaIdentifierStart() 方法用于检查给定字符是否可以作为 Java 标识符的第一个字符:

char ch = '_';
boolean isJavaIdentifierStart = Character.isJavaIdentifierStart(ch); // 返回 true

isJavaIdentifierPart()

isJavaIdentifierPart() 方法用于检查给定字符是否可以作为 Java 标识符的一部分:

char ch = '1';
boolean isJavaIdentifierPart = Character.isJavaIdentifierPart(ch); // 返回 true

digit()

digit() 方法用于将一个字符转换为一个整数值。第一个参数为要转换的字符,第二个参数为要使用的基数。如果字符不是数字,则返回 -1。

char ch = '9';
int digit = Character.digit(ch, 10); // 返回 9

getNumericValue()

getNumericValue() 方法用于获取给定字符的数值。如果字符不是数字,则返回 -1。

char ch = '9';
int numericValue = Character.getNumericValue(ch); // 返回 9

reverseBytes()

reverseBytes() 方法用于将给定字符的字节顺序反转。

char ch = 'a';
char reversedBytesCh = Character.reverseBytes(ch); // 返回 '�'

isWhitespace()

isWhitespace() 方法用于判断字符是否为空格,包括空格、制表符、换行符等。

char ch = ' ';
boolean isWhitespace = Character.isWhitespace(ch); // 返回 true

isJavaIdentifier()

isJavaIdentifier() 方法用于检查给定字符串是否是合法的 Java 标识符,即第一个字符是字母、下划线或美元符号,后面的字符可以是字母、数字、下划线或美元符号。

String str = "hello_world";
boolean isJavaIdentifier = Character.isJavaIdentifier(str.charAt(0)) && str.chars().skip(1).allMatch(Character::isJavaIdentifierPart); // 返回 true

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

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

相关文章

《线程池的执行流程》

目录 什么是线程池 线程池的优点 线程池的执行流程 线程池的状态 什么是线程池 线程池是一种多线程处理形式,内部维护了若干个线程。 没有线程任务的时候,线程都处于空闲状态。如果有新的线程任务,就分配给空闲线程执行。如果所有线程都…

【算法与数据结构】144、145、94LeetCode二叉树的前中后遍历(递归法、迭代法)

文章目录 一、题目二、递归算法三、迭代算法四、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归算法 思路分析:这道题比较简单,不多说了,大家直接看代码就行。注意前中后…

家具商城小程序:连接优质家居产品的桥梁

随着人们对家居生活品质的追求,家具商城小程序成为提供便捷购物和个性化服务的不可或缺的工具,通过家具商城小程序,用户可以浏览并购买各类家具产品,如沙发、床、桌子等。同时,家具商城小程序还提供个性化的推荐、客户…

【实战篇】docker-compose部署go项目

一、场景: 二、需求 三、实操 Stage 1:GoLand 中 build 生成二进制文件 Stage 2:编写 Dockerfile Stage 3:编写 docker-compose.yaml Stage 4:文件上传到 ubuntu 服务器上 Stage 5:运行 docker-comp…

uni-app做h5IOS底部tabbar高度在不同的tabbar页面会忽高忽低

原因不祥&#xff0c;解决办法的话在App.vue中 <style langscss> //每个页面公共css page { height:100vh; } </style>

word 2019无法打开邮箱下载的docx文档

我通过如下设置&#xff0c;打开了文档&#xff1a; 开始——选型——信任中心——信任中心设置&#xff0c;如下图 2.把宏设置改一下&#xff0c;如下图 3.把受保护的视图设置一下&#xff0c;如下图 3.文件阻止设置为默认&#xff0c;我没有改&#xff0c;如下图 结束了…

Android平台GB28181设备接入端语音广播技术探究和填坑指南

技术背景 GB/T28181-2016官方规范和交互流程&#xff0c;我们不再赘述。 SIP服务器发起广播流程示意图如下&#xff1a; 需要注意的是&#xff1a;语音广播通知、语音广播应答命令 消息头 Content-type字段为 Content-type:Application/MANSCDPxml。 语音广播通知、语音广播…

vue写车牌号 自定义键盘

vue写车牌号自定义键盘 <template><div><div class"content-wrapper"><div class"content-top-wrapper"><van-radio-group v-model"radioCarType"><van-radio name"1">蓝牌<imgslot"icon…

COC 深圳城市开发者社区【职言职语】第1季活动来袭。。。

文章目录 活动介绍活动议程活动奖品参与方式活动时间活动费用活动地点 活动介绍 &#x1f389;&#x1f465; 欢迎加入职言职语活动&#xff01;与我们一起探索职场的智慧和灵感&#xff01; &#x1f454;&#x1f4bc; 在这个快节奏的职业世界中&#xff0c;职场话题 是我们…

【实战总结】SpringMVC架构升级SpringCloudAlibaba

升级目标 SpringMVCDubboZookeeper分布式架构改为Spring Cloud Alibaba微服务 技术框架:Spring Boot 2.7.2、Spring Cloud 2021.0.3 & Alibaba 2021.0.1.0 容器:Tomcat 9.0.65 JDK:1.8 配置中心:Nacos 2.0.4 消息队列:RocetMQ 4.9.3 配置中心:Apollo 11.0 缓存: Redis 4.0…

大华智慧园区综合管理平台存在任意文件上传漏洞

大华智慧园区综合管理平台存在任意文件上传漏洞 免责声明&#xff1a;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作…

Ceph

Ceph简介 Ceph使用C语言开发&#xff0c;是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack&#xff0c;Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储…

CMake:设置语言标准(一)

CMake:设置语言标准&#xff08;一&#xff09; 导言C标准历史C11版本特性介绍类型推导之auto和decltypeC返回值类型后置对模板实例化中连续尖括号>>的改进使用using定义别名&#xff08;替代typedef&#xff09;支持函数模板的默认参数在函数模板和类模板中使用可变参数…

接下来讲一讲Vue的数据代理

首先讲一下原生js的数据代理 原生的 Object.defineProperty() let aa wewewlet person {name: "王李斌",age: 12} Object.defineProperty(person, "address", {// value: 14&#xff0c; 给字段设置值//enumerable:true, 设置动态设置的字段为可以遍历/…

Docker 镜像解密:分层存储与构建原理多角度解析

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

超声波水表的优势

超声波水表是一种新型的水表&#xff0c;它采用超声波测流技术&#xff0c;能够实现对水流的非接触式测量&#xff0c;具有许多优势。下面将从多个方面来介绍超声波水表的优势。 一、高精度 由于超声波测流技术采用的是非接触式测量&#xff0c;因此不会受到水流的摩擦、涡流等…

【C++】C++11 (3): lambda表达式和包装器

一、lambda表达式 C98中的一个例子 在C98中&#xff0c;如果想要对一个数据集合中的元素进行排序&#xff0c;可以使用std::sort方法。 #include <algorithm> #include <functional> int main() {int a[] { 4,1,8,5,3,7,0,9,2,6 };// 默认按照小于比较&#xff…

S32 Design Studio for ARM(S32DS)下载和安装

1. S32 Design Studio for ARM 介绍 S32 Design Studio for ARM&#xff08;下面简称S32DS&#xff09;&#xff0c;是 NXP 官方在 2014 年官方推出的&#xff0c;专门面向 S32K、KEA、MAC57D54H等系列微控制器的集成开发环境。 S32DS是由Eclipse和一些插件集成而来的开发平台…

自来水收费系统适合应用于哪些场景?

自来水收费系统是一种用于自来水公司或供水管理部门的软件系统&#xff0c;旨在帮助自动化自来水的收费和管理过程。该系统可以帮助自来水公司更好地管理水资源&#xff0c;提高供水质量和效率&#xff0c;同时也可以为用户提供更加便捷和安全的用水服务。下面将从多个方面来介…

centos7通过epel源安装redis

目录 一、下载epel源 二、下载并且启动 一、下载epel源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 二、下载并且启动 yum install redis systemctl enable --now redis