在应用程序开发过程中,使用的最多的数据类型就是字符串 。在Java语言平台中也是如此。为此掌握字符串的处理技巧,无疑是一位数据库管理员必须要掌握的技能。笔者这里就给大家介绍如何利用字符串连接来解决一些实际的问题。
一、 字符串连接概述。
在编写应用程序的时候,我们往往需要将多个字符串连接起来,来完成特定的功能。如现在有两个字符串变量,分别为名字(变量名为name)和年龄(变量名为age)。现在需要在屏幕上输出“我的名字是某某,年龄多少”这个字符串。这个语句该如何写呢?可以写为“我的名字是”+name+“,年龄为”+age。也就是说,在Java语言中,可以通过+号将多个字符串(包括变量)连接成一个字符串。在屏幕上打印出来或者将其赋值给一个新的字符串变量。在进行这个字符串连接的时候,大家需要注意一点。也许有些程序员以前学过其他的开发语言,如SQL语言等等。不同的语言采用的字符串连接字符是不同的。如在SQL中采用的就是||符号。有时候,在开发应用程序的时候,开发人员可能会混淆。如在利用JAVA语言开发应用程序,在代码中需要加入SQL语句从数据库中查询数据。此时就有可能在JAVA代码中和SQL代码中都要用到字符串连接的情况(SQL代码中要将多个字段的内容连接为一个字段)。由于两个代码所采用的连接符号不同,所以可能会搞错。
二、 利用字符串连接解决分行问题。
在JAVA开发平台中,可以利用+号将多个字符串合并为一个字符串。不过在实际工作中,这个合并功能往往还可以帮助系统开发人员解决一些棘手的问题。如根据语法规定,JAVA代码中一句相连的字符串不能够分开在两行中书写。这是什么意思呢?如现在有一个字串比较长,为“我的名字叫萝卜,今年29岁,在宁波工作”。如果将这个字符串写在同一行的话,那么这一行会很长,从而影响代码的阅读。但是,笔者希望其在屏幕上输出或者保存在文件中时,则是在同一行。在这种情况下,该如何处理呢?
确实,这是应用程序开发人员在程序开发过程中经常遇到的一个问题。因为在书写代码时,一个好的程序开发人员应该兼顾到其代码的美观,这有助于程序开发人员阅读代码。毕竟有时候需要多个程序开发人员一同完成某个任务。而不能够只完成某个特定的功能就可以了。此时,为了代码的美观与更好的阅读性,有经验的程序开发人员往往会利用这个+号连接字符来处理这个分行的问题。
由于对于长的字符串,JAVA代码不能够分为两行来写。否则的话,系统就会提示语法错误。遇到这种情况时,为了提高阅读性,我们往往要求程序开发人员把他们分为两行,同时利用加号将他们连接起来。如下所示:
“我的名字叫萝卜,今年29岁,”+
“在宁波工作”
也就是说,应用程序开发人员可以使用+号将两个字符串连接起来,然后在+号处换行,从而将两个字符串连接起来。此时,JAVA编译器会认为这是合法的,允许程序开发人员采用这个技巧来对字符串进行合理的分行。所以说,利用字符串连接可以有效的解决分行问题。
三、 利用字符串连接来实现数据类型的自动转换。
在各种开发语言中,都有各种各样的数据类型。有时候为了满足特定的需要,要对他们进行数据类型的转换。如需要将数字类型的数据转换为字符串类型的数据;再如将某个字符串“2432”转换为数值类型的数据。在JAVA语言的开发平台中,数据类型的转换有两种方式,分别为隐式转换与显示转换。一般情况下,从低级数据类型向高级类型的转换,系统会自动进行转换,而不需要程序员进行任何的手工操作或者指定。这个从低级数据类型向高级数据类型的转换,就叫做隐式转换。在对数据类型进行转换的时候,程序开发人员需要遵守严格的规则,否则的话容易出现错误。如从低精度数据类型向高精度数据类型转换的时候,则永远不会发生溢出,通常情况下都会成功。而如果把高精度数据类型转换为低精度数据类型的话,则就会发生溢出错误,从而导致部分信息丢失,甚至无法正常转换。
不过在JAVA开发平台中,除了以上这两种转换方式外,还有一种数据类型的转换方法。就是如果某个字符串和某个变量一起(这个变量可能是数值型的数据或者是日期型的数据)利用+号连接起来时,系统会自动对这个变量进行转换,会将其转换为字符串数据类型,然后再与原先的字符串连接起来。
也就是说,字符串也可同其他基本数据类型进行连接。如果将字符串同这些数据类型进行连接时(如数值型的数据),会将这些数据直接转换成字符串。如上面那个例子中“我的名字是”+name+“,年龄为”+age这个字符串,age这个变量为数值型的数据,而其他为字符串的数据。现在程序开发人员就可以利用这个+号将不同数据类型的字符串连接起来。不过最后的数据类型都会字符串的数据类型。即系统会先将变量age转换为字符型数据,然后再跟其他字符串数据类型进行连接。那么在后台中,这到底是如何实现呢?如果在利用+号来进行连接的时候,如果某个变量不是字符串的数据类型,则系统回自动调用一个toSring方法,将非字符串的数据类型转换成字符串的数据类型,再进行合并。由于这个过程是系统自动完成的,所以程序开发人员需要特别的注意。一般来说,只要将+号运算符的一个操作数是字符串,编译器就会将另一个操作数转换成字符串形式。所以程序开发人员应谨慎地将其他数据类型与字符串相连,以免得到意想不到的结果。如将这tb个利用+号连接起来的内容,如果其中有个操作数是字符型数据的话,那么将其赋值给数值型的变量时,就会导致莫名其妙的问题。这种问题很可能存在。因为这个+号,除了可以连接字符串,还可以用来对数值型的数据进行四则运法运算。所以,在进行四则运法运算时,要确保各个操作数都是数值型的。否则的话,这个后果就可想而知了。
另外需要再提一句的是,如果在进行加法运算时,需要注意其数据类型的隐式转换。如现在有三个操作数,其中两个操作数其小数点保留两位;另外一个操作数其小数点保留为1位。而最后赋值给一个变量,其保留小数位数3位。这就是一个涉及到不同精度的数据类型的数值型数据转换问题。那么最终的结果是什么呢?笔者这里卖个关,大家若想知道结果的话,可以回去编个程序测试一下。有时候,笔者告诉你们答案,读者并不一定记得住。所以,笔者在这里就点倒为止。
总之一句话,+号这个连接符号,不仅可以连接各个字符串,而且还用来完成分行与数据类型的隐式转换。为此笔者建议,各个程序开发人员需要注意这方面细节,一定能够获得不少的收获。