a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 95|回复: 0

[其他] JAVA技巧:利用字符串连接巧妙解决问题

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
在应用轨范开发过程中,使用的最多的数据类型就是字符串 。在Java说话平台中也是如斯。为此把握字符串的措置技巧,无疑是一位数据库打点员必需要把握的手艺。笔者这里就给巨匠介绍若何操作字符串毗连来解决一些现实的问题。   一、 字符串毗连概述。
! S( O- E1 L. T3 R/ n% J8 y/ X  在编心暌功用轨范的时辰,我们往往需要将多个字符串毗连起来,来完成特定的功能。如斯刻有两个字符串变量,分袂为名字(变量名为name)和春秋(变量名为age)。此刻需要在屏幕上输出“我的名字是某某,春秋若干好多”这个字符串。这个语句该若何写呢?可以写为“我的名字是”+name+“,春秋为”+age。也就是说,在Java说话中,可以经由过程+号将多个字符串(搜罗变量)毗连成一个字符串。在屏幕上打印出来或者将其赋值给一个新的字符串变量。在进行这个字符串毗连的时辰,巨匠需要注重一点。也许有些轨范员以前学过其他的开发说话,如SQL说话等等。分歧的说话采用的字符串毗连字符是分歧的。如在SQL中采用的就是||符号。有时辰,在开发应用轨范的时辰,开发人员可能会同化。如在操作JAVA说话开发应用轨范,在代码中需冲要手SQL语句年夜数据库中发芽数据。此时就有可能在JAVA代码中和SQL代码中都要用到字符串毗连的情形(SQL代码中要将多个字段的内容毗连为一个字段)。因为两个代码所采用的毗连符号分歧,所以可能会搞错。
: q  I. M; {5 W  二、 操作字符串毗连解决分行问题。
+ t' @7 Q5 H( n* ^  ]7 V  在JAVA开发平台中,可以操作+号将多个字符串合并为一个字符串。不外在现实工作中,这个合并功能往往还可以辅佐系统开发人员解决一些棘手的问题。如按照语法划定,JAVA代码一一句相连的字符串不能够分隔在两行中书写。这是什么意思呢?如斯刻有一个字串斗劲长,为“我的名字叫萝卜,今年29岁,在宁波工作”。如不美观将这个字符串写在统一行的话,那么这一行会很长,年夜而影响代码的阅读。可是,笔者但愿其在屏幕上输出或者保留在文件中时,则是在统一行。在这种情形下,该若何措置呢?
1 n2 h* j% F( t/ o2 b  确实,这是应用轨范开发人员在轨范开发过程中经常碰着的一个问题。因为在书写代码时,一个好的轨范开发人员应该兼顾到其代码的美不美观,这有助于轨范开发人员阅读代码。事实下场有时辰需要多个轨范开发人员一同完成某个使命。而不能够只完成某个特定的功能就可以了。此时,为了代码的美不美观与更好的阅读性,有经验的轨范开发人员往往会操作这个+号毗连字符来措置这个分行的问题。# U$ t) K! X  z% {) w1 }
  因为对于长的字符串,JAVA代码不能够分为两行来写。否则的话,系统就会提醒语法错误。碰着这种情形时,为了提高阅读性,我们往往要求轨范开发人员把他们分为两行,同时操作加号将他们毗连起来。如下所示:- r% o' K7 I/ E
  “我的名字叫萝卜,今年29岁,”+
0 U  e- [5 j! ]' o' o  v; W& C& C  “在宁波工作”
0 {; u% Q9 H& Y- v. s( k( `: q0 }  也就是说,应用轨范开发人员可以使用+号将两个字符串毗连起来,然后在+号处换行,年夜而将两个字符串毗连起来。此时,JAVA编译器会认为这是正当的,许可轨范开发人员采用这个技巧来对字符串进行合理的分行。所以说,操作字符串毗连可以有用的解决分行问题。$ X/ L7 E! e* I% m% w
  三、 操作字符串毗连来实现数据类型的自动转换。
" T9 Z0 }1 l3 c! ]  在各类开发说话中,都有各类各样的数据类型。有时辰为了知足特定的需要,要对他们进行数据类型的转换。如需要将数字类型的数据转换为字符串类型的数据;再如将某个字符串“2432”转换为数值类型的数据。在JAVA说话的开发平台中,数据类型的转换有两种体例,分袂为隐式转换与显示转换。一般情形下,年夜初级数据类型向高级类型的转换,系统会自动进行转换,而不需要轨范员进行任何的手工操作或者指定。这个年夜初级数据类型向高级数据类型的转换,就叫做隐式转换。在对数据类型进行转换的时辰,轨范开发人员需要遵守严酷的轨则,否则的话轻易呈现错误。如年夜低精度数据类型向高精度数据类型转换的时辰,则永远不会发生溢出,凡是情形下城市成功。而如不美观把高精度数据类型转换为低精度数据类型的话,则就会发生溢犯错误,年夜而导致部门信息丢失踪,甚至无法正常转换。$ s6 }: G' a+ @0 N
  不外在JAVA开发平台中,除了以上这两种转换体例外,还有一种数据类型的转换体例。就是如不美观某个字符串和某个变量一路(这个变量可能是数值型的数据或者是日期型的数据)操作+号毗连起来时,系统会自动对这个变量进行转换,会将其转换为字符串数据类型,然后再与原先的字符串毗连起来。  n- h* h8 i$ S2 m. Y; t# U- p; g
  也就是说,字符串也可同其他根基数据类型进行毗连。如不美观将字符串同这些数据类型进行毗连时(如数值型的数据),会将这些数据直接转换成字符串。如膳缦沔阿谁例子中“我的名字是”+name+“,春秋为”+age这个字符串,age这个变量为数值型的数据,而其他为字符串的数据。此刻轨范开发人员就可以操作这个+号将分歧数据类型的字符串毗连起来。不外最后的数据类型城市字符串的数据类型。即系筒灰馊将变量age转换为字符型数据,然后再跟其他字符串数据类型进行毗连。那么在后台中,这到底是若何实现呢?如不美观在操作+号来进行毗连的时辰,如不美观某个变量不是字符串的数据类型,则系统回自动挪用一个toSring体例,将非字符串的数据类型转换成字符串的数据类型,再进行合并。因为这个过程是系统自动完成的,所以轨范开发人员需要出格的注重。一般来说,只要将+号运算符的一个操作数是字符串,编译器就会将另一个操作数转换成字符串形式。所以轨范开发人员应谨严地将其他数据类型与字符串相连,以免获写意想不到的结不美观。如将这个操作+号毗连起来的内容,如不美观其中有个操作数是字符型数据的话,那么将其赋值给数值型的变量时,就会导致莫名其妙的问题。这种问题很可能存在。因为这个+号,除了可以毗连字符串,还可以用来对数值型的数据进行四则运法运算。所以,在进行四则运法运算时,要确保各个操作数都是数值型的。否则的话,这个后不美观就可想而知了。) G3 x& \# D- I$ P8 ~
  此外需要再提一句的是,如不美观在进行加法运算时,需要注重其数据类型的隐式转换。如斯刻有三个操作数,其中两个操作数其小数点保留两位;此吐矣闽操作数其小数点保留为1位。而最后赋值给一个变量,其保留小数位数3位。这就是一个涉及到分歧精度的数据类型的数值型数据转换问题。那么最终的结不美观是什么呢?笔者这里卖个关,巨匠若想知道结不美观的话,可以回去编个轨范测试一下。有时辰,笔者告诉你们谜底,读者并不必然记得住。所以,笔者在这里就点倒为止。
4 d6 j% _$ p1 F7 r9 n  a0 Y6 K  总之一句话,+号这个毗连符号,不仅可以毗连各个字符串,而且还用来完成分行与数据类型的隐式转换。为此笔者建议,各个轨范开发人员需要注重这方面细节,必然能够获得不少的收成。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 11:30 , Processed in 0.152967 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表