【Java】字符拼接成字符串的注意点

您所在的位置:网站首页 字符和字符相加怎么算 【Java】字符拼接成字符串的注意点

【Java】字符拼接成字符串的注意点

2024-06-11 19:45| 来源: 网络整理| 查看: 265

字符与字符串相加的小秘密:

该段代码主要是:先产生的几个整数,把整数转换成对应的字符,最后的字符拼接成字符串,在把字符拼接成字符串的时候,个人因为偷懒使用+号进行操作,出现了一点小惊喜。拼接以后出现了两种不同的结果,感到十分的意外,所以分析了一下出现的结果,记录一下。

复制代码

1 package top.supertd.www; 2 3 import java.util.concurrent.ThreadLocalRandom; 4 5 public class TestString { 6 public static void main(String[] args) { 7 8 //获取一个产生随机数的类 9 ThreadLocalRandom random = ThreadLocalRandom.current(); 10 //因为大写字母A~Z对应的ASCII码为65~90,所以生成这样的随机数, 11 //字符和对应的ASCII码(整数)可以互相转换 12 char a = (char) random.nextInt(65, 90); 13 char b = (char) random.nextInt(65, 90); 14 char c = (char) random.nextInt(65, 90); 15 //把三个字符拼接成一个字符串 16 System.out.println(a + b + c + ""); 17 18 System.out.println("" + a + b + c); 19 } 20 }

复制代码 出乎意料的是,最后产生了两种结果:

234 UGN

咦?!第一个输出结果居然是数字,是不是很神奇啊,这是为什么吗?到底发生了什么呀?

经过对结果的分析可知: 在第一个输出中,前三个字符相加,并不是简单的执行字符和字符之间的连接操作,而是把字符对应的ASCII值相加了起来,最后在和 “” 这个空字符串相加,这时候才是执行的字符串连接的操作,ASCII值变成了字符串,导致最后输出的是“234”。 在第二个输出中,"“直接和第一个字符连接操作,变成一个新的字符串"U”,这个字符串再和后面的字符相加时,后面的字符转化成了字符串,和前面的字符串拼接在一起,变成一个新的字符串。以此类推,最后得到了字符串"UNG"。

综上所述,单个字符之间相加时,系统会把其对应的ASCII值相加起来,并不会把字符变成字符串,一个字符串和一个字符相加时,字符转化成字符串,两个字符串进行拼接操作。字符串和多个字符之间用加号连接时,应多加注意字符的位置。

转载自:https://www.cnblogs.com/tudou1179006580/p/9270569.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3