当前位置: 首页 > news >正文

Java基础篇--Character 类

Character 类是用来操作单个字符的,它将 char 值包装在一个对象中。

实际上,在 Java 中,char 是基本数据类型,而 Character 是 char 的包装类。通过 Character 类,可以使用一系列方法来操作字符。在创建 Character 对象时,可以使用 Character 类的构造方法来传入一个 char 值来初始化对象,如:

Character ch = new Character('a')。

此外,在某些情况下,Java 编译器会自动地进行装箱(将 char 转换为 Character)和拆箱(将 Character 转换为 char)操作。

例如,将一个char类型的参数传递给需要一个Character类型参数的方法时,那么编译器会自动地将char类型参数转换为Character对象。 这种特征称为装箱,反过来称为拆箱。

// 原始字符 'a' 装箱到 Character 对象 ch 中
Character ch = 'a';// 原始字符 'x' 用 test 方法装箱
// 返回拆箱的值到 'c'
char c = test('x');

转义序列 

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

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

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

实例 

public class Main {public static void main(String[] args) {// 使用转义序列来插入特殊字符System.out.println("Hello\tWorld");  // 在 Hello 和 World 之间插入一个制表符(tab)System.out.println("Hello\bWorld");  // 在 Hello 后面插入一个后退键(backspace),删除了一个 'o'System.out.println("Hello\nWorld");  // 在 Hello 后面插入一个换行符(newline),换到下一行输出System.out.println("Hello\rWorld");  // 在 Hello 后面插入一个回车符(carriage return),将光标移到行首System.out.println("Hello\fWorld");  // 在 Hello 和 World 之间插入一个换页符(form feed),清空屏幕并开始新一页System.out.println("She said \'Hello\'");  // 在字符串中插入单引号,使用转义序列 \' 表示System.out.println("He said \"Hello\"");  // 在字符串中插入双引号,使用转义序列 \" 表示System.out.println("C:\\Program Files\\Java");  // 在字符串中插入反斜杠,使用转义序列 \\ 表示两个反斜杠}
}

以上实例编译运行结果如下:

Hello	World
HelloWorld
Hello
World
Hello
World
HelloWorld
She said 'Hello'
He said "Hello"
C:\Program Files\Java

Character 方法 

以下是 Character 类的一些常用方法:

