zhcn 编程语言 Java 非公開: Java算术运算符

Java算术运算符

丰富的运算符是Java语言的主要特性之一,提供了大量高级语言中不常见的运算符。

Java 语言中的运算符除了具有优先级之外,还具有结合性特征。当表达式包含多个运算符时,执行顺序不仅遵循运算符优先级规则,还必须受到结合性的约束。 。根据操作数的数量,这些运算符可以分为一元、二元和三元运算符。

最基本的运算符包括算术运算符、赋值运算符、逻辑运算符、关系运算符等。本文详细介绍了算术运算符。

Java中的算术运算符主要用于组织对数值数据的算术运算,根据运算涉及的操作数可以分为一元运算符和二元运算符。

一元运算符

一元算术运算共有三种:-、++ 和 –。详细信息请参见表 1。

表1 一元算术运算
操作员姓名解释例子
否定符号取反运算b=-a
++添加一个先获取值再加1或者先加1再获取值a++ 或 ++a
1 减少先得到值再减1或者先减1再得到值a– 或 –a

表1中,-a为a的逆运算,表达式运算完成后a++或a–对a加或减1。而++a或–a则在前1的基础上加或减1,然后对表达式进行运算。

 int a = 12;
System.out.println(-a);
int b = a++;
System.out.println(b);
b = ++a;
System.out.println(b); 

上面代码的第二行是-a,它反转变量a,结果输出是-12。第四行代码首先给b变量赋值并加1。即我们先赋值,再++,所以输出结果是12。代码第 6 行将 a 加 1,然后将 a 赋给变量 b。也就是说,我们先进行++,然后进行赋值,所以输出结果是14。

输出如下图所示。

对于++和–,可以直接参考Java自增和自减运算符(++和–)部分。

二元运算符

Java语言中算术运算符的作用是进行四种算术运算,包括常用的加(+)、减(-)、乘(*)、除(\),以及余数运算(%)还有。 。加法(+)、减法(-)、乘法(*)、除法(\)与我们熟悉的数学运算的含义相同。详细信息请参见表 2。

表2 二进制算术运算
操作员姓名解释例子
+添加求 a 和 b 的和。也可以用于 String 类型来执行字符串连接。 a+b
减少找出 a 和 b 之间的差异a-b
*我拿走了求 a 和 b 的乘积a*b
/
删除求 a 除以 b 的商a/b
%
剩下的求 a 除以 b 的余数一个%b

所有算术运算符都是二元运算符,即组合两个操作数的运算符。在同一操作级别,优先级为*、/、%,高于+、-(+、-为同一级别)。例如:

 int a = 4、b = 2、c = 3;
int d = a *(b + c)%c; 

此运算的规则与数学运算的规则相同。它首先计算赋值符号(=)右侧一对括号中的值,然后从左到右计算乘法,最后执行余数运算。表达式的结果是2,然后我们将2赋给d。 。

例如:
①int x=2,y=1;表达式y/x的结果为0。
②float x=2.0f;int y=1;公式y/x的结果为0.5。

在①中,即使将整型变量x和y分开,结果仍然是整型数据0,但在②中,会使用两种不同类型的数据进行计算,所以必须先进行类型转换,而int类型y将转换为 x 转换为与 相同类型的浮点数,然后相除,最终结果为浮点数 0.5。

[示例1]创建一个程序,输出两个不同的数字,执行加法、减法、乘法、除法和余数,并输入结果。

