【编程】89%的人不知道的字符拼接成字符串的注意点

简介: 【编程】89%的人不知道的字符拼接成字符串的注意点

【编程】89%的人不知道的字符拼接成字符串的注意点

这两天敲代码的时候,偶然间发现一个好玩的事情,分享一下,记录一下。

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

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

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

234
UGN

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

经过对结果的分析可知:

在第一个输出中,前三个字符相加,并不是简单的执行字符和字符之间的连接操作,而是把字符对应的ASCII值相加了起来,最后在和 "" 这个空字符串相加,这时候才是执行的字符串连接的操作,ASCII值变成了字符串,导致最后输出的是“234”。

在第二个输出中,""直接和第一个字符连接操作,变成一个新的字符串"U",这个字符串再和后面的字符相加时,后面的字符转化成了字符串,和前面的字符串拼接在一起,变成一个新的字符串。以此类推,最后得到了字符串"UNG"。

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

目录
相关文章
|
运维 Linux Windows
【帕鲁更新攻略】如何快速在阿里云上更新游戏服务端版本
幻兽帕鲁游戏服务端版本升级后,需要玩家同步更新才能继续游戏,您可以按照以下操作完成游戏服务端升级。
49836 840
【帕鲁更新攻略】如何快速在阿里云上更新游戏服务端版本
|
9月前
|
SQL 消息中间件 Serverless
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
​Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计
288 4
|
Ubuntu
Ubuntu22.04,AOSP编译报错: libncurses.so.5: cannot open shared object file: No such file
本文描述了在Ubuntu 22.04系统上编译AOSP时遇到的`libncurses.so.5`缺失错误,并提供了通过安装相应库解决该问题的步骤。
2550 0
ly~
|
开发框架 小程序 前端开发
抖音小程序的开发难度大吗?
抖音小程序的开发难度因人而异,主要取决于开发者经验、技能及功能需求。技术上需掌握前端技术及抖音开发框架,了解平台生态与规则;设计上需符合用户审美和习惯,具备创新性和实用性。此外,严格的审核标准和激烈的市场竞争增加了开发难度,开发者需制定有效推广策略并持续优化小程序以保持竞争力。
ly~
462 4
|
前端开发 JavaScript 定位技术
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
JavaScript 等待异步请求数据返回值后,继续执行代码 —— async await Promise的使用方法
359 1
|
自然语言处理 安全 搜索推荐
外贸企业邮箱精选:国内三大优质邮件服务推荐
该内容介绍了国内三大外贸企业邮箱:Zoho Mail、腾讯企业邮箱和阿里企业邮箱。Zoho Mail以其简洁界面、自定义域名、深度集成办公套件和高效邮件管理脱颖而出,同时具备高级安全特性。腾讯企业邮箱强调个性化定制和多平台同步,而阿里企业邮箱则结合阿里云生态提供智能协同办公和高可用性服务。这三款邮箱均针对企业需求提供了不同的优势和功能。
585 0
|
存储 缓存 监控
【Docker 专栏】Docker 容器性能调优实战
【5月更文挑战第8天】本文探讨了Docker容器的性能调优技巧,包括理解容器性能指标(如CPU、内存、网络和磁盘I/O)并进行相应调优。重点讲述了CPU和内存的限制设置,网络配置优化以及磁盘I/O性能提升方法。通过实例展示了如何解决高CPU使用率问题,强调了根据应用需求进行调优的重要性,以实现更高效、稳定的容器运行。
747 0
【Docker 专栏】Docker 容器性能调优实战
|
机器学习/深度学习 人工智能 算法
极智AI | 谈谈几种量化策略:MinMax、KLD、ADMM、EQ
大家好,我是极智视界,本文分享了 谈谈几种量化策略:MinMax、KLD、ADMM、EQ。希望我的分享能给你的学习带来一点帮助。
2385 0
|
JavaScript Linux iOS开发
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
1968 0
|
Java 网络安全 Maven
30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...(1)
30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...
403 0
30 个 IDEA 常用小技巧,应有尽有,让你的撸码效率直接起飞...(1)