官术网_书友最值得收藏!

3.1.2 關系運算符

前面在2.2.2小節中提到,Java編程中的等號“=”表示賦值操作,并非數學上的等于的意思。Java通過等式符號“==”表示左右兩邊相等,對應數學的等號“=”;通過不等符號“!=”表示左右兩邊不等,對應數學的不等號“≠”。

可是一個等式真的就一定成立嗎?譬如半斤八兩這個成語,用Java等式改寫的話變為“半斤==八兩”。話說當年秦始皇統一中國,不但推行“書同文、車同軌”,而且制定了重量單位的換算標準,當時規定16兩為一斤,從此沿用了兩千多年。直到公元1959年,為了與國際接軌,中國發布了《關于統一計量制度的命令》,正式將稱重計量定為10兩為一斤。那么在1959年之前,“半斤==八兩”這個等式是成立的;而在1959年之后,“半斤==八兩”是不成立的。

為了區分某個式子成立和不成立的情況,Java把“==”看作是一種特殊的運算符號。凡是運算符都會得到運算結果,等式符號“==”也不例外,它的運算結果為布爾類型,值為true時表示這個等式成立,值為false時表示這個等式不成立。不等符號“!=”的運算結果與之類似,結果為true時表示不等式成立,為false時表示不等式不成立。下面是等式符號“==”和不等符號“!=”的運算代碼例子,可以體會一下七上八下的返回結果(完整代碼見本章源碼的src\com\control\logic\Relation.java):

    int seven=7;
    int eight=8;
    //數學的等號“=”對應Java的“==”符號
    boolean equal=seven==eight;  //結果為真表示等式成立,為假表示等式不成立
    System.out.println("equal="+equal);
    //數學的不等號“≠”對應Java的“!=”符號
    boolean not_equal=seven!=eight;  //結果為真表示不等式成立,為假表示不等式不成立
    System.out.println("not_equal="+not_equal);

除了等號和不等號外,數學上還有其他比較數字大小的符號,包括大于號“>”、小于號“<”、大于等于號“≥”、小于等于號“≤”等。Java也提供了對應的判斷符號,如運算符“>”表示大于,運算符“<”表示小于,運算符“>=”表示大于等于,運算符“<=”表示小于等于。這些大小判斷符號同樣擁有布爾類型的運算結果,因此通過甄別結果值為true還是false,即可判定大小比較的式子是否成立。下面是如何使用大于、小于符號的演示代碼:

    boolean greater=seven>eight;  // 數學的大于號“>”對應Java的“>”符號
    System.out.println("greater="+greater);
    boolean less=seven<eight;  // 數學的小于號“<”對應Java的“<”符號
    System.out.println("less="+less);
    boolean greater_and_equal=seven>=eight; //數學的大等號“≥”對應Java的“>=”符號
    System.out.println("greater_and_equal="+greater_and_equal);
    boolean less_and_equal=seven<=eight;  //數學的小等號“≤”對應Java的“<=”符號
    System.out.println("less_and_equal="+less_and_equal);

以上判斷相等關系的兩種運算符,加上判斷大小關系的4種運算符,統稱為“關系運算符”。這6種關系運算符與數學符號的對照關系見表3-1。

表3-1 大小關系的判斷符號對照

主站蜘蛛池模板: 鄂尔多斯市| 连云港市| 壶关县| 东方市| 乌拉特后旗| 平武县| 闻喜县| 桓台县| 安陆市| 甘孜县| 神木县| 沽源县| 安徽省| 瑞昌市| 莱阳市| 启东市| 新乡市| 平原县| 平邑县| 民县| 栖霞市| 土默特右旗| 饶河县| 南通市| 石屏县| 叙永县| 东兴市| 辽源市| 德令哈市| 绥江县| 南和县| 延长县| 沾益县| 石门县| 南华县| 汾阳市| 鹤壁市| 通渭县| 平阳县| 福泉市| 镇沅|