实现代码如下。

 public static void main(String[] args) {
    float f1 = 9 % 4;// 余りを浮動小数点型で保存する
    double da = 9 + 4.5; // 倍精度加算
    double db = 9 - 3.0; // 倍精度減算
    double dc = 9 * 2.5; // 倍精度乗算
    double dd = 9 / 3.0; // 倍精度除算
    double de = 9 % 4; // 倍精度余りを取得する

    System.out.println("整数の算術演算"); // 整数の加算、減算、乗算、除算および余り
    System.out.printf("9+4=%d \n", 9 + 4);
    System.out.printf("9-4=%d \n", 9 - 4);
    System.out.printf("9*4=%d \n", 9 * 4);
    System.out.printf("9/4=%d \n", 9 / 4);
    System.out.printf("9%%4=%d \n", 9 % 4);

    System.out.println("\n浮動小数点数の算術演算"); // 浮動小数点数の加算、減算、乗算、除算、余り
    System.out.printf("9+4.5f=%f \n", 9 + 4.5f);
    System.out.printf("9-3.0f=%f \n", 9 - 3.0f);
    System.out.printf("9*2.5f=%f \n", 9 * 2.5f);
    System.out.printf("9/3.0f=%f \n", 9 / 3.0f);
    System.out.printf("9%%4=%f \n", f1);

    System.out.println("\n倍精度数の算術演算"); // 倍精度数の加算、減算、乗算、除算、余り
    System.out.printf("9+4.5=%4.16f \n", da);
    System.out.printf("9-3.0=%4.16f \n", db);
    System.out.printf("9*2.5=%4.16f \n", dc);
    System.out.printf("9/3.0=%4.16f \n", dd);
    System.out.printf("9%%4=%4.16f \n", de);

    System.out.println("\n文字の算術演算"); // 文字の加算、減算
    System.out.printf("'A'+32=%d \n", 'A' + 32);
    System.out.printf("'A'+32=%c \n", 'A' + 32);
    System.out.printf("'a'-'B'=%d \n", 'a' - 'B');
} 

保存文件并运行它,输出将如下所示:


// 整数の算術演算
9+4=13
9-4=5
9*4=36
9/4=2
9%4=1

// 浮動小数点数の算術演算
9+4.5f=13.500000
9-3.0f=6.000000
9*2.5f=22.500000
9/3.0f=3.000000
9%4=1.000000

// ダブル精度数の算術演算
9+4.5=13.5000000000000000
9-3.0=6.0000000000000000
9*2.5=22.5000000000000000
9/3.0=3.0000000000000000
9%4=1.0000000000000000

// 文字の算術演算
'A'+32=97
'A'+32=a
'a'-'B'=31 

在此示例中,使用四种类型来执行算术运算。其中,整数类型结果最容易理解,浮点和双精度类型均返回带有小数点的结果,字符类型则是将字符转换为ASCII码来计算。

输出显示,整数之间运算结果只保留整数部分,小数点右边 6 位保留用于浮点运算,小数点右边 16 位保留用于 double 运算- 精准操作。

注意: Java 语言中的算术运算符的乘法和除法优先于加法和减法。例如,表达式“ab*c”中,b的左边是减号,右边是乘号,并且乘号优先于减号,因此表达式可以转换为: “a-(b*c)”

当表达式中多个算术运算符具有相同优先级时,例如“a-b+c”,则根据运算符组合的方向确定顺序。算术运算符的结合方向是“从左到右”,即先左后右。因此,先将b与减号连接起来,进行ab运算,然后再进行加c的运算。

算术赋值运算符

算术赋值运算符只是简写,通常用于修改变量本身。详细信息请参见表 3。

表3 算术赋值运算
操作员姓名例子
+=加作业a += b, a += b+3
-=负分配a -= b
*=乘法赋值一个 *= 乙
/=解除分配一个/= 乙
%=余数赋值一个%=b

示例代码如下。

 int a = 1;
int b = 2;
a += b; // Equals to a = a + b
System.out.println(a);
a += b + 3; // Equals to a = a + b + 3
System.out.println(a);
a -= b; // Equals to a = a - b
System.out.println(a);
a *= b; // Equals to a=a*b
System.out.println(a);
a /= b; // Equals to a=a/b
System.out.println(a);
a %= b; // Equals to a=a%b
System.out.println(a); 

上述每个示例都对整数执行 +=、-=、*=、/= 和 %= 运算。具体的说法我这里不再重复。

通俗易懂的《Java算术运算符》讲解!您必须观看的最佳 2 个视频

【day03】06 尚硅谷 Java语言基础 算术运算符的使用2
https://www.youtube.com/watch?v=RL61oq7hJPs&pp=ygUbIEphdmEg566X6KGT5ryU566X5a2QJmhsPUpB
丰富的运算符是Java语言的主要特性之一,提供了大量高级语言中不常见的运算符。

