Java 教程
- Java - 首页
- Java - 概述
- Java - 历史
- Java - 特性
- Java 与 C++
- JVM - Java 虚拟机
- Java - JDK 与 JRE 与 JVM
- Java - Hello World 程序
- Java - 环境设置
- Java - 基本语法
- Java - 变量类型
- Java - 数据类型
- Java - 类型转换
- Java - Unicode 系统
- Java - 基本运算符
- Java - 注释
- Java - 用户输入
- Java - 日期和时间
Java 控制语句
- Java - 循环控制
- Java - 决策制定
- Java - If-else
- Java - Switch
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - Break
- Java - Continue
面向对象编程
- Java - OOPs 概念
- Java - 对象和类
- Java - 类属性
- Java - 类方法
- Java - 方法
- Java - 变量作用域
- Java - 构造函数
- Java - 访问修饰符
- Java - 继承
- Java - 聚合
- Java - 多态
- Java - 重写
- Java - 方法重载
- Java - 动态绑定
- Java - 静态绑定
- Java - 实例初始化块
- Java - 抽象
- Java - 封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java - 静态类
- Java - 匿名类
- Java - 单例类
- Java - 包装类
- Java - 枚举
- Java - 枚举构造函数
- Java - 枚举字符串
Java 内置类
Java 文件处理
Java 错误和异常
- Java - 异常
- Java - try-catch 块
- Java - try-with-resources
- Java - 多重捕获块
- Java - 嵌套 try 块
- Java - Finally 块
- Java - throw 异常
- Java - 异常传播
- Java - 内置异常
- Java - 自定义异常
Java 多线程
- Java - 多线程
- Java - 线程生命周期
- Java - 创建线程
- Java - 启动线程
- Java - 合并线程
- Java - 线程命名
- Java - 线程调度器
- Java - 线程池
- Java - 主线程
- Java - 线程优先级
- Java - 守护线程
- Java - 线程组
- Java - 关闭钩子
Java 同步
Java 网络
- Java - 网络
- Java - 套接字编程
- Java - URL 处理
- Java - URL 类
- Java - URLConnection 类
- Java - HttpURLConnection 类
- Java - Socket 类
- Java - 泛型
Java 集合
Java 接口
Java 数据结构
Java 集合算法
高级 Java
- Java - 命令行参数
- Java - Lambda 表达式
- Java - 发送电子邮件
- Java - Applet 基础
- Java - Javadoc 注释
- Java - 自动装箱和拆箱
- Java - 文件不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 文件
- Java - 私有接口方法
- Java - 内部类菱形运算符
- Java - 多分辨率图像 API
- Java - 集合工厂方法
- Java - 模块系统
- Java - Nashorn JavaScript
- Java - Optional 类
- Java - 方法引用
- Java - 函数式接口
- Java - 默认方法
- Java - Base64 编码解码
- Java - Switch 表达式
- Java - Teeing 收集器
- Java - 微基准测试
- Java - 文本块
- Java - 动态 CDS 归档
- Java - Z 垃圾收集器 (ZGC)
- Java - 空指针异常
- Java - 打包工具
- Java - 密封类
- Java - 记录类
- Java - 隐藏类
- Java - 模式匹配
- Java - 紧凑数字格式化
- Java - 垃圾回收
- Java - JIT 编译器
Java 杂项
- Java - 递归
- Java - 正则表达式
- Java - 序列化
- Java - 字符串
- Java - 进程 API 改进
- Java - 流 API 改进
- Java - 增强的 @Deprecated 注解
- Java - CompletableFuture API 改进
- Java - 流
- Java - 日期时间 API
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 和框架
Java 类参考
- Java - Scanner
- Java - 数组
- Java - 字符串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用资源
Java - 字符类
通常,当我们处理字符时,我们使用基本数据类型 char。
示例
char ch = 'a'; // Unicode for uppercase Greek omega character char uniChar = '\u039A'; // an array of chars char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };
Java 中 Character 类的使用
但是,在开发过程中,我们会遇到需要使用对象而不是基本数据类型的情况。为了实现这一点,Java 为基本数据类型 char 提供了包装类Character。
Java Character 类
Character 类提供了一些有用的类(即静态)方法来操作字符。您可以使用 Character 构造函数创建 Character 对象 -
Character ch = new Character('a');
在某些情况下,Java 编译器也会为您创建 Character 对象。例如,如果您将一个基本 char 传递给一个期望对象的方法,编译器会自动将 char 转换为 Character。如果转换反过来进行,则此功能称为自动装箱或拆箱。
Java Character 类的示例
// Here following primitive char 'a' // is boxed into the Character object ch Character ch = 'a'; // Here primitive 'x' is boxed for method test, // return is unboxed to char 'c' char c = test('x');
转义序列
以反斜杠 (\) 开头的字符是转义序列,对编译器具有特殊含义。
换行符 (\n) 在本教程中已在 System.out.println() 语句中频繁使用,以在字符串打印后换行。
下表显示了 Java 转义序列 -
转义序列 | 描述 |
---|---|
\t | 在此处插入制表符。 |
\b | 在此处插入退格键。 |
\n | 在此处插入换行符。 |
\r | 在此处插入回车符。 |
\f | 在此处插入换页符。 |
\' | 在此处插入单引号字符。 |
\" | 在此处插入双引号字符。 |
\\ | 在此处插入反斜杠字符。 |
当在打印语句中遇到转义序列时,编译器会相应地解释它。
示例:转义序列
如果要将引号放在引号内,则必须在内部引号上使用转义序列 \" -
public class Test { public static void main(String args[]) { System.out.println("She said \"Hello!\" to me."); } }
输出
She said "Hello!" to me.
字符类
声明
以下是java.lang.Character类的声明 -
public final class Character extends Object implements Serializable, Comparable<Character>
字段
以下是java.lang.Character类的字段 -
static byte COMBINING_SPACING_MARK - 这是 Unicode 规范中的通用类别“Mc”。
static byte CONNECTOR_PUNCTUATION - 这是 Unicode 规范中的通用类别“Pc”。
static byte CONTROL - 这是 Unicode 规范中的通用类别“Cc”。
static byte CURRENCY_SYMBOL - 这是 Unicode 规范中的通用类别“Sc”。
static byte DASH_PUNCTUATION - 这是 Unicode 规范中的通用类别“Pd”。
static byte DECIMAL_DIGIT_NUMBER - 这是 Unicode 规范中的通用类别“Nd”。
static byte DIRECTIONALITY_ARABIC_NUMBER - 这是 Unicode 规范中的弱双向字符类型“AN”。
static byte DIRECTIONALITY_BOUNDARY_NEUTRAL - 这是 Unicode 规范中的弱双向字符类型“BN”。
static byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR - 这是 Unicode 规范中的弱双向字符类型“CS”。
static byte DIRECTIONALITY_EUROPEAN_NUMBER - 这是 Unicode 规范中的弱双向字符类型“EN”。
static byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR − 在 Unicode 规范中,这是弱双向字符类型“ES”。
static byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR − 在 Unicode 规范中,这是弱双向字符类型“ET”。
static byte DIRECTIONALITY_LEFT_TO_RIGHT − 在 Unicode 规范中,这是强双向字符类型“L”。
static byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING − 在 Unicode 规范中,这是强双向字符类型“LRE”。
static byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE − 在 Unicode 规范中,这是强双向字符类型“LRO”。
static byte DIRECTIONALITY_NONSPACING_MARK − 在 Unicode 规范中,这是弱双向字符类型“NSM”。
static byte DIRECTIONALITY_OTHER_NEUTRALS − 在 Unicode 规范中,这是中性双向字符类型“ON”。
static byte DIRECTIONALITY_PARAGRAPH_SEPARATOR − 在 Unicode 规范中,这是中性双向字符类型“B”。
static byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT − 在 Unicode 规范中,这是弱双向字符类型“PDF”。
static byte DIRECTIONALITY_RIGHT_TO_LEFT − 在 Unicode 规范中,这是强双向字符类型“R”。
static byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC − 在 Unicode 规范中,这是强双向字符类型“AL”。
static byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING − 在 Unicode 规范中,这是强双向字符类型“RLE”。
static byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE − 在 Unicode 规范中,这是强双向字符类型“RLO”。
static byte DIRECTIONALITY_SEGMENT_SEPARATOR − 在 Unicode 规范中,这是中性双向字符类型“S”。
static byte DIRECTIONALITY_UNDEFINED − 这是未定义的双向字符类型。
static byte DIRECTIONALITY_WHITESPACE − 在 Unicode 规范中,这是中性双向字符类型“WS”。
static byte ENCLOSING_MARK − 在 Unicode 规范中,这是通用类别“Me”。
static byte END_PUNCTUATION − 在 Unicode 规范中,这是通用类别“Pe”。
static byte FINAL_QUOTE_PUNCTUATION − 在 Unicode 规范中,这是通用类别“Pf”。
static byte FORMAT − 在 Unicode 规范中,这是通用类别“Cf”。
static byte INITIAL_QUOTE_PUNCTUATION − 在 Unicode 规范中,这是通用类别“Pi”。
static byte LETTER_NUMBER − 在 Unicode 规范中,这是通用类别“Nl”。
static byte LINE_SEPARATOR − 在 Unicode 规范中,这是通用类别“Zl”。
static byte LOWERCASE_LETTER − 在 Unicode 规范中,这是通用类别“Ll”。
static byte MATH_SYMBOL − 在 Unicode 规范中,这是通用类别“Sm”。
static int MAX_CODE_POINT − 这是 Unicode 代码点的最大值。
static char MAX_HIGH_SURROGATE − 在 UTF-16 编码中,这是 Unicode 高代理对代码单元的最大值。
static char MAX_LOW_SURROGATE − 在 UTF-16 编码中,这是 Unicode 低代理对代码单元的最大值。
static int MAX_RADIX − 这是可用于转换为和从字符串转换的最大基数。
static char MAX_SURROGATE − 在 UTF-16 编码中,这是 Unicode 代理对代码单元的最大值。
static char MAX_VALUE − 此字段的常量值为 char 类型的最大值,'\uFFFF'。
static int MIN_CODE_POINT − 这是 Unicode 代码点的最小值。
static char MIN_HIGH_SURROGATE − 在 UTF-16 编码中,这是 Unicode 高代理对代码单元的最小值。
static char MIN_LOW_SURROGATE − 在 UTF-16 编码中,这是 Unicode 低代理对代码单元的最小值。
static int MIN_RADIX − 这是可用于转换为和从字符串转换的最小基数。
static int MIN_SUPPLEMENTARY_CODE_POINT − 这是补充代码点的最小值。
static char MIN_SURROGATE − 在 UTF-16 编码中,这是 Unicode 代理对代码单元的最小值。
static char MIN_VALUE − 此字段的常量值为 char 类型的最小值,'\u0000'。
static byte MODIFIER_LETTER − 在 Unicode 规范中,这是通用类别“Lm”。
static byte MODIFIER_SYMBOL − 在 Unicode 规范中,这是通用类别“Sk”。
static byte NON_SPACING_MARK − 在 Unicode 规范中,这是通用类别“Mn”。
static byte OTHER_LETTER − 在 Unicode 规范中,这是通用类别“Lo”。
static byte OTHER_NUMBER − 在 Unicode 规范中,这是通用类别“No”。
static byte OTHER_PUNCTUATION − 在 Unicode 规范中,这是通用类别“Po”。
static byte OTHER_SYMBOL − 在 Unicode 规范中,这是通用类别“So”。
static byte PARAGRAPH_SEPARATOR − 在 Unicode 规范中,这是通用类别“Zp”。
static byte PRIVATE_USE − 在 Unicode 规范中,这是通用类别“Co”。
static int SIZE − 这是以无符号二进制形式表示 char 值所使用的位数。
static byte SPACE_SEPARATOR − 在 Unicode 规范中,这是通用类别“Zs”。
static byte START_PUNCTUATION − 在 Unicode 规范中,这是通用类别“Ps”。
static byte SURROGATE − 在 Unicode 规范中,这是通用类别“Cs”。
static byte TITLECASE_LETTER − 在 Unicode 规范中,这是通用类别“Lt”。
static Class<Character> TYPE − 这是表示基本类型 char 的 Class 实例。
static byte UNASSIGNED − 在 Unicode 规范中,这是通用类别“Cn”。
static byte UPPERCASE_LETTER − 在 Unicode 规范中,这是通用类别“Lu”。
类构造函数
序号 | 构造函数及描述 |
---|---|
1 |
Character(char value) 这将构造一个新分配的 Character 对象,该对象表示指定的 char 值。 |
类方法
继承的方法
此类继承自以下类 -
- java.lang.Object
示例
以下示例演示了 Java Character charCount() 方法的使用。在此程序中,我们创建了一个 int 变量并为其分配了一个十六进制值,该值等效于一个 char 值。然后使用 charCount() 方法,我们检查它是否是一个有效的补充字符。然后打印结果。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create and assign values to int codepoint cp int cp = 0x12345; // create an int res int res; // assign the result of charCount on cp to res res = Character.charCount(cp); String str1 = "It is not a valid supplementary character"; String str2 = "It is a valid supplementary character"; // print res value if ( res == 1 ) { System.out.println( str1 ); } else if ( res == 2 ) { System.out.println( str2 ); } } }
输出
让我们编译并运行上述程序,这将产生以下结果 -
It is a valid supplementary character