打印出不同顺序的字符串&单引号和双引号的差异

发现一个很好玩的打印顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.liaojianya.chapter1;
/**
 * This program demonstrates the string.
 * @author LIAO JIANYA
 *
 */
public class CTest
{
    public static void main(String[] args)
    {
        int x = 5;
        int y = 6;
        System.out.println(x + y + 'a');
        System.out.println(x + y + "a");
        System.out.println("a" + x + y);
        System.out.println(6 + 6 + "aa" + 6 + 6);
    }
 
}

  运行结果:

1
2
3
4
108
11a
a56
12aa66

 第一个单引号的a直接将其对应于ASCII中的97数值,所以5+6+97=108.

   第二个双引号,在5+6=11后,a是字符串,所以整型11被转换为字符串“11”,通过加号连接符构成新的字符串“11a”

 第三个,由于“a”在最前面,所以后面的5和6都直接转换成字符串来跟前面的a相连接,所以打印出a56

 第四个,字符串aa在中间,前面的6+6做整型数值运算,变成12,后者的6+6是跟在“aa”后面,所以转换为字符串来处理,所以最后打印12aa66。

这样的结果是不是很有趣? 

posted @   Andya_net  阅读(392)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示