算数运算符包括:+(两个数字求和)、-(两个数字相减)、*(两个数字乘积)、/(两个数字相除)、%(两个数字取模或者求余)、++(单目运算符,对数字自加 1)、--(单目运算符,对数字自减 1)。
废话不多说,先上代码为敬(注意代码中的注释信息):
public class ArithmeticOperatorTest01 {
public static void main(String[] args) {
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
/*
在 java 语言中 10 除以 3 结果不是 3.3333..
因为 java 中有一个语法规则:int 类型和 int 类型
做运算,最终的结果还是 int 类型,所以 10 除以 3
的结果就是 3,这个过程会取整数位。
*/
System.out.println(a / b); // 3
/*
10 对 3 求余数,3 乘 3 得 9,余 1。
*/
System.out.println(a % b); //1
/*
++和--都是单目运算符,++负责自加 1,--负责自减 1
以下程序重点研究++运算符,--运算符可以依照++运算
符进行类推。
*/
int i = 10;
i++;
System.out.println("i = " + i); //11
int j = 10;
++j;
System.out.println("j = " + j); //11
/*
根据以上的程序可以得出结论:++可以出现在变量前,也
可以出现在变量后,无论是变量前还是变量后,只要执行完
++,最终的结果都会让变量自加 1。那么++出现在变量前
和变量后到底有什么区别呢?请看以下程序
*/
int k = 10;
int m = k++;
/*
根据以上结论,++无论是出现在变量前还是变量后,只要++执行
变量一定会自加 1,那么 k 变量一定会自加 1,所以以下输出 k=11
*/
System.out.println("k = " + k); //11
/*
以上 int m = k++;代码中++和=两个运算符同时存在,
那么此时这两个运算符哪个优先级高呢?java 语法中是这样
规定的,当++运算符出现在变量后,会先做赋值运算,再自
加 1,所以最后 m = 10
*/
System.out.println("m = " + m); //10
int x = 10;
int y = ++x;
//上行代码执行结束后,我们可以确定 x 变量一定自加 1 了,所以 x=11
System.out.println("x = " + x); //11
/*
java 语法中又有这样的规定,++出现在变量前,会先进行自加 1
的操作,然后再做赋值运算,所以 y = 11
*/
System.out.println("y = " + y); //11
}
}
运行结果如下图所示:
通过以上代码,我们得知,第一:两个 int 类型数据进行数学运算之后的结果一定是 int 类型;第二:++ 或 -- 可以出现在变量前也可以是变量后;第三:++ 无论出现在变量前还是变量后,只要执行了 ++,那么变量必然会自加 1;第四:++ 出现在变量后会先进行赋值运算,再自加 1;第五:++ 出现在变量前会先自加 1,再进行赋值运算。注:-- 与 ++ 用法相同。(实际开发过程中,不要过于在意 ++ 或 -- 的位置,直接编写 num += 1 或 num -= 1 可能会更好理解。)
(本文仅代表个人观点,不喜勿喷!)
点击下方链接↓,获取更多知识: