java的运算符
運算符就是在用變量或常量進行運算時,經常需要用到的符號,目前常用的有10種:
算術運算符、關系運算符、邏輯運算符、位運算符、移位運算符、賦值運算符、三元運算符、逗號運算符、字符串運算符、轉型運算符。
常用運算符列表
算術運算符
這里可以理解為加減乘除余,主要的不同之處就是數字精度問題和加號的擴展
在不同類型的數據之間進行運算時,為了使結果更加精確,系統會將結果自動轉化為精度更高的數據類型(eg:int a=6; float b=6f; 那么a+b的結果就是12.0)。
這里的規律就是:
使用運算符把兩個操作數結合在一起的時候,首先會將2個操作數轉化成相同類型的數據。
轉化的優先順序為double-->float--->long,如果上面三個都沒有就默認為int(這個就是2個數據中有一個是double結果是double類型,沒有double,有一個是float 結果就會使float類型,這里另一個的數據類型只要沒有這個高,結果就會和這個數據類型一致)
加號的擴展
就是他的功能不限于算術運算,還有字符串的連接,“a”+“b”得到的結果“ab”
算術運算還包含自加(++) 和自減(--)
++a 先加后用?????? a++先用后加
--a先減后用????????? a-- 先用后減
關系運算符 關系運算符值得是兩個操作數之間的關系包括 >,<,>=,<=,==,!=, 注意:算術運算符的結果都是數字,而關系運算符的結果這是布爾類型數據。
邏輯運算符 邏輯運算符共有3中非,與,或, 非 的符號是! 原理:這個是否定運算 與 的符號是&& 原理:兩個操作數只要有一個是false那么結果就是false,兩個操作數都是true結果才是true 或 的符號是||??? 原理:兩個操作數只要有一個是true,那么結果就是true,否則結果就是false
位運算符 位運算符主要針對二進制進行運算,它包括與,非,或,異或,表面上看有點像邏輯運算符,但是邏輯運算符是針對兩個關系運算符來進行邏輯運算,而為運算符 主要針對兩個二進制數的位進行運算。 與運算符的符號& 規律:兩個操作數中位都是1時,結果才為1,否則結果為0? eg: int a=129; int b=128 輸出結果a&b 的結果 ,看到是為運算先把a和b都換成2進制 129---10000001,128---10000000, 根據規律 這2個也只有第一位都為1 那么他們的結果為1000000 他們的結果也就是128, 或運算的符號| 規律:兩個只要有一個為1 ,那么結果就是1否則為0, 假如剛才的輸出結果是a|b那么結果輸出就是129, 非運算的符號~ 規律 :如果位為0結果為1,如果位為0結果為1 異或運算符的符號^ 規律 :兩個操作數的位中,相同結果為0,不同結果為1。
移位運算符
移位運算符也是針對二進制的位,主要包括左移位運算符<<,右移位運算符>>,無符號右移運算符>>>, 左移的規律:向左移動n位,就相當于乘上2的n次方, 右移的規律:向右移動n位,就相當于除以2的n次方,
賦值運算符 a+=b ---->a=a+b a-=b------>a=a-b 其他的以此類推
三元運算符 三元運算符的表達式 布爾表達式?值0:值1 其運算過程若果布爾值位是true 返回值0,如果布爾值位false 返回值1。
轉型運算符 轉型運算符就是將一種類型的對象或數據,經過強制轉換而轉變為另一種類型的數據。
基本類型數據轉換序列
byte------>short(char)------>int------->long------>float------>double
關系運算符 關系運算符值得是兩個操作數之間的關系包括 >,<,>=,<=,==,!=, 注意:算術運算符的結果都是數字,而關系運算符的結果這是布爾類型數據。
邏輯運算符 邏輯運算符共有3中非,與,或, 非 的符號是! 原理:這個是否定運算 與 的符號是&& 原理:兩個操作數只要有一個是false那么結果就是false,兩個操作數都是true結果才是true 或 的符號是||??? 原理:兩個操作數只要有一個是true,那么結果就是true,否則結果就是false
位運算符 位運算符主要針對二進制進行運算,它包括與,非,或,異或,表面上看有點像邏輯運算符,但是邏輯運算符是針對兩個關系運算符來進行邏輯運算,而為運算符 主要針對兩個二進制數的位進行運算。 與運算符的符號& 規律:兩個操作數中位都是1時,結果才為1,否則結果為0? eg: int a=129; int b=128 輸出結果a&b 的結果 ,看到是為運算先把a和b都換成2進制 129---10000001,128---10000000, 根據規律 這2個也只有第一位都為1 那么他們的結果為1000000 他們的結果也就是128, 或運算的符號| 規律:兩個只要有一個為1 ,那么結果就是1否則為0, 假如剛才的輸出結果是a|b那么結果輸出就是129, 非運算的符號~ 規律 :如果位為0結果為1,如果位為0結果為1 異或運算符的符號^ 規律 :兩個操作數的位中,相同結果為0,不同結果為1。
移位運算符
移位運算符也是針對二進制的位,主要包括左移位運算符<<,右移位運算符>>,無符號右移運算符>>>, 左移的規律:向左移動n位,就相當于乘上2的n次方, 右移的規律:向右移動n位,就相當于除以2的n次方,
賦值運算符 a+=b ---->a=a+b a-=b------>a=a-b 其他的以此類推
三元運算符 三元運算符的表達式 布爾表達式?值0:值1 其運算過程若果布爾值位是true 返回值0,如果布爾值位false 返回值1。
轉型運算符 轉型運算符就是將一種類型的對象或數據,經過強制轉換而轉變為另一種類型的數據。
基本類型數據轉換序列
byte------>short(char)------>int------->long------>float------>double
總結
- 上一篇: java中标识符,关键字,数据类型
- 下一篇: java流程控制语句