  1. isLetter(char ch):检查字符是否为字母。
  2. isDigit(char ch):检查字符是否为数字。
  3. isWhitespace(char ch):检查字符是否为空白字符,如空格、制表符、换行符等。
  4. isUpperCase(char ch):检查字符是否为大写字母。
  5. isLowerCase(char ch):检查字符是否为小写字母。
  6. toUpperCase(char ch):将字符转换为大写形式。
  7. toLowerCase(char ch):将字符转换为小写形式。
  8. toString(char ch):将字符转换为字符串。
  9. isLetterOrDigit(char ch):检查字符是否为字母或数字。
  10. isJavaIdentifierStart(char ch):检查字符是否可以作为 Java 标识符的起始字符。
  11. isJavaIdentifierPart(char ch):检查字符是否可以作为 Java 标识符的部分字符。
  12. digit(char ch, int radix):将字符按照指定进制转换为对应的整数值。
  13. compare(char x, char y):比较两个字符的大小。

对于方法的完整列表,请参考的 java.lang.Character API 规范。

实例

public class Main {public static void main(String[] args) {char ch = 'A';// 检查字符是否为字母System.out.println(Character.isLetter(ch)); // 运行:true// 检查字符是否为数字System.out.println(Character.isDigit(ch)); // 运行:false// 检查字符是否为空白字符System.out.println(Character.isWhitespace(ch)); // 运行:false// 检查字符是否为大写字母System.out.println(Character.isUpperCase(ch)); // 运行:true// 检查字符是否为小写字母System.out.println(Character.isLowerCase(ch)); // 运行:false// 将字符转换为大写形式System.out.println(Character.toUpperCase(ch)); // 运行:A// 将字符转换为小写形式System.out.println(Character.toLowerCase(ch)); // 运行:a// 将字符转换为字符串System.out.println(Character.toString(ch)); // 运行:A// 检查字符是否为字母或数字System.out.println(Character.isLetterOrDigit(ch)); // 运行:true// 检查字符是否可以作为 Java 标识符的起始字符System.out.println(Character.isJavaIdentifierStart(ch)); // 运行:true// 检查字符是否可以作为 Java 标识符的部分字符System.out.println(Character.isJavaIdentifierPart(ch)); // 运行:true// 将字符按照指定进制转换为对应的整数值System.out.println(Character.digit(ch, 16)); // 运行:10// 比较两个字符的大小System.out.println(Character.compare('A', 'B')); // 运行:-1}
}

相关文章:

Java基础篇--Character 类

Character 类是用来操作单个字符的,它将 char 值包装在一个对象中。 实际上,在 Java 中,char 是基本数据类型,而 Character 是 char 的包装类。通过 Character 类,可以使用一系列方法来操作字符。在创建 Character 对…...

Flutter参考资料

Flutter 官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程 : https://flut…...

sed命令如何正确修改ini配置文件

需要保证key值的唯一性 function sed_key_value_file(){key$(echo "$1" | sed s/[\/&]/\\&/g)value$(echo "$2" | sed s/[\/&]/\\&/g)# 先删除原有的value,然后添加新的keyvaluesed -i -e "s#${key}.*#${key}${value}#&q…...

【新版系统架构补充】-信息系统基础知识

信息系统 信息系统的5个基本功能:输入、存储、处理、输出和控制 信息系统的分类(低级到高级):业务(数据)处理系统(TPS/DPS)、管理信息系统(MIS)、决策支持系…...

安防监控视频汇聚平台EasyCVR分发的FLV视频流在VLC中无法播放是什么原因?

众所周知,TSINGSEE青犀视频汇聚平台EasyCVR可支持多协议方式接入,包括主流标准协议国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。在视频流的处理与分发上,视频监控…...

前端遇到的面试题

1.水平垂直居中 绝对定位 transform position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);绝对定位 margin(子元素宽高知道的情况下) position:absolute; top:50%; left:50%; margin-top:-100px; margin-left:-100px;绝对定位 margin:auto position:a…...

abbitmq启动访问不了http://localhost:15672 通过修改服务登录admin

abbitmq默认的对Administration授权,而我的用户不是默认的Administration,所以后来打开服务,找到rabbitmq服务,属性,登陆,将本地系统账户修改为此账户,修改完成之后再重启服务,这时候…...

换架 3D 飞机,继续飞呀飞

相信大多数图扑 HT 用户都曾见过这个飞机的 Demo,在图扑发展的这十年,这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一。 这个 Demo 用简洁的代码生动地展示了 OBJ 模型加载、数据绑定、动画和漫游等功能的实现。许多用户参考这个简单的 Demo 后…...

js ?? || 使用方法

平时很常用的就是||,比如调用接口的时候,接口报错了需要给个默认值 const data(await getData())||{};今天遇到了一个场景,正常后端返回的就是false,如果接口报错要默认设置成true,但如果用了 || ,如下,那…...

i茅台自动申购算法协议分析

首发地址:http://zhuoyue360.com/crack/104.html 一、引言 今日看到有人分享了i茅台自动申购的文章。但是它酷似引流文章,全文一张图,呜呜呜。无法白嫖。太可恶了,因此,我来啦~ 我来整一整,我也要抢茅子! …...

【HarmonyOS】Java如何引用外部jar包

【关键字】 Java、引用jar包​ 【写在前面】 使用API6和API7开发HarmonyOS应用时,因为应用中只能引用SDK中开放的功能接口,但是部分jdk自带的接口功能在SDK中并未封装,要想在工程中使用jdk开放的接口功能,需要将jdk中的jar包通过…...

vue在线编辑表格导入导出

npm i file-saver npm i exceljs npm i luckyexcelindex.html &#xff08;方式一在html中引入&#xff09; <link relstylesheet hrefhttps://cdn.jsdelivr.net/npm/luckysheetlatest/dist/plugins/css/pluginsCss.css /><link relstylesheet hrefhttps://cdn.jsde…...

监控Kafka的关键指标

Kafka 架构 上面绿色部分 PRODUCER&#xff08;生产者&#xff09;和下面紫色部分 CONSUMER&#xff08;消费者&#xff09;是业务程序&#xff0c;通常由研发人员埋点解决监控问题&#xff0c;如果是 Java 客户端也会暴露 JMX 指标。组件运维监控层面着重关注蓝色部分的 BROKE…...

React18 hook学习笔记

useState useState用于在函数组件中声明和管理状态 它接受初始状态&#xff0c;并返回一个状态变量和一个更新状态的函数 通过调用更新状态的函数&#xff0c;可以改变状态的值并触发组件的重新渲染 import { useState } from "react"function App() {const [obj, …...

Java038——正则表达式

一、认识正则表达式 正则表达式通常被用于判断语句中&#xff0c;用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串&#xff0c;这些特殊字符称为正则表达式的元字符。例如&#xff0c;“\d”表示数字 0~9 中的任何一个&#xff0c;“d”就…...

JavaScript元素选择器

目录 一、getElementsByTagName1.说明2.用法示例 二、getElementsByName1.说明2.用法示例 三、getElementById1.说明2.用法示例 四、getElementsByClassName1.说明2.用法示例 五、querySelector1.说明2.用法示例 六、querySelectorAll1.说明2.用法示例 七、综合示例 一、getEle…...

Docker安装 elasticsearch-head

目录 前言安装elasticsearch-head步骤1&#xff1a;准备1. 安装docker2. 搜索可以使用的镜像。3. 也可从docker hub上搜索镜像。4. 选择合适的redis镜像。 步骤2&#xff1a;拉取elasticsearch-head镜像拉取镜像查看已拉取的镜像 步骤3&#xff1a;创建容器创建容器方式1&#…...

交换排序——选择排序和冒泡排序的区别是什么?

今天重温一下算法&#xff0c;其实刚开始我觉得冒泡排序和选择排序是一样的&#xff0c;因为他们排序过程中都是通过相邻的数据比较找到最小/最大的数据&#xff0c;通过不断思考和学习才明白&#xff0c;两者还是有区别的。 冒泡排序 概念 冒泡排序(Bubble Sort)&#xff0…...

吉他谱:Melodies of Life - Final Fantasy Solo Guitar Collections

原始出处&#xff1a; Final Fantasy Solo Guitar Collections - 南泽大介改编的最终幻想9主题曲吉他谱 更多吉他谱&#xff1a; https://github.com/NaisuXu/Guitar_Sheet_Music_Collection...

微信小程序下拉刷新

小程序中的下拉刷新 - 掘金...

医学影像分割实战:5种Loss函数调参指南(附TensorFlow代码)

医学影像分割实战&#xff1a;5种Loss函数调参指南&#xff08;附TensorFlow代码&#xff09; 医疗影像分析领域正迎来AI技术的深度渗透&#xff0c;其中CT/MRI图像分割作为病灶定位和定量分析的基础环节&#xff0c;其精度直接影响后续诊断和治疗方案。但在实际工程落地中&…...

蓝桥杯嵌入式备赛避坑指南:从升降控制器真题看STM32G431的PWM、定时器与状态机实战

蓝桥杯嵌入式实战&#xff1a;STM32G431升降控制器开发中的PWM与状态机优化策略 在嵌入式系统开发中&#xff0c;控制类项目往往涉及复杂的时序管理和硬件资源协调。以蓝桥杯嵌入式竞赛中的升降控制器为例&#xff0c;开发者需要同时处理PWM信号生成、定时器配置、状态机设计和…...

医学影像分割的‘乐高’玩法:拆解UNet++里的嵌套与密集连接到底怎么用

医学影像分割的模块化革命&#xff1a;UNet架构拆解与跨领域迁移指南 当你在玩乐高积木时&#xff0c;是否想过深度学习模型也能像积木一样自由拼装&#xff1f;UNet的出现&#xff0c;让这个想法在医学影像分割领域变成了现实。不同于传统U-Net的固定架构&#xff0c;UNet通过…...

MongoDB GridFS

MongoDB GridFS MongoDB 是一个高性能、可扩展的文档存储系统&#xff0c;它使用 JSON 格式存储数据。GridFS 是 MongoDB 中一个用于存储和检索大文件&#xff08;如视频、音频、图片等&#xff09;的机制。本文将详细介绍 MongoDB GridFS 的概念、工作原理、使用方法以及注意事…...

避坑指南:在若依(Ruoyi)项目里上传视频,回显路径不对、跨域、大文件上传失败怎么办?

若依(Ruoyi)项目视频上传实战&#xff1a;从路径回显到大文件处理的完整解决方案 在若依(Ruoyi)框架中实现视频上传功能看似简单&#xff0c;但实际开发中开发者常会遇到各种"坑"&#xff1a;上传成功却无法显示、路径拼接错误、跨域拦截、大文件上传失败等问题频发。…...

别再只会用Burp Suite了!手把手教你用Python写一个简单的Web Fuzzer(附完整代码)

从零构建Python Web Fuzzer&#xff1a;超越工具使用者的实战指南 当你已经熟练使用Burp Suite等现成工具进行Web安全测试时&#xff0c;是否曾好奇这些工具背后的工作原理&#xff1f;本文将带你深入Fuzz测试的核心机制&#xff0c;通过Python亲手构建一个功能完整的Web参数F…...

告别调参烦恼!用扩张状态观测器(ESO)实现永磁同步电机无模型预测控制(MFPC)的Simulink仿真指南

永磁同步电机无模型预测控制实战&#xff1a;基于ESO的Simulink仿真指南 电机控制工程师们常常陷入参数辨识和PI调节的泥潭——电阻、电感、磁链的微小变化就能让精心设计的控制器性能骤降。有没有一种方法能跳出这个循环&#xff1f;扩张状态观测器&#xff08;ESO&#xff0…...

IC618环境下EMX 5.7保姆级安装与破解指南(附Virtuoso内嵌避坑点)

IC618与EMX 5.7深度集成实战&#xff1a;从安装到电感仿真的全链路指南 在半导体设计领域&#xff0c;电感器件的精确仿真一直是射频集成电路&#xff08;RFIC&#xff09;设计中的关键挑战。传统方法往往需要依赖第三方工具进行数据交换&#xff0c;不仅效率低下&#xff0c;还…...

从X86到鲲鹏:除了代码迁移,DevKit的性能分析和调优助手怎么用?

从X86到鲲鹏&#xff1a;DevKit性能调优实战指南 当应用从X86平台迁移到鲲鹏架构后&#xff0c;许多开发者会发现性能表现与预期存在差距。这种差异往往源于架构特性未被充分挖掘&#xff0c;或存在隐藏的内存问题。本文将深入解析如何利用鲲鹏DevKit中的四大核心工具——系统性…...

终极解决方案:3步为PDF电子书智能添加导航书签

终极解决方案&#xff1a;3步为PDF电子书智能添加导航书签 【免费下载链接】pdfdir PDF导航&#xff08;大纲/目录&#xff09;添加工具 项目地址: https://gitcode.com/gh_mirrors/pd/pdfdir 还在为没有目录导航的PDF电子书而烦恼吗&#xff1f;每次查找特定章节都要手…...