打印出不同順序的字串&單引號和雙引號的差異
阿新 • • 發佈:2019-01-27
發現一個很好玩的列印順序
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); } }
執行結果:
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。
這樣的結果是不是很有趣?