博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础 字符、字符串
阅读量:4189 次
发布时间:2019-05-26

本文共 2078 字,大约阅读时间需要 6 分钟。

字符
  Java用char类型来表示字母、数字、标点符号以及其他特殊字符。Java基于Unicode4.0来表示每一个字符,Unicode的设计目标是容纳世界上所有主要语言中的字符。
  Java使用16位即2个字节来表示字符,这意味着Java可以表示216,即65536个字符,看起来很多,但是还不能支持整个Unicode标准中的所有字符。如果超过这个范围,Java允许使用int类型来表示字符,int类型字长4个字节32位,可以表示232位的字符。
  Java中表示字符的最简单的方式如下,使用单引号嵌入字符:
char capitalA = 'A';
  字符从本质上讲是数字。每一个字符映射到一个范围在0到65 535的正整数,每一个字符在Unicode标准中都有对应的数字值,称为Unicode值。我们可以用如下方法来查看字符的Unicode码:
char word = 'A';
int p = 65;
System.out.println("a在unicode表中的顺序位置是:" + (int) word);
System.out.println("unicode表中的第65位是:" + (char) p);
  并不是所有的字符都可以通过键盘输入到计算机。您可以用Unicode转义符(\u或者\U,后面跟着四位的十六进制数字)来表示Unicode字符:
char word = '\U0041'
特殊字符
  Java定义了一些用来格式化输出的特殊字符。Java使用转义符来表示这些特殊字符,该转义符由一个反斜线(\)和一个随后的助记符组成:
回车 '\r'
换行 '\n'
Tab '\t'
换页 '\f'
退格 '\b'
  由于一对单引号和反斜线对于字符表示有特殊的意义,所以您必须用转义符来表示它们。
单引号 '\'
换码符 '\\'
双引号 '\'''
  注意:双引号不需要转义。
字符串
  字符串对象表示固定长度的字符序列,String类可能是Java程序中使用的最频繁的类了。
  来看两种创建字符串的方式:
String a = "abc";
String b = new String("abc");
  实际运用中,我们要避免第二种方式,第二种方式创建了两个String对象。首先,Java虚拟机创建了String对象“abc”。然后,java虚拟机创建一个新的String对象,并把字符串“abc”传入构造函数。这是一次完全没有必要的构造,既影响了性能,也提高了代码阅读难度。
  由于字符串是字符序列,所以可以嵌入特殊字符。
String s = "\t\n";
字符连接
  您可以将一个字符串和另一个字符串连接起来,从而生成第三个字符串。
String abcd = "ab".concat("cd")
  在Java中,字符串连接是一个非常常用的操作。您可以用加号(+)作为字符串连接的捷径。
String abcd = "ab" + "cd";
  在实际编码中,我们也基本都是这么做的。
  +符号既可以操作数值的加减,也可以用于连接字符串,这叫做操作符的重载。
字符串的不可改变性
  在JavaAPI文档中我们可以看到String类的定义:
public final class String extends Object implements Serializable, Comparable<String>, CharSequence
  String类是一个final类,这代表一个String对象是不可改变的,String类的方法中我们也找不到任何能够改变字符串的值和长度的方法。这就是字符串的不可改变性。
  当我们进行连接字符串操作的时候,Java虚拟机没有改变其中任何一个字符串,而是创建了一个新的String对象,把连接后的结果赋予了它。Sun将String设计成不可改变的,这是为了让String的行为最优化。因为String在多数应用中都被大量使用,所以它的优化是非常关键的。
StringBuilder
  类java.lang.StringBuilder提供了动态创建字符串的能力。使用方法上与StringBuffer是一样的,不同之处在于,StringBuilder不是线程安全的,但是更搞笑,StringBuffer是现成安全的。
系统属性
  在程序中,我们经常直接在字符串中写入特殊字符,比如换行符"\n",这样做不仅冗余,而且难以移植,不同平台的换行符也不同。
  类java.lang.System中可以找到这个问题的解决方案,该类包含了方法getProperty,此方法以一个系统属性的键值作为参数,并返回与该键值相关联的系统属性。Java虚拟机在启动的时候,就设置好了若干系统属性。多数属性返回与虚拟机以及当前执行环境相关的信息。API文档中针对getProperties方法,给出了可用的属性列表。例如换行符的属性是line.separator。

转载地址:http://dynoi.baihongyu.com/

你可能感兴趣的文章
Android中ViewPager自动加手动轮播
查看>>
Android中Fragment点击切换与添加ViewPager滑动切换
查看>>
Java多线程-阻塞队列BlockingQueue
查看>>
Windows:Apache与Tomcat集群调优
查看>>
Apache+2Tomcat 集群及调优
查看>>
通向架构师的道路(第三天)之apache性能调优
查看>>
Tomcat性能调优
查看>>
Tomcat集群
查看>>
quartz在集群环境下的最终解决方案
查看>>
ERwin Data Modeler 建模实践
查看>>
性能调优:JDK5.0自带工具
查看>>
认识软件估算 (7)
查看>>
项目控制 (sky)
查看>>
DWR 与 SPRING 集成配置
查看>>
JSTL 语法及参数
查看>>
懒加载
查看>>
DWR 几种使用方法
查看>>
DWR 学习及深入
查看>>
OA系统的技术发展
查看>>
EXT 基本使用
查看>>