1.7 Character类
Character 类是字符数据类型 char 的包装类。Character 类的对象包含类型为 char 的单个字段,这样能把基本数据类型当对象来处理,其常用方法如表 1 所示。
表 1 Character类的常用方法
方法 | 描述 |
---|---|
void Character(char value) | 构造一个新分配的 Character 对象,用以表示指定的 char 值 |
char charValue() | 返回此 Character 对象的值,此对象表示基本 char 值 |
int compareTo(Character anotherCharacter) | 根据数字比较两个 Character 对象 |
boolean equals(Character anotherCharacter) | 将此对象与指定对象比较,当且仅当参数不是 null,而 是一个与此对象包含相同 char 值的 Character 对象时, 结果才是 true |
boolean isDigit(char ch) | 确定指定字符是否为数字,如果通过 Character. getType(ch) 提供的字符的常规类别类型为 DECIMAL_DIGIT_NUMBER,则字符为数字 |
boolean isLetter(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母 |
boolean isLetterOrDigit(int codePoint) | 确定指定字符(Unicode 代码点)是否为字母或数字 |
boolean isLowerCase(char ch) | 确定指定字符是否为小写字母 |
boolean isUpperCase(char ch) | 确定指定字符是否为大写字母 |
char toLowerCase(char ch) | 使用来自 UnicodeData 文件的大小写映射信息将字符参数转换为小写 |
char toUpperCase(char ch) | 使用来自 UnicodeData 文件的大小写映射信息将字符参数转换为大写 |
可以从 char 值中创建一个 Character 对象。例如,下列语句为字符 S 创建了一个 Character 对象。
Character character = new Character('S');
CompareTo() 方法
将这个字符与其他字符比较,并且返回一个整型数组,这个值是两个字符比较后的标准代码差值。当且仅当两个字符相同时,equals() 方法的返回值才为 true。如下面的代码:
Character character = new Character('A');
int result1 = character.compareTo(new Character('V'));
System.out.println(result1); // 输出:0
int result2 = character.compareTo(new Character('B'));
System.out.println(resuit2); // 输出:-1
int result3 = character.compareTo(new Character('1'));
System.out.println(result3); // 输出:-2
例 1
在注册会员时,需要验证用户输入的用户名、密码、性别、年龄和邮箱地址等信息是否符合标准,如果符合标准方可进行注册。那么,下面就使用 Character 类中的一些静态方法来完成这个程序,具体的实现步骤如下。
1)创建 Register 类,在该类中创建 validateUser() 方法,对用户输入的用户名、密码和年龄进行验证,代码如下:
public class Register {public static boolean validateUser(String uname,String upwd,String age) {boolean conUname = false; // 用户名是否符合要求boolean conPwd = false; // 密码是否符合要求boolean conAge = false; // 年龄是否符合要求boolean con = false; // 验证是否通过if (uname.length() > 0) {for (int i = 0;i < uname.length();i++) {// 验证用户名是否全部为字母,不能含有空格if (Character.isLetter(uname.charAt(i))) {conUname = true;} else {conUname = false;System.out.println("用户名只能由字母组成,且不能含有空格!");break;}}} else {System.out.println("用户名不能为空!");}if (upwd.length() > 0) {for (int j=0;j<upwd.length();j++) {// 验证密码是否由数字和字母组成,不能含有空格if (Character.isLetterOrDigit(upwd.charAt(j))) {conPwd = true;} else {conPwd = false;System.out.println("密码只能由数字或字母组成!");break;}}} else {System.out.println("密码不能为空!");}if (age.length() > 0) {for (int k = 0;k < age.length();k++) {// 验证年龄是否由数字组成if (Character.isDigit(age.charAt(k))) {conAge = true;} else {conAge = false;System.out.println("年龄输入有误!");break;}}} else {System.out.println("年龄必须输入!");}if (conUname && conPwd && conAge) {con = true;} else {con = false;}return con;}
}
在 validateUser() 方法中,使用 for 循环遍历用户输入的用户名、密码和年龄,对其每个字符进行验证,判断其是否符合要求。在验证的过程中,分别使用了 Character 类的 isLetter() 方法、isLetterOrDigit() 方法和 isDigit() 方法。
2)编写测试类 Test,调用 Register 类中的 validateUser() 方法,对用户输入的数据进行验证,并输出验证结果,代码如下:
import java.util.Scanner;
public class Test {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("------------用户注册--------------");System.out.println("用户名:");String username = input.next();System.out.println("密码:");String pwd = input.next();System.out.println("年龄:");String age = input.next();boolean con = Register.validateUser(username,pwd,age);if (con) {System.out.println("注册成功!");} else {System.out.println("注册失败!");}}
}
在 main() 方法中,通过调用 Register 类的 validateUser() 方法,获取一个 boolean 类型的变量,即表明是否验证通过。当变量值为 true 时,表示验证通过,输出注册成功的提示信息;否则表示验证未通过,输出注册失败的提示信息。
运行该程序,当注册的用户名并非全部由字母组成时,提示“用户名只能由字母组成, 且不能含有空格!”信息,如下所示。
------------用户注册--------------
用户名:
tg_xiake
密码:
xiake
年龄:
123
用户名只能由字母组成,且不能含有空格!
注册失败!
当注册的年龄并非只有数字组成时,则提示“年龄输入有误!”,如下所示。
------------用户注册--------------
用户名:
admin
密码:
admin
年龄:
123a
年龄输入有误!
注册失败!
当注册的密码并非只由数字或字母组成时,提示“密码只能由数字或字母组成!”,如下所示。
------------用户注册--------------
用户名:
admin
密码:
admin!
年龄:
25
密码只能由数字或字母组成!
注册失败!
如果注册的用户名、密码和年龄都通过验证,则输出“注册成功!”,如下所示。
------------用户注册--------------
用户名:
admin
密码:
admin
年龄:
123
注册成功!
1.7 Character类相关推荐
- java Character类的一些简单的方法
判断方法: 我们为什么要引入Character类,当然是为了我们方便操作,在进行单个的字符操作的时候,我们常常进行的操作有判断一个字符是否为字母isLetter(),判断一个字符是否为数字isDigi ...
- java转义字符_Java入门 - 语言基础 - 13.Character类
1.概述 Character 类用于对单个字符进行操作. Character 类在对象中包装一个基本类型 char 的值 实例 char ch = 'a'; // Unicode 字符表示形式char ...
- 003_JDK的Character类对Comparable接口的实现
1. JDK1.8中Character类对Comparable接口的实现 2. Character类对Comparable接口的实现, 比较的是两个字符的Unicode码的大型.
- Java Character 类
Java Character 类 Character 类用于对单个字符进行操作. Character 类在对象中包装一个基本类型 char 的值 实例 char ch = 'a'; // Unicod ...
- Java之Character类
Java之Character类 Character类 Character类用于对单个字符进行操作. Character类在对象中包装一个基本类型char的值. 在实际开发过程中,我们经常会遇到需要使用 ...
- Java黑皮书课后题第10章:10.24(实现Character类)在Java库中提供了Character类,给出你自己对这个类的实现(将新类命名为MyCharacter)
代码解释 这里为区分不同题目,类名更改为Test24_MyCharacter.java 破题 这里的"破"和之前写的不太一样,不是动词,不是解决问题的意思 而是形容词 很明显这道题 ...
- java的character用法_Java中Character类的使用方法
Character类的使用方法 Character:字符类型 1.属性. static int MIN_RADIX :返回最小基数. static int MAX_RADIX :返回最大基数. sta ...
- java+character类使用_Java Character类应用实例
之前给大家讲了一下什么是Java Character类以及它的常用方法,下面的话要给大家分享的就是Java Character类的应用实例. 在注册会员的时候,要验证用户输入的用户名.密码.性别.年龄 ...
- (Java)Character类
package com.book.lite;import sun.lwawt.macosx.CSystemTray;import java.util.Scanner;/*** @author zhan ...
最新文章
- linux如何判断光盘是否挂载,LInux下如何挂载光盘找rpm包的方法步骤
- flatform installer web 安装php_Windows server 2019 安装 IIS PHP 环境无标题笔记
- idea zookeeper的使用_学习ZooKeeper源码,就从这篇开始吧
- android 透明变成白色,android – 状态栏不透明但是白色
- node.js——麻将算法(二)赖子玩法
- 数据结构-顺序栈的基本操作(C语言实现)
- 超市库存管理系统 (SSM JAVA)
- Linux打包和解包
- svn服务器端 忽略文件夹,SVN忽略不需要版本控制的文件或者文件夹
- freeswitch java_freeSWITCH
- 软件工程(2019)结对编程第一次作业
- 墙面有几种装修方法_装修时墙面处理都有哪几种方式?
- 京东CEO刘强东事件在发酵,谎言终被破
- Android 进程间通信方式
- 天载优配解读全商场亏钱效应浓郁
- Android 音频降噪 webrtc 去回声
- 怎么向rabbitmq服务器发送消息,.Net使用RabbitMQ即时发消息Demo
- S32Kxxx bootloader之CAN bootloader
- 显示器该怎么选--关于色域的介绍
- 基于ensp的ospf-vlink实验
热门文章
- ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
- python读取文件的常用方法
- 【STL源码剖析读书笔记】【第5章】关联式容器之set、map、multiset和multimap
- 蹭课神器NABCD分析
- Mosquitto配置----日志设置
- MATLAB之线性回归,逻辑回归,最小二乘法,梯度下降,贝叶斯,最大似然估计
- C++ Primer 5th笔记(chap 19 特殊工具与技术)枚举类型
- 《研磨设计模式》chap22 装饰模式Decorator(2)应用到场景
- java筑基期(9)----ajaxjson(1)
- 近世代数--环同态--环的第二同构定理