Java 语言中的运算符除了具有优先级之外,还具有结合性特征。当表达式包含多个运算符时,执行顺序不仅遵循运算符优先级规则,还必须受到结合性的约束。 。根据操作数的数量,这些运算符可以分为一元、二元和三元运算符。

最基本的运算符包括算术运算符、赋值运算符、逻辑运算符、关系运算符等。本文详细介绍了算术运算符。

Java中的算术运算符主要用于组织对数值数据的算术运算,根据运算涉及的操作数可以分为一元运算符和二元运算符。

一元运算符

一元算术运算共有三种:-、++ 和 –。详细信息请参见表 1。

表1 一元算术运算
操作员姓名解释例子
否定符号取反运算b=-a
++添加一个先获取值再加1或者先加1再获取值a++ 或 ++a
1 减少先得到值再减1或者先减1再得到值a– 或 –a

表1中,-a为a的逆运算,表达式运算完成后a++或a–对a加或减1。而++a或–a则在前1的基础上加或减1,然后对表达式进行运算。

 int a = 12;
System.out.println(-a);
int b = a++;
System.out.println(b);
b = ++a;
System.out.println(b); 

上面代码的第二行是-a,它反转变量a,结果输出是-12。第四行代码首先给b变量赋值并加1。即我们先赋值,再++,所以输出结果是12。代码第 6 行将 a 加 1,然后将 a 赋给变量 b。也就是说,我们先进行++,然后进行赋值,所以输出结果是14。

输出如下图所示。

对于++和–,可以直接参考Java自增和自减运算符(++和–)部分。

二元运算符

Java语言中算术运算符的作用是进行四种算术运算,包括常用的加(+)、减(-)、乘(*)、除(\),以及余数运算(%)还有。 。加法(+)、减法(-)、乘法(*)、除法(\)与我们熟悉的数学运算的含义相同。详细信息请参见表 2。

表2 二进制算术运算
操作员姓名解释例子
+添加求 a 和 b 的和。也可以用于 String 类型来执行字符串连接。 a+b
减少找出 a 和 b 之间的差异a-b
*我拿走了求 a 和 b 的乘积a*b
/
删除求 a 除以 b 的商a/b
%
剩下的求 a 除以 b 的余数一个%b

所有算术运算符都是二元运算符,即组合两个操作数的运算符。在同一操作级别,优先级为*、/、%,高于+、-(+、-为同一级别)。例如:

 int a = 4、b = 2、c = 3;
int d = a *(b + c)%c; 

此运算的规则与数学运算的规则相同。它首先计算赋值符号(=)右侧一对括号中的值,然后从左到右计算乘法,最后执行余数运算。表达式的结果是2,然后我们将2赋给d。 。

例如:
①int x=2,y=1;表达式y/x的结果为0。
②float x=2.0f;int y=1;公式y/x的结果为0.5。

在①中,即使将整型变量x和y分开,结果仍然是整型数据0,但在②中,会使用两种不同类型的数据进行计算,所以必须先进行类型转换,而int类型y将转换为 x 转换为与 相同类型的浮点数,然后相除,最终结果为浮点数 0.5。

[示例1]创建一个程序,输出两个不同的数字,执行加法、减法、乘法、除法和余数,并输入结果。

