Java操作符自测运算符精度
1,&和&&短路與和邏輯與的區(qū)別
邏輯與(&)和短路與(&&)在運(yùn)算上對條件的結(jié)果判斷不會產(chǎn)生影響,但會對條件判斷的運(yùn)算有影響。關(guān)鍵在于,邏輯與(&)在運(yùn)算時(shí)會連續(xù)運(yùn)算所有需要判斷的命令.但短路與當(dāng)遇到false時(shí)就會停止運(yùn)算。
二進(jìn)制運(yùn)算和邏輯運(yùn)算
a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型?
b.邏輯操作不會產(chǎn)生短路.運(yùn)算符||其中任何一個(gè)為true,則結(jié)果就返回true,不會執(zhí)行后面的操作了,這就叫短路。如: int a = 0; int b = 0;?
if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0.?
if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3。
2,a = a + b 與 a += b 的區(qū)別?
主要的區(qū)別是在運(yùn)算時(shí)精度的問題,當(dāng)然了-=、*=、/=,%=也都是一個(gè)道理
這兩種形式的主要區(qū)別在于是否進(jìn)行數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換,當(dāng)兩個(gè)操作數(shù)同類型時(shí)這兩種形式的運(yùn)算結(jié)果是沒有差別的,當(dāng)兩個(gè)操作數(shù)數(shù)據(jù)類型不同時(shí),且左操作數(shù)即保存結(jié)果的操作數(shù)的數(shù)據(jù)精度要低。
3,float的精度問題.強(qiáng)制類型轉(zhuǎn)換
3*0.1 == 0.3 將會返回什么?true 還是 false?false,因?yàn)橛行└↑c(diǎn)數(shù)不能完全精確的表示出來。浮點(diǎn)數(shù)的精度問題
float型float f=3.4是否正確 答案:不正確。原因:精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4 或float f = 3.4f
short s1 = 1; s1 = s1 + 1;有什么錯(cuò)?s1+1結(jié)果精度轉(zhuǎn)換為整形,整形不能賦值給short類型的s1
4、
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yunfeeling/p/8571088.html
總結(jié)
以上是生活随笔為你收集整理的Java操作符自测运算符精度的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 『TensorFlow』专题汇总
- 下一篇: 关于TextBox控件字体颜色绑定