Java之API(上):Character

一、前言:

  我们上次讲到 java.lang.*下的八大包装类:

八大包装类
基本数据类型byteshortintlongfloatdoublecharboolean
引用数据类型(对象)ByteShortIntegerLongFloatDoubleCharacterBoolean

之前讲到了比较常用的Integer包装类,但是前面6个包装类(Byte、Short、Integer、Long、Float、Double)都是偏向于数字型的类,它们的共同父类是"Number"类,所以它们的方法都几乎很非常一致,就要结合之前讲的 Integer 类自己总结看看其他5个了。今天要单独讲一下特殊的 Character 类。

二、 首先介绍关于 Character 包装类里面一些方法的使用:

 (包括一些转换的方法)

(1)构造方法:

<1>它不和其他包装类一样:Character 类只有一种构造方法。(例如:Integer 类除了这种构造: Integer(int value) 还有一个构造: Integer(String s)  )

  那么我们可以想一想为什么没有像这种构造写法:Character(String s) ,因为 Character 类对应的基本数据类型是:char(字符) ,而我们的String 是不是字符串,能转换吗?有的说可以用那个方法:charAt()获取字符串的某个位置的字符,但是我们如果发现当是"abc",那么获取的可能是"a"、"b"、等等,这和原来的"abc"还相同吗?因为原意改变了,所以不行的这是。

<2>测试如下: 

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {Character c1 = new Character('a');System.out.println(c1);}
}

<3>代码运行结果:

(2)图示展示转换关系:

<1>指明了直接的"行"与"不行"的相互转换关系:

(3) 其他方法:

<1> char -> Character

1.构造方法已经在前面展示。

2.

测试如下:

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {Character c1 = Character.valueOf('b');System.out.println(c1);}
}

代码运行结果:

<2> Character -> char

1.

测试如下: 

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {//Character -> charCharacter c = new Character('a');char c1 = c.charValue();System.out.println(c1);}
}

代码运行结果: 

<3> char -> String

1.

2.

两个测试写在一起:

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {//char -> StringString s1 = String.valueOf('d');System.out.println(s1);//String s2 = Character.toString('6');System.out.println(s2);}
}

代码运行结果: 

<4> Character -> String

测试如下:

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {//Character -> StringCharacter c1 = new Character('x');String s1 = c1.toString();  //实例方法,对象调用它System.out.println(s1);}
}

代码运行如下: (即创建的Character对象指向的值:char变成String类型的)

(4)其他有趣的方法(字符处理)

<1>关于比较的方法

说明:其实是按照它的编码值或者说按照它在字典里的顺序去比较两个值的大小,例如字母根据 ASCII 里的值的大小或者汉字根据 Unicode 编码值的大小来相互比较。

 测试如下:

package com.feisi.demo;public class Test_Character {public static void main(String[] args) {Character c1 = new Character('a');Character c2 = new Character('b');System.out.println("对象c1是否大于对象c2:"+c1.compareTo(c2));char c3='a';char c4='e';System.out.println("字符c3是否大于字符c4:"+Character.compare(c3,c4));}
}

代码运行结果:

<2> 一些关于判断的方法:

1.

判断这个字符是不是在Unicode编码表里有定义。(可以自己去测试!)

2.

第一个方法是判断这个字符是否是一个数字,第二个方法是输入一个Unicode值,判断它是否代表的是数字。 (可以自己去测试,Character 类调用即可)

3.

第一个方法是判断这个字符是否是一个字母,第二个方法是输入一个Unicode值,判断它是否代表的是字母。 (可以自己去测试,Character 类调用即可) 

4.

 第一个方法是判断这个字符是否是一个字母或者数字,第二个方法是输入一个Unicode值,判断它是否代表的是字母或者数字。 (可以自己去测试,Character 类调用即可) 

5.

第一个方法是判断这个字符是否是一个小写字母,第二个方法是输入一个Unicode值,判断它是否代表的是小写字母。 (可以自己去测试,Character 类调用即可)

6.  

第一个方法是判断这个字符是否是一个大写字母,第二个方法是输入一个Unicode值,判断它是否代表的是大写字母。 (可以自己去测试,Character 类调用即可)  

