日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

java第三課 運算符和表達式

系統(tǒng) 3021 0
運算符和表達式
ˉ 基本概念
運算符 :用于標記對數(shù)據(jù)執(zhí)行某種運算的特定符號 。
操作數(shù) :參加運算的數(shù)據(jù)稱為運算對象(操作數(shù))。
分類
按運算符的功能,將運算符分為:算術運算符、關系運算符、邏輯運算符、位運算符等
按參與運算的操作數(shù)的個數(shù),將運算符分為:單目運算符、雙目運算符、三目運算符
表達式 :若干操作數(shù)(operand)和運算符(operator)按照約定規(guī)則構(gòu)成的一個序列 。
ˉ 算術運算符
加運算符+:連接兩個字符串。例如,“abc”+12的結(jié)果為“abc12”;”abc”+1+2= ? “abc”+(1+2)= ?
Java語言既可對整數(shù)取模,也可以對小數(shù)取模。例如,16.2%5=1.2
char類型的數(shù)據(jù)可以進行算術運算,而boolean類型的數(shù)據(jù) 不能 進行算術運算。
++(--)運算符的操作數(shù)必須是變量,不能是常量或表達式 。++i 或者 i++ (注意兩者的區(qū)別)
ˉ 關系運算符
關系運算符用于判斷兩個操作數(shù)的等價性和大小關系,得到的結(jié)果為 布爾類型 ,取值為true或false。常用于邏輯判斷(if語句或循環(huán))。
例3.2 關系運算符的使用。
ˉ 邏輯運算符
邏輯運算符可以對boolean類型數(shù)據(jù)進行邏輯上的“與”、“或”、“非”、“異或”等運算,結(jié)果仍為boolean類型,通常用于程序的流程控制。邏輯運算符 &(&&)、|(||)、!
注意:運算符(&、|)和運算符(&&、||)的 區(qū)別
ˉ 位運算符
位運算符用來對整型(byte、short、int、long)或字符型(char)數(shù)據(jù)二進制位進行操作,結(jié)果為一個整數(shù)。
~(按位取反)
格式: ~a
功能:將操作數(shù)a中的二進制位由1變0,由0變1。
例如:int x=2; ~x=?
&(按位相與)
格式:a & b
功能:兩個操作數(shù)的相應位都為1,則該位為1,否則為0。 例如, int x=2,y=7; x & y = ?
|(按位相或)
格式:a | b
功能:兩個操作數(shù)的相應位中有一個為1,則該位的結(jié)果為1。例如,int x=5,y=8; x | y = ?
^(按位相異或)
格式:a ^ b
功能:兩個操作數(shù)的相應位相異,則該位的結(jié)果為1,否則為0。例如,int x=5,y=8; x ^ y = ?
>>(按位右移)
格式:a >> b
功能:將a右移b位,右端的低位被舍棄,左端高位補原來的符號位 。例如,byte x=-6;x >>2 = ?
<<(按位左移)
格式:a << b
功能:將a左移b位,右端的低位補0,左端的高位被舍棄。例如,byte x=-6;x << 2 = ?
>>>(無符號右移)
格式:a >>> b
功能:將a右移b位,右端的低位被舍棄,左端的高位補0。例如,byte x=-6;x >>> 2 = ?
注意:移位運算時真正的移位位數(shù)不一定是指定的b位。當a為int型(或byte、short、char型)時,系統(tǒng)會先將b對32取模,得到的結(jié)果才是真正移位的位數(shù),而當a為long型時,系統(tǒng)先將b對64取模,得到的結(jié)果作為真正的移位位數(shù)。

例3.5 位運算的綜合應用。
分析:方法getOneBit()可以返回參數(shù)num的第n-1位。
public int getOneBit(int num,int n){
int i=1 << (n-1);
int nb = num & i;
return nb >> (n-1);
}

ˉ 賦值運算符
格式:變量=表達式
double d = 7.8f; //合法
int a = 78L; //非法
int a = (int)78L; //合法
復合的賦值運算符
+= -= *= /= %= &= |= ^= >>= <<= >>>=
ˉ 條件運算符
格式:表達式1 ? 表達式2 :表達式3
需注意: 表達式1應是boolean類型的表達式;表達式2和表達式3的類型要一致。

ü 彈出輸入對話框,接收用戶輸入: JOptionPane.showInputDialog(s)
ü 將數(shù)字的字符串表示形式轉(zhuǎn)換為整數(shù):Integer.parseInt(s)
ü result = (score>=60) ? "及格" : "不及格"
System.out.println(result);
ˉ 表達式
表達式(expression)是由若干操作數(shù)(operand)和運算符(operator)按照約定規(guī)則構(gòu)成的一個序列。
運算符標明對操作數(shù)進行何種操作;
操作數(shù)可以是變量、常量或有返回值的方法調(diào)用等其他的表達式。
(a-b)/c+4 5>=a a>3 && a<10 10*max(a,b) a=10 100
ˉ 表達式中的數(shù)據(jù)類型轉(zhuǎn)換
自動類型轉(zhuǎn)換
當不同類型的常量和變量在表達式中混合使用時,它們最終將被轉(zhuǎn)換為同一類型,然后進行運算。為了保證精度,轉(zhuǎn)換從表示數(shù)的范圍較小的數(shù)據(jù)類型到表示數(shù)的范圍較大的數(shù)據(jù)類型。


強制類型轉(zhuǎn)換
格式:(目標數(shù)據(jù)類型)變量或表達式
例如,(float)5 / 9 * (f - 32)
注意:強制類型轉(zhuǎn)換時,由于目標數(shù)據(jù)類型的取值范圍小于待轉(zhuǎn)換數(shù)據(jù)類型的取值范圍,在轉(zhuǎn)換過程中會出現(xiàn)截斷,導致高位數(shù)據(jù)丟失或精度下降。
例3.8將32位整數(shù)65366強制轉(zhuǎn)換為byte型后,整數(shù)的高位被截掉,只剩下低8位,字節(jié)數(shù)據(jù)為86,導致數(shù)據(jù)丟失。








java第三課 運算符和表達式


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 三亚市| 墨脱县| 白河县| 台东市| 武鸣县| 泸州市| 普兰店市| 福安市| 庆阳市| 锦州市| 湾仔区| 麻阳| 金昌市| 瑞昌市| 保亭| 上思县| 成武县| 商丘市| 关岭| 瑞昌市| 和平县| 高阳县| 沅陵县| 桓仁| 方正县| 封丘县| 和硕县| 常熟市| 旬阳县| 邯郸市| 沛县| 松原市| 辽源市| 盘山县| 五家渠市| 铜梁县| 长寿区| 茶陵县| 富源县| 鹤山市| 历史|