- 浏览: 1054315 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
字符
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。
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。
发表评论
-
20180222积累
2018-02-22 09:34 4821. mybatis如何通过接口查找对应的mapper. ... -
20180208积累
2018-02-08 10:28 474临时表与永久表相似,但临时表存储在 tempdb 中,当不 ... -
行业应用
2018-01-30 16:30 492git clone的时候用上面那个IP地址,下面栏中的不能 ... -
SQLite 数据库
2018-01-29 22:57 757android: SQLite创建数据 ... -
java里面获取map的key和value的方法
2018-02-01 11:29 2165获取map的key和value的方法分为两种形式: ma ... -
Eclipse中Maven WEB工程tomcat项目添加调试以及项目发布细节记录
2018-02-23 21:11 733一、建立一个maven WEB项目 1、file-&g ... -
错误:HttpServlet was not found on the Java
2018-02-23 21:12 391我们在用Eclipse进行Java web ... -
使用 java8 实现List到Array的转换
2018-02-23 21:13 2995开发中需要调用第三方的库,有些 API 的入参要求是 do ... -
Java8 利用Lambda处理List集合
2018-01-11 09:58 5636Java 8新增的Lambda表达式,我们可以很方便地并行操 ... -
java中string与json互相转化
2018-01-11 09:40 1077在Java中socket传输数据时,数据类型往往比较难选择。 ... -
JSON 数据格式
2018-01-11 09:37 475JSON(JavaScript Object Notatio ... -
java怎么读取json格式的数据
2018-01-11 09:46 1061java可以使用JSONObject和JSONArray来操作 ... -
Java8-如何将List转变为逗号分隔的字符串
2018-01-10 10:13 2001Converting a List to a String ... -
eclipse maven 打war包的两种方式
2018-02-23 21:25 705第一种:利用pom.xml文件打包。 右键pom.xml ... -
Annotation(三)——Spring注解开发
2018-02-28 09:21 430Spring框架的核心功能IoC(Inversion o ... -
Spring自定义注解
2018-02-28 09:32 601java注解:附在代码中的一些元信息,用于在编译、运行时起 ... -
Java项目
2018-01-08 10:56 0这两种解决办法已经能完全解决问题,不过值得注意的一点是,我 ... -
解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
2018-03-22 10:41 1135在Eclipse中建立好一个Maven项目后,如果Java ... -
Java @override报错的解决方法
2018-01-07 12:56 0有时候Java的Eclipse工程换一台电脑后编译总是@ove ... -
Java 8 配置Maven-javadoc-plugin
2018-01-07 09:07 1048在升级JDK至1.8之后,使用Maven-javadoc- ...
相关推荐
java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java 字符串转16进制 16进制转字符串 将两个ASCII字符合成一个字节; java ...
java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java 字符串工具类java 字符串工具类 java ...
java压缩字符串
在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某个部分。这通常通过使用`split()`方法来实现,该方法是Java `String`类的一个成员。在...
在Java编程语言中,字符串处理是一项基础且重要的任务。标题提到的"Java检索字符串中是否存在某字符",实际上涉及到字符串的查找算法。这里主要讨论的是KMP(Knuth-Morris-Pratt)算法,这是一种高效的字符串匹配...
JAVA的字符串拼接与性能 概述:本文主要研究的是JAVA的字符串拼接的性能,原文中的测试代码在功能上并不等价,导致concat的测试意义不大。不过原作者在评论栏给了新的concat结果,如果有兴趣的同学建议自己修改代码...
本篇文章将深入探讨如何从字符串中提取括号内的内容,主要关注于基础的字符串操作、正则表达式以及如何利用这些工具来实现目标。 首先,我们要明白Java中的字符串是`String`类的对象,它提供了丰富的API用于字符串...
总之,Java中的字符串分解是一个基础且重要的概念,广泛应用于数据处理、日志分析、文本解析等场景。熟练掌握`split()`方法及其背后的正则表达式原理,对于提升Java编程能力非常有帮助。通过`StringDemo_13.java`...
### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...
在Java编程语言中,分割字符串是一项常见的操作,它允许我们将一个长字符串分解成多个子字符串,每个子字符串对应原字符串中的某一部分。这通常通过使用`split()`方法来实现,该方法是`String`类的一个实例方法。让...
java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃
本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式的字符串数据。 首先,我们要讨论的是字符串解析。在Java中,我们可以使用`String`类提供的方法或正则表达式来实现...
它们允许在原有对象的基础上进行字符串操作,而不需要每次都创建新对象。 - **效率**:在多线程环境中,推荐使用`StringBuffer`,因为它对同步进行了优化。而在单线程环境中,`StringBuilder`由于没有同步开销,...
java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字转换为中文大写,在输出字符串java将字符串中数字...
在Java中生成随机字符串是一项基础而重要的任务,不同的应用场景可能需要选择不同的方法。通常情况下,对于普通应用,使用`java.util.Random`就足够了;而对于安全性要求较高的场景,则推荐使用`java.security....
1. **字符串基础** - Java中的字符串是不可变的,这意味着一旦创建了字符串对象,就不能更改其内容。这由`final`关键字确保,提高了线程安全性。 - 创建字符串的方式有两种:通过字面量(如`String str = "Hello"`...
### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...
在Java编程中,验证字符串是否符合JSON(JavaScript Object Notation)格式是一项常见的任务,尤其是在进行前后端数据交互时。JSON是一种轻量级的数据交换格式,它允许数据以键值对的形式存储,易于人阅读和编写,...
在Java编程语言中,处理字符串是非常常见的操作,尤其是在涉及到文本分析和处理的场景。本文将深入探讨如何在Java中进行中文字符的判断和计数,这主要基于Java的Unicode编码特性以及字符集的理解。 首先,我们需要...