实现代码如下。

 public static void main(String[] args) {
    float f1 = 9 % 4;// 余りを浮動小数点型で保存する
    double da = 9 + 4.5; // 倍精度加算
    double db = 9 - 3.0; // 倍精度減算
    double dc = 9 * 2.5; // 倍精度乗算
    double dd = 9 / 3.0; // 倍精度除算
    double de = 9 % 4; // 倍精度余りを取得する

    System.out.println("整数の算術演算"); // 整数の加算、減算、乗算、除算および余り
    System.out.printf("9+4=%d \n", 9 + 4);
    System.out.printf("9-4=%d \n", 9 - 4);
    System.out.printf("9*4=%d \n", 9 * 4);
    System.out.printf("9/4=%d \n", 9 / 4);
    System.out.printf("9%%4=%d \n", 9 % 4);

    System.out.println("\n浮動小数点数の算術演算"); // 浮動小数点数の加算、減算、乗算、除算、余り
    System.out.printf("9+4.5f=%f \n", 9 + 4.5f);
    System.out.printf("9-3.0f=%f \n", 9 - 3.0f);
    System.out.printf("9*2.5f=%f \n", 9 * 2.5f);
    System.out.printf("9/3.0f=%f \n", 9 / 3.0f);
    System.out.printf("9%%4=%f \n", f1);

    System.out.println("\n倍精度数の算術演算"); // 倍精度数の加算、減算、乗算、除算、余り
    System.out.printf("9+4.5=%4.16f \n", da);
    System.out.printf("9-3.0=%4.16f \n", db);
    System.out.printf("9*2.5=%4.16f \n", dc);
    System.out.printf("9/3.0=%4.16f \n", dd);
    System.out.printf("9%%4=%4.16f \n", de);

    System.out.println("\n文字の算術演算"); // 文字の加算、減算
    System.out.printf("'A'+32=%d \n", 'A' + 32);
    System.out.printf("'A'+32=%c \n", 'A' + 32);
    System.out.printf("'a'-'B'=%d \n", 'a' - 'B');
} 

保存文件并运行它,输出将如下所示:


// 整数の算術演算
9+4=13
9-4=5
9*4=36
9/4=2
9%4=1

// 浮動小数点数の算術演算
9+4.5f=13.500000
9-3.0f=6.000000
9*2.5f=22.500000
9/3.0f=3.000000
9%4=1.000000

// ダブル精度数の算術演算
9+4.5=13.5000000000000000
9-3.0=6.0000000000000000
9*2.5=22.5000000000000000
9/3.0=3.0000000000000000
9%4=1.0000000000000000

// 文字の算術演算
'A'+32=97
'A'+32=a
'a'-'B'=31 

在此示例中,使用四种类型来执行算术运算。其中,整数类型结果最容易理解,浮点和双精度类型均返回带有小数点的结果,字符类型则是将字符转换为ASCII码来计算。

输出显示,整数之间运算结果只保留整数部分,小数点右边 6 位保留用于浮点运算,小数点右边 16 位保留用于 double 运算- 精准操作。

注意: Java 语言中的算术运算符的乘法和除法优先于加法和减法。例如,表达式“ab*c”中,b的左边是减号,右边是乘号,并且乘号优先于减号,因此表达式可以转换为: “a-(b*c)”

当表达式中多个算术运算符具有相同优先级时,例如“a-b+c”,则根据运算符组合的方向确定顺序。算术运算符的结合方向是“从左到右”,即先左后右。因此,先将b与减号连接起来,进行ab运算,然后再进行加c的运算。

算术赋值运算符

算术赋值运算符只是简写,通常用于修改变量本身。详细信息请参见表 3。

表3 算术赋值运算
操作员姓名例子
+=加作业a += b, a += b+3
-=负分配a -= b
*=乘法赋值一个 *= 乙
/=解除分配一个/= 乙
%=余数赋值一个%=b

示例代码如下。

 int a = 1;
int b = 2;
a += b; // Equals to a = a + b
System.out.println(a);
a += b + 3; // Equals to a = a + b + 3
System.out.println(a);
a -= b; // Equals to a = a - b
System.out.println(a);
a *= b; // Equals to a=a*b
System.out.println(a);
a /= b; // Equals to a=a/b
System.out.println(a);
a %= b; // Equals to a=a%b
System.out.println(a); 

上述每个示例都对整数执行 +=、-=、*=、/= 和 %= 运算。具体的说法我这里不再重复。

通俗易懂的《Java算术运算符》讲解!您必须观看的最佳 2 个视频

【day03】06 尚硅谷 Java语言基础 算术运算符的使用2
https://www.youtube.com/watch?v=RL61oq7hJPs&pp=ygUbIEphdmEg566X6KGT5ryU566X5a2QJmhsPUpB