1. 程式人生 > >+號是運算符還是連接符 ?

+號是運算符還是連接符 ?

觀察 all inf out java 連接 bsp 程序 .com

實現下面程序,觀察結果

int X=100;

int Y=200;

System.out.println("X+Y="+X+Y);

System.out.println(X+Y+"=X+Y");

結果卻是

技術分享圖片

原因:

在Java中,+有時是運算符,有時是連接符

1)當左右兩邊連接的都是非數字型時,則為連接符。

2)當一邊是數值類型,另一邊是非數值類型時,則為連接符。

3)當兩邊都是數值類型時,則為運算符,即相加求和的作用

System.out.println(str)其本身輸出的就是字符串,而根據運算符的優先級規則,

System.out.println("X+Y="+X+Y);語句則是輸出字符串X(100)之後再次輸出字符串Y(200),故該語句的輸出結果為X+Y=100200;

而System.out.println(X+Y+"=X+Y");語句則是先將字符串X和Y轉化為ASCALL碼,然後相加輸出相加之後的結果300,故輸出結果為300=X+Y。

+號是運算符還是連接符 ?