7.

第一个方法是判断这个字符是否是一个空格字符:(' '),第二个方法是输入一个Unicode值,判断它是否代表的是空格字符:(' ')。 (可以自己去测试,Character 类调用即可)   

 

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

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

相关文章

文件夹重命名:克服语言障碍,批量将中文文件夹名翻译成英文

随着全球化的不断深入&#xff0c;英语成为了世界上最广泛使用的语言。在日常生活和工作中&#xff0c;可能经常要将中文文件夹名翻译成英文&#xff0c;以便交流或满足特定需求。手动翻译文件夹名不仅耗时&#xff0c;还容易出错。那有什么方法可以快速、准确地批量将中文文件…

RT-DETR算法优化改进:AKConv(可改变核卷积),即插即用的卷积,效果秒杀DSConv | 2023年11月最新发表

💡💡💡本文全网首发独家改进:可改变核卷积(AKConv),赋予卷积核任意数量的参数和任意采样形状,为网络开销和性能之间的权衡提供更丰富的选择,解决具有固定样本形状和正方形的卷积核不能很好地适应不断变化的目标的问题点,效果秒殺DSConv 1)AKConv替代标准卷积进行…

基于可微分渲染器的相机位置优化【PyTorch3D】

在这个教程中&#xff0c;我们将使用可微渲染学习给定参考图像的相机的 [x, y, z] 位置。 我们将首先使用相机的起始位置初始化渲染器。 然后&#xff0c;我们将使用它来生成图像&#xff0c;使用参考图像计算损失&#xff0c;最后通过整个管道进行反向传播以更新相机的位置。…

Django创建基本的app应用并配置URL路径-成功运行服务

开发环境&#xff1a;Pycharm2021 Win11 首先创建虚拟环境: 可参考&#xff1a; Pycharm开发环境下创建python运行的虚拟环境&#xff08;自动执行安装依赖包&#xff09;_pycharm自动下载依赖包_heda3的博客-CSDN博客 1、安装 Django 在虚拟环境下安装pip install django …

从容应对高并发:RabbitMQ与消息限流策略的完美结合

在当今互联网时代&#xff0c;高并发访问已成为许多应用系统面临的常见挑战之一。对于需要处理大量请求的系统来说&#xff0c;如何保证系统的稳定性和可靠性是一个关键问题。RabbitMQ作为一种可靠的消息队列中间件&#xff0c;可以帮助解决高并发环境下的消息处理问题。而结合…

docker基础快速入门:基础命令、网络、docker compose工具

docker基础命令快速入门 目录 docker基本命令docker 网络docker compose Docker介绍 Docker是一个虚拟环境容器&#xff0c;可以将你的开发环境、代码、配置文件等一并打包到这个容器中&#xff0c;并发布和应用到任意平台中。 Docker的三个概念 镜像 Docker镜像是一个特…

自己动手写编译器:golex 和 flex 比较研究 2

上一节我们运行了 gcc 使用的词法解析器&#xff0c;使用它从.l 文件中生成对应的词法解析程序。同时我们用相同的词法规则对 golex 进行测试&#xff0c;发现 golex 同样能实现相同功能&#xff0c;当然这个过程我们也发现了 golex 代码中的不少 bug&#xff0c;本节我们继续对…

【Linux】23、内存超详细介绍

文章目录 零、资料一、内存映射1.1 TLB1.2 多级页表1.3 大页 二、虚拟内存空间分布2.1 用户空间的段2.2 内存分配和回收2.2.1 小对象2.2.2 释放 三、查看内存使用情况3.1 Buffer 和 Cache3.1.1 proc 文件系统3.1.2 案例3.1.2.1 场景 1&#xff1a;磁盘和文件写案例3.1.2.2 场景…

【数据结构】顺序表---C语言版

【数据结构】顺序表 前言&#xff1a;一、线性表二、顺序表1.顺序表的概念及结构&#xff1a;2.顺序表的分类&#xff1a;3.顺序表缺陷&#xff1a; 三、顺序表的代码实现&#xff1a;1.头文件&#xff1a;2.函数文件&#xff1a;3.测试文件&#xff1a; 四、顺序表的相关OJ题&…

