美国上市公司,专注Java培训21年

java语言中是否可以进行字符与编码的比较?


问题阐述

Java 语言中,是否可以将字符与代表字符的编码进行比较?

达内java培训解答

在 Java 语言中,字符类型用于存储单个字符,它占用 16 位(2 字节)的内存空间,使用关键字 char 进行标识。

因为计算机只能存储二进制数据,所以需要将字符通过一串二进制数据来表示,也就是通常所说的字符编码。Java 对字符采用 Unicode 字符编码,Unicode 使用 2 字节表示 1个字符,并且 Unicode 字符集中的前 128 个字符与 ASCII 字符集兼容。

例如,字符'a'的 ASCII 编码的二进制数据形式为 01100001,Unicode 字符编码的二进制数据形式为 00000000 01100001,它们都表示十进制数 97。从中可以看出与 C、C++一样,Java 同样把字符作为整数对待。所以,在进行条件判断时,就可以将字符与代表字符的编码进行比较。例如,下面的代码将输出“条件成立”。

public static void main(String[] args) {
if ('d' == 100) {
System.out.println("条件成立");
} else {
System.out.println(("条件不成立");
}

注意:

在上面的代码中,由于字符'd'的编码为 100,所以等式“'d' == 100”成立。如果将字符 d 两侧的单引号换成双引号,程序将出错。这是因为 Java 中的字符常量值必须用英文状态下的一对单引号括起来。

点评

在程序设计中,字符型数据使用得比较频繁。它占用 2 字节,以单引号表示。在此要注意的是,字符与字符串是不同的。例如,'a'表示一个字符,"a"就表示一个字符串。虽然都只有一个字符,但由于后者使用双引号括起来,所以它仍然表示字符串。字符型只能表示单个字符,任何超过一个字符的内容,都不能被声明为字符型。如果一个变量被声明为字符型,也就是使用 char 关键字进行声明,那么这个变量只能被赋予一个整数值,或是用单引号括起来的一个字符。



【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 如何应用 if 语句判断某一年是否为闰年?
    如何应用 if 语句判断某一年是否为闰年?
    地球绕太阳一圈称之为一年,所用时间是 365 天 5 小时 48 分 46 秒,取 365 天为一年,4 年将多出 23 小时 15 分 6 秒,将近一天,所以 4 年设一闰日(2 月 29 日),该年称为闰年。如何应用 if 语句判断某一年是否为闰年? 详情>>

    2015-10-22

  • 能正确编译“short s = 1;s = s + 1;”吗?
    能正确编译“short s = 1;s = s + 1;”吗?
    在进行程序设计时,经常需要进行一些算术运算,有的运算能够通过编译器编译,而有的运算则不能通过编译器编译。那么能正确编译“short s = 1;s = s +1;“吗? 详情>>

    2015-10-22

  • java语言中如何修改失败的 if…else 语句?
    java语言中如何修改失败的 if…else 语句?
    判断下列程序代码的运行结果,如何修改代码中的条件判断才能正确执行 if…else语句。 详情>>

    2015-10-22

  • java语言中可以用 switch 分支语句代替 if 条件语句吗?
    java语言中可以用 switch 分支语句代替 if 条件语句吗?
    通常情况下,switch 语句比一系列嵌套的 if 语句更有效,那么是否可以用 switch 分支语句代替 if 条件语句呢? 详情>>

    2015-10-22

  • Java开班时间

    收起