- 零基礎學Java程序設計
- 祝明慧編著
- 1335字
- 2022-05-06 19:56:02
3.2.1 算術運算

算術運算是基本的數值處理方式,如加法、減法、乘法、除法。為了完成這類運算,Java語言提供了加法、減法、乘法、除法、取余5種運算符。它們被統稱為算術運算符。其名稱及功能如表3.3所示。
表3.3 算術運算符的名稱及功能

1.算術運算表達式
使用算術運算符連接起來的表達式稱為算術運算表達式。其語法形式如下:

所有的算術運算表達式都需要兩個操作數。因此,其中的“算術運算符”是二元運算符(雙目運算符)。如果“操作數”是小數,表達式的類型為雙精度類型;如果是整數,則對應的是整數類型。
2.加、減、乘法運算
在Java語言中,數值可以分為整數和小數。其整數的加、減、乘法運算和日常生活中的運算方式是一樣的。
【示例3-4】下面將使用算術運算符+、-、*分別獲取兩個數的和、差、積。代碼如下:

運行結果如下:

其小數的加、減、乘法運算和日常生活中的運算方式也是一樣的。
在進行運算時,需要注意數值范圍,尤其是乘法運算。一旦超出范圍后,得到的結果就不是預期的結果了,如以下代碼:

運行結果如下:

在此代碼中,兩個整型數值相乘得到的結果超出了整型的范圍。此時,將會得到一個錯誤的結果。
3.除法運算
在除法運算中,如果操作數是整數,將按照數學中的整除方式進行運算。
【示例3-5】下面將計算50除以6。代碼如下:

運行結果如下:

由于整數除法是整除運算,所以要獲取小數,必須把整數寫為小數。
在Java語言中,小數的除法運算和日常生活中的除法運算方式是一樣的。
【示例3-6】下面將計算50.0/6.0。代碼如下:

運行結果如下:

進行小數運算后,輸出時會涉及精度問題。這時,程序員可以根據需求,對輸出的小數點后的精確位數進行指定。這時,需要使用printf()中的%f占位符。在這個占位符中,可以指定輸出小數總的位數及小數點后的精確位數。如果位數不夠,將使用空格表示,形式如圖3.3所示。

圖3.3 占位符的格式
注意:程序員可以只指定輸出的總位數,也可以只指定小數點后的精確位數。
【示例3-7】下面將進行除法運算,數值總的輸出位數為4,小數點后為2位。代碼如下:

運行結果如下:

在數學運算中,除數不能為0。但是在Java語言中,除數可以是0。針對這種情況,Java語言提供了3個特殊值,分別為NEGATIVE_INFINITY、POSITIVE_INFINITY和NaN,如表3.4所示。
表3.4 特殊值

【示例3-8】下面將分別使用10.2、-10.2和0.0除以0。代碼如下:

運行結果如下:

注意:在表3.4中顯示的是書寫時的值,而示例3-8的運行結果是輸出的值。它們的對應關系如下:NEGATIVE_INFINITY對應Infinity;POSITIVE_INFINITY對應-Infinity;NaN對應NaN。
4.取余運算
取余運算用來計算兩個數值在整除過程中的余數。Java語言使用取余運算符(%)實現取余運算。當兩個操作數是正整數時,取余運算和日常生活中的運算方式是一樣的。
【示例3-9】下面將計算兩個數整除后的余數。代碼如下:

運行結果如下:

注意:在此代碼的輸出字符串中,使用兩個%來表示一個取余運算符。這是因為如果是一個%的話,計算機會當成輸出格式處理,所以會輸出以下錯誤信息:

如果操作數存在負數,Java語言會首先按照正值計算余數,然后將第一個操作數的符號添加給余數。
【示例3-10】下面將實現負數的取余操作。代碼如下:

運行結果如下:

在Java語言中,不僅可以對整數進行取余,還可以對小數進行取余。當兩個操作數是小數時,取余運算后的結果也是小數。
【示例3-11】下面將實現3.7被1.2取余。代碼如下:

運行結果如下:

小數的正/負號問題,和整數的正/負號是一樣的。
- Android應用程序開發與典型案例
- Instant Apache Stanbol
- Mastering Objectoriented Python
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(高級進階篇)
- 用戶體驗增長:數字化·智能化·綠色化
- Learning FuelPHP for Effective PHP Development
- Java零基礎實戰
- C指針原理揭秘:基于底層實現機制
- 黑莓(BlackBerry)開發從入門到精通
- Drupal 8 Development Cookbook(Second Edition)
- 零基礎學Java第2版
- C++17 By Example
- VMware vSphere 5.5 Cookbook
- JavaWeb從入門到精通(視頻實戰版)
- Visual C++實用教程