怎么给数据库某个字段建立一个前缀索引

说明&#xff1a;SQL调优中重要的一个环节是建立索引&#xff0c;其中有一条是字段值过长字段应该建立前缀索引&#xff0c;即根据字段值的前几位建立索引&#xff0c;像数据库中的密码字段、UUID字段。 因为其随机性&#xff0c;其实根据前几位就可以锁定某一条记录了。前缀索…

(附源码)SSM+成都大学体育场馆预约系统 计算机毕设37087

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

Vatee万腾的数字探险之旅:vatee科技创新的新纪元

在数字时代的潮流中&#xff0c;Vatee万腾以其独特的数字探险之旅引领着科技创新的新纪元。这不仅是一次技术的进步&#xff0c;更是一场数字领域的探险&#xff0c;让我们一同探索Vatee在科技创新中的前沿地带。 Vatee万腾的数字探险起源于对未知的渴望和对创新的不懈追求。在…

【PUSDN】WebStorm中报错Switch language version to React JSX

简述 WebStorm中报错Switch language version to React JSX 可能本页面的写法是其他语法。所以可以不用管。 测试项目&#xff1a;ant design vue pro 前情提示 系统&#xff1a; 一说 同步更新最新版、完整版请移步PUSDN Powered By PUSDN - 平行宇宙软件开发者网www.pusdn…

《opencv实用探索·三》opencv Mat与数组互转

1、利用Mat来存储数据&#xff0c;避免使用数组等操作 //创建一个两行一列的矩阵cv::Mat mean (cv::Mat_<float>(2, 1) << 0.77, 0.33);std::cout() << mean << std::endl;float a mean.at<float>(0, 0); //0.77float b mean.at<float&…

使用vscode中编写c语言——无法打开 源 文件 “stdlib.h“C/C++(1696)问题

出现这个问题原因如下&#xff1a; 1、没有下载编辑器或者是没有配置好该编辑器的环境变量。 可以通过如下方法检查是否安装并配置好编辑器&#xff1a;打开终端&#xff1a;按winR cmd&#xff0c;然后输入gcc-v&#xff0c;查看是否有mingw64编辑器&#xff0c;如下图是已经…

TUP通信——与多个客户端同时通信

一&#xff0c;概括&#xff1a;可以通过多线程思想每加一个客户端由线程池中的主线程交给一个子线程管理 二&#xff0c;案例 &#xff08;1&#xff09;&#xff0c;线程池 &#xff08;2&#xff09;&#xff0c;服务端 &#xff08;3&#xff09;&#xff0c;客户端

【Qt】QStackedWidget、QRadioButton、QPushButton及布局实现程序首页自动展示功能

效果 在程序启动后&#xff0c;有时不会进入到工作页面&#xff0c;会进入到产品展示页面。 动画如下&#xff1a; 首页展示 页面操作 当不点击时&#xff0c;一秒自动刷新一次&#xff1b;当点击时&#xff0c;会自动跳转到对应页面&#xff1b;点击上一页、下一页、及跳转页…

03、K-means聚类实现步骤与基于K-means聚类的图像压缩

03、K-means聚类实现步骤与基于K-means聚类的图像压缩&#xff08;1&#xff09; K-means聚类实现步骤 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。…

理解Android无埋点技术

首先什么是无埋点呢&#xff0c;其实所谓无埋点就是开发者无需再对追踪点进行埋码&#xff0c;而是脱离代码&#xff0c;只需面对应用界面圈圈点点即可追加随时生效的事件数据点。 无埋点的好处 其实无埋点并不是完全不用写代码&#xff0c;而是尽可能的少写代码。开发者将SDK集…

零基础学编程轻松学编程,分享一款中文编程工具,编程构件简介

零基础学编程轻松学编程&#xff0c;分享一款中文编程工具&#xff0c;编程构件简介 中文编程开发语言工具编辑区界面截图如上图。 给大家分享一款中文编程工具 零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#…