2013-07-22 25 views
0

道歉,因爲我敢肯定,這是一個愚蠢的問題,但是...字符串初學者:CONCAT從不同的原語

請任何人都可以向我解釋爲什麼這個:

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真正的」

這是從的Intera在線java教程在http://www.learnjavaonline.org/

謝謝!

Neil。

回答

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蜇可變

+0

哦我明白了,非常感謝你的幫助! – nscoppin

+0

這是我的榮幸 – n8coder