JAVA 基本运算符(摘)
(搞自:Java經(jīng)典入門教程)
http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyLwuWChpWiYC3hQhzpws5fV2fuH-k1zp4iXh6AFVkpibvtDfLpBvwp1tC
六:運算符
1:算術(shù)運算
算術(shù)運算是指:+、-、*、/ 等基本運算
需要注意的是:
%是求mod運算;
整數(shù)的除法要小心:
5/2 = 2 // 不是 2.5
2:比較運算
比較運算是指:>、<、>=、<=、==、!= 等類似運算
需要注意的是:
字符可以比較大小;(用它們的ascii 碼,化為整數(shù))
小心浮點數(shù)的相等比較
instanceof也是一個比較運算,用來判斷一個對象是否屬于某個類。(以后介紹)
==運算中,對于基本類型是比較的“內(nèi)容”,而對于引用類型,比較的是地址。(小心)
3:邏輯運算
運算符&& (定義為“與”)和||(定義為“或”)執(zhí)行布爾邏輯表達式。請看下面的例子:
MyDate d = null;
if ((d != null) && (d.day() > 31)) {
// 利用d 執(zhí)行些什么
PDF 文件使用 "pdfFactory Pro" 試用版本創(chuàng)建www.fineprint.cn
Java私塾跟我學(xué)系列——JAVA 篇網(wǎng)址:http://www.javass.cn 電話:010-86835215
}
形成if ()語句自變量的布爾表達式是合法且安全的。這是因為當(dāng)?shù)谝粋€子表達式是假
時,第二個子表達式被跳過,而且當(dāng)?shù)谝粋€子表達式是假時,整個表達式將總是假,所以不
必考慮第二個子表達式的值。類似的,如果使用||運算符,而且第一個表達式返回真, 則
第二個表達式不必求值,因為整個表達式已經(jīng)被認(rèn)為是真。
4:++、---運算
++運算相當(dāng)于:運算的變量加1,如:x++ 等同于x=x+1;
--運算恰好相反,相當(dāng)于運算的變量減1
注意:x++ 和 ++x 并不是一回事情。x++是先使用,然后再加;++x是先加然后再使用。
5:=賦值運算
x=5 相當(dāng)于把5 這個值賦給變量x
6:位運算
位邏輯運算符(Bitwise Logical Operations)。
算術(shù)邏輯運算符&(與),|(或),~(補碼Complement),^(異或);
位運算示例
7:移位運算
Java 編程語言提供了兩種右移位運算符和一種左移運算符,右移一位( >> )相對于
除以2:左移( <<)相對于乘以2。
(1):運算符>>進行算術(shù)或符號右移位。移位的結(jié)果是第一個操作數(shù)被2的冪來除,而
指數(shù)的值是由第二個數(shù)給出的。例如:
128 >> 1 gives 128/21 = 64
256 >> 4 gives 256/2
4
= 16
-256 >> 4 gives -256/2
4
= -16
(2):邏輯或非符號右移位運算符>>>主要作用于位圖,而不是一個值的算術(shù)意義;它
總是將零置于符號位上。例如:
1010 ... >> 2 gives 111010 ...
1010 ... >>> 2 gives 001010 ...
在移位的過程中, >>運算符使符號位被拷貝。
PDF 文件使用 "pdfFactory Pro" 試用版本創(chuàng)建www.fineprint.cn
Java私塾跟我學(xué)系列——JAVA 篇網(wǎng)址:http://www.javass.cn 電話:010-86835215
(3):運算符<<執(zhí)行一個左移位。移位的結(jié)果是:第一個操作數(shù)乘以2 的冪,指數(shù)的值
是由第二個數(shù)給出的。例如:
128 << 1 gives 128*21 = 256
<<2 gives 16*22 =64
(4):負(fù)數(shù)等于正數(shù)取反加一。
示例:
注意:
(1):移位運算符將它們右側(cè)的操作數(shù)模32簡化為int類型左側(cè)操作數(shù), 模64簡化為long
類型右側(cè)操作數(shù)。因而, 任何int x, x >>> 32 都會導(dǎo)致不變的x 值, 而不是你可能預(yù)計的
零。
(2):值得稱贊的重要一點是: >>>運算符僅被允許用在整數(shù)類型, 并且僅對int 和long
值有效。如果用在short或byte值上, 則在應(yīng)用>>>之前, 該值將通過帶符號的向上類型轉(zhuǎn)
換被升級為一個int。有鑒于此,無符號移位通常已成為符號移位。
8:用加號(+)進行串鏈接
運算符 + 能夠進行String 對象的鏈接并生成一個新的String:
String salutation = "Dr. ";
String name = "Jack " + "Arthur";
String title = salutation + name;
最后一行的結(jié)果是:
Dr. Jack Arthur
如果+運算符中有一個自變量為String 對象,則其它自變量將被轉(zhuǎn)換成String。所有
對象都可被自動轉(zhuǎn)換成String,盡管這樣做的結(jié)果可能是意義含糊的。不是串的對象是通
過使用toString() 成員方法而轉(zhuǎn)換成串的等價物的。
9:三目運算?:
三目運算符?:表達的是:判斷問號前面的條件表達式是否為真,如果為真,返回冒號前
面的值,否則返回冒號后面的值。
例如:
PDF 文件使用 "pdfFactory Pro" 試用版本創(chuàng)建www.fineprint.cn
Java私塾跟我學(xué)系列——JAVA 篇網(wǎng)址:http://www.javass.cn 電話:010-86835215
public class Test {
public static void main(String[] args) {
int i = (5>3) ? 6 : 7;
System.out.println("the i="+i);
}
}
運行結(jié)果為:the i=6
其實三目運算符的基本功能相當(dāng)于if-else(馬上就要學(xué)到了),使用三目運算符是因為
它的表達比相同功能的if-else更簡潔。上面的例子改成用if-else表達如下:
public class Test {
public static void main(String[] args) {
int i = 0;
if (5 > 3) {
i = 6;
} else {
i = 7;
}
System.out.println("the i=" + i);
}
}
運行結(jié)果為:the i=6
總結(jié)
以上是生活随笔為你收集整理的JAVA 基本运算符(摘)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EIG集团简单介绍
- 下一篇: bitmap文件格式分析