java的算術運算子

來源:互聯網
上載者:User

Java的基本算術運算子與其他大多數程式設計語言是相同的。其中包括加號(+)、減號(-)、除號(/)、乘號(*)以及模數(%,從整數除法中獲得餘數)。整數除法會直接砍掉小數,而不是進位。
Java也用一種簡寫形式進行運算,並同時進行賦值操作。這是由等號前的一個運算子標記的,而且對於語言中的所有運算子都是固定的。例如,為了將4加到變數x,並將結果賦給x,可用:x+=4。
下面這個例子展示了算術運算子的各種用法:

 

//: MathOps.java// Demonstrates the mathematical operatorsimport java.util.*;public class MathOps {  // Create a shorthand to save typing:  static void prt(String s) {    System.out.println(s);  }  // shorthand to print a string and an int:  static void pInt(String s, int i) {    prt(s + " = " + i);  }  // shorthand to print a string and a float:  static void pFlt(String s, float f) {    prt(s + " = " + f);  }  public static void main(String[] args) {    // Create a random number generator,    // seeds with current time by default:    Random rand = new Random();    int i, j, k;    // '%' limits maximum value to 99:    j = rand.nextInt() % 100;    k = rand.nextInt() % 100;    pInt("j",j);  pInt("k",k);    i = j + k; pInt("j + k", i);    i = j - k; pInt("j - k", i);    i = k / j; pInt("k / j", i);    i = k * j; pInt("k * j", i);    i = k % j; pInt("k % j", i);    j %= k; pInt("j %= k", j);    // Floating-point number tests:    float u,v,w;  // applies to doubles, too    v = rand.nextFloat();    w = rand.nextFloat();    pFlt("v", v); pFlt("w", w);    u = v + w; pFlt("v + w", u);    u = v - w; pFlt("v - w", u);    u = v * w; pFlt("v * w", u);    u = v / w; pFlt("v / w", u);    // the following also works for    // char, byte, short, int, long,    // and double:    u += v; pFlt("u += v", u);    u -= v; pFlt("u -= v", u);    u *= v; pFlt("u *= v", u);    u /= v; pFlt("u /= v", u);  }} ///:~

我們注意到的第一件事情就是用於列印(顯示)的一些快捷方法:prt()方法列印一個String;pInt()先列印一個String,再列印一個int;而pFlt()先列印一個String,再列印一個float。當然,它們最終都要用System.out.println()結尾。
為產生數字,程式首先會建立一個Random(隨機)對象。由於自變數是在建立過程中傳遞的,所以Java將目前時間作為一個“種子值”,由隨機數產生器利用。通過Random對象,程式可產生許多不同類型的隨機數字。做法很簡單,只需調用不同的方法即可:nextInt(),nextLong(),nextFloat()或者nextDouble()。
若隨同隨機數產生器的結果使用,模數運算子(%)可將結果限制到運算對象減1的上限(本例是99)之下。

1. 一元加、減運算子
一元減號(-)和一元加號(+)與二元加號和減號都是相同的運算子。根據運算式的書寫形式,編譯器會自動判斷使用哪一種。例如下述語句:
x = -a;
它的含義是顯然的。編譯器能正確識別下述語句:
x = a * -b;
但讀者會被搞糊塗,所以最好更明確地寫成:
x = a * (-b);
一元減號得到的運算對象的負值。一元加號的含義與一元減號相反,雖然它實際並不做任何事情。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.