1. 程式人生 > >打印出不同順序的字串&單引號和雙引號的差異

打印出不同順序的字串&單引號和雙引號的差異

發現一個很好玩的列印順序

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。

這樣的結果是不是很有趣?