返回介绍

3.1.3 算术运算符

发布于 2024-10-15 23:56:12 字数 2369 浏览 0 评论 0 收藏 0

Java 的基本算术运算符与其他大多数程序设计语言是相同的。其中包括加号(+)、减号(-)、除号(/)、乘号(*)以及模数(%,从整数除法中获得余数)。整数除法会直接砍掉小数,而不是进位。

Java 也用一种简写形式进行运算,并同时进行赋值操作。这是由等号前的一个运算符标记的,而且对于语言中的所有运算符都是固定的。例如,为了将 4 加到变量 x,并将结果赋给 x,可用:x+=4。

下面这个例子展示了算术运算符的各种用法:

//: MathOps.java
// Demonstrates the mathematical operators
import 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);

一元减号得到的运算对象的负值。一元加号的含义与一元减号相反,虽然它实际并不做任何事情。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文