廖雪峰Java1-2Java程序基础-3整数运算
生活随笔
收集整理的這篇文章主要介紹了
廖雪峰Java1-2Java程序基础-3整数运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.四則運算規則
int i =(100 + 200) * (99 -88);//3300int n = i + 9;//3309//除法結果為整數int q = n / 100;//33//除數為0時運行將報錯int x = n / 0;//拋出異常:Exception in thread "main" java.lang.ArithmeticException: / by zero1.2.++運算和--運算
i++是先訪問i然后再自增,而i++則是先自增然后再訪問i的值
int i = 0;int a = i++;int b = ++i;System.out.println(a);//0System.out.println(b);//21.3.簡寫的+=和-=
//取示例1中的n的值n += 100;//3409n -= 100;//3309//取余運算符%int m = n % 100;//91.4整數運算運算規則
- 計算結果溢出不報錯
- 計算結果是不正確的
解決方法:用范圍更大的整型。
2.移位運算
- 左移 <<
- 右移 >>
- 不帶符號右移 >>>
- byte和short會先轉換為int再進行移位
3.位運算
通常2個整數進行位運算,首先按位對齊,依次對每一位進行進行位運算。
3.1位運算 與運算& 2個都為1,結果為1
- 1 & 1 = 1, 1 & 0 = 0, 0 & 1 = 0,0 & 0 = 0
3.2或運算| 有1個為1,結果為1
- 1 | 1 = 1, 1 | 0 = 0, 0 | 1 = 0,0 | 0 = 0
3.3亦或運算^不相同結果為1
- 1 ^ 1 = 0, 1 ^ 0 = 1, 0 ^ 1 = 1,0 | 0 = 0
3.4非運算~
- ~ 1 = 0, ~ 0 = 1
具體過程參看下圖
4.運算優先級
記不住沒關系,直接加括號就是
5.類型自動提升與強制轉型
- 在運算過程中,計算結果為較大類型的整型
- 可以將結果強制轉型:(類型)變量或數值。
- 強制轉型可能丟失精度。long類型是64位,強制轉為int類型,會將高位拋棄。
6.總結:
- 整數運算結果永遠精確
- 運算結果會自動提升
- 可以強制轉型,但可能丟失精度
- 選擇合適范圍的整型(int, long)
轉載于:https://www.cnblogs.com/csj2018/p/10242045.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的廖雪峰Java1-2Java程序基础-3整数运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 练习题100例 (二十二
- 下一篇: python gif动态图的合成