字符串基礎類型拓寬的操作,轉換成整數值

測試代碼:

package basic;

public class basicStudy {

	public static boolean oddOrNot(int num) {
		return (num & 1) != 0; // return (num & 0x1) != 0;
		}
	
	private static void oddTest(){
		System.out.println(oddOrNot(1));
		
		System.out.println(oddOrNot(2));
		
		System.out.println(oddOrNot(3));
		
		System.out.println(oddOrNot(-1));
		
		System.out.println(oddOrNot(-4));
	}
	
	/* 看起來這段代碼會返回"HaHa",但實際返回的是Ha169。原因就是用了雙引號的時候,
	 * 字符會被當作字符串處理,而如果是單引號的話,字符值會通過一個叫做基礎類型拓寬的操作來轉換成整型值。
	 * 然後再將值相加得到169。
	 * */
	 
	private static void quote() {
	      System.out.println("H" + "a" );
	      System.out.println('H' + 'a');
	}
	
	public static void main(String[] args) {
		oddTest();
		quote();
	}
}

輸出:

true
false
true
true
false
Ha
169
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章