• java 算术运算符


    算术运算符

    算术运算符用在数学表达式中,其用法和功能与代数学(或其他计算机语言)中一样,

    算术运算符及其含义

    在这里插入图片描述

    算术运算符的运算数必须是数字类型。算术运算符不能用在布尔类型上,但是可以用
    char类型上,因为实质上在Java中,char类型是int类型的一个子集。

    基本算术运算符

    基本算术运算符——加、减、乘、除可以对所有的数字类型操作。减运算也用作表示
    单个操作数的负号。记住对整数进行“/”除法运算时,所有的余数都要被舍去。
    下面这个简单例子示范了算术运算符,也说明了浮点型除法和整型除法之间的差别。

    1. class BasicMath {
    2. public static void main(String args[]) {
    3. // arithmetic using integers
    4. System.out.println("Integer Arithmetic");
    5. int a = 1 + 1;
    6. int b = a * 3;
    7. int c = b / 4;
    8. int d = c - a;
    9. int e = -d;
    10. System.out.println("a = " + a);
    11. System.out.println("b = " + b);
    12. System.out.println("c = " + c);
    13. System.out.println("d = " + d);
    14. System.out.println("e = " + e);
    15. // arithmetic using doubles
    16. System.out.println("\nFloating Point Arithmetic");
    17. double da = 1 + 1;
    18. double db = da * 3;
    19. double dc = db / 4;
    20. double dd = dc - a;
    21. double de = -dd;
    22. System.out.println("da = " + da);
    23. System.out.println("db = " + db);
    24. System.out.println("dc = " + dc);
    25. System.out.println("dd = " + dd);
    26. System.out.println("de = " + de);
    27. }
    28. }

    当你运行这个程序,你会看到输出如下:

    1. Integer Arithmetic
    2. a = 2
    3. b = 6
    4. c = 1
    5. d = -1
    6. e = 1
    7. Floating Point Arithmetic
    8. da = 2.0
    9. db = 6.0
    10. dc = 1.5
    11. dd = -0.5
    12. de = 0.5

    模运算符

    模运算符%,其运算结果是整数除法的余数。它能像整数类型一样被用于浮点类型(这
    不同于C/C++,在C/C++中模运算符%仅仅能用于整数类型)。下面的示例程序说明了模运
    算符%的用法:

    1. class Modulus {
    2. public static void main(String args[]) {
    3. int x = 42;
    4. double y = 42.25;
    5. System.out.println("x mod 10 = " + x % 10);
    6. System.out.println("y mod 10 = " + y % 10);
    7. }
    8. }

    当你运行这个程序,你会看到输出如下:

    1. x mod 10 = 2
    2. y mod 10 = 2.25

    算术赋值运算符

    Java提供特殊的算术赋值运算符,该运算符可用来将算术运算符与赋值结合起来。你可能知道,像下列这样的语句在编程中是很常见的:
    a = a +4;
    在Java中,你可将该语句重写如下:
    a += 4;
    该语句使用“+=”进行赋值操作。上面两行语句完成的功能是一样的:使变量a的值增
    加4 。下面是另一个例子:
    a = a % 2;
    该语句可简写为:
    a %= 2;
    在本例中,%=算术运算符的结果是a/2的余数,并把结果重新赋给变量a。
    这种简写形式对于Java的二元(即需要两个操作数的)运算符都适用。其语句格式为:
    var= var op expression;
    可以被重写为:
    var op= expression;
    这种赋值运算符有两个好处。第一,它们比标准的等式要紧凑。第二,它们有助于提
    高Java的运行效率。由于这些原因,在Java的专业程序中,你经常会看见这些简写的赋值运
    算符。
    下面的例子显示了几个赋值运算符的作用:

    1. class OpEquals {
    2. public static void main(String args[]) {
    3. int a = 1;
    4. int b = 2;
    5. int c = 3;
    6. 541 部分 Java 语言
    7. a += 5;
    8. b *= 4;
    9. c += a * b;
    10. c %= 6;
    11. System.out.println("a = " + a);
    12. System.out.println("b = " + b);
    13. System.out.println("c = " + c);
    14. }
    15. }

    该程序的输出如下:

    1. a = 6
    2. b = 8
    3. c = 3

    递增和递减运算

    “++”和“–”是Java的递增和递减运算符。下面将对它们做
    详细讨论。它们具有一些特殊的性能,这使它们变得非常有趣。我们先来复习一下递增和
    递减运算符的操作。
    递增运算符对其运算数加1,递减运算符对其运算数减1。因此:
    x = x + 1;
    运用递增运算符可以重写为:
    x++;
    同样,语句:
    x = x - 1;
    与下面一句相同:
    x–;
    在前面的例子中,递增或递减运算符采用前缀(prefix)或后缀(postfix)格式都是相
    同的。但是,当递增或递减运算符作为一个较大的表达式的一部分,就会有重要的不同。
    如果递增或递减运算符放在其运算数前面,Java就会在获得该运算数的值之前执行相应的
    操作,并将其用于表达式的其他部分。如果运算符放在其运算数后面,Java就会先获得该
    操作数的值再执行递增或递减运算。例如:
    x = 42 ;
    y =++x ;
    在这个例子中,y将被赋值为43,因为在将x的值赋给y以前,要先执行递增运算。这样,
    语句行y =++x ;和下面两句是等价的:
    x = x + 1;
    y = x;
    但是,当写成这样时:
    x = 42;
    y = x++;
    在执行递增运算以前,已将x的值赋给了y,因此y的值还是42 。当然,在这两个例子
    中,x都被赋值为43。在本例中,程序行y =x++;与下面两个语句等价:
    y = x;
    x = x + 1;
    下面的程序说明了递增运算符的使用:

    1. class IncDec {
    2. public static void main(String args[]) {
    3. int a = 1;
    4. int b = 2;
    5. int c;
    6. int d;
    7. c = ++b;
    8. d = a++;
    9. c++;
    10. System.out.println("a = " + a);
    11. System.out.println("b = " + b);
    12. System.out.println("c = " + c);
    13. System.out.println("d = " + d);
    14. }
    15. }

    该程序的输出如下:

    1. a = 2
    2. b = 3
    3. c = 4
    4. d = 1

     

  • 相关阅读:
    JavaWeb基础学习Servlet
    In-Place操作及onnx导出
    2.X版本的一个通病问题
    数字疗法009 | “接受”还是“拒绝”?心理治疗背后的数字干预
    【QT】ROS2 Humble联合使用QT教程
    美创这款产品入选《2022年度浙江省首版次软件产品应用推广指导目录入围名单》
    Docker安装Mysql
    java面试总结笔记
    windows 安装anaconda
    realloc函数应用&IO泄露体验
  • 原文地址:https://blog.csdn.net/qq_51916951/article/details/126327404