初学者:从不同的原语中连接一个字符串

时间:2013-07-22 11:21:11

标签: string concat primitive

道歉,因为我确信这是一个愚蠢的问题,但是......

请有人向我解释原因:

public class java {
public static void main(String[] args) {
    byte zero = 0;
    short one = 1;
    int three = 3;
    long one2 = 1;
    float onepointnought = 1.0f;
    double onedotnone = 1.0;
    char letterh = 'H';
            char letterw = 'w';
            char letterr = 'r';
    char letterd = 'd';
            boolean bool = true;
    String output = letterh + three + one + one2 + zero + " " + letterw + zero + letterr + one + letterd + " " + (onepointnought+onedotnone) + " " + bool;
    System.out.println(output);
} }

正在输出:

77 w0r1d 2.0 true

我期待它说“H3ll0 w0r1d 2.0 true”

来自http://www.learnjavaonline.org/

的交互式在线java教程

谢谢!

尼尔。

1 个答案:

答案 0 :(得分:1)

在这句话中

String output = letterh + three + one + one2 + zero + " " + letterw + zero + letterr + one + letterd + " " + (onepointnought+onedotnone) + " " + bool;

letterh包含'H',其ASCII值为72&添加three + one + one2 + zero为5,因为它们是非字符串变量,因此它在结果中显示(72 + 5)77, 您必须将threeoneone2zero转换为sting变量