JAVA 算术运算符
运算符是一种特殊的符号 用以表示数据的运算 赋值和比较等
JAVA 层面的
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三元运算符
注意 常见的运算符 要会使用 用多了就记住了 一个字 敲
算术运算符
-
-
- / % ++ – +
后面的加是 代表 字符串的连接
计算机中除法是/ 但是结果得到的不是我们生活中所理解的除法计算的
而是前面的整数
% 这个运算符代表的是 取模 (取余)
简单来说看余数 用奇数和偶数进行讲解
奇数代表除2除不开
偶数代表除2能除开 余数为0
- / % ++ – +
-
1 2 3 | int number3 = 10; int number4 = 5; System.out.println("number3%number4= "+ number3%number4); |
结果:10除5 的余数为0
++ – 分为前++ 和后++ 前-- 后-- 计算的结果是一样的 但是他的计算顺序不一样 慢慢理解
看下面的图
加法 和减法运算 就不演示了
下面是除法的运算代码演示
除法
1 2 3 4 5 6 7 8 | public static void main(String[] args) { int number1 = 12; int number2 = 5; int result = number1/number2; System.out.println(result); } |
运行结果
结果是 2
12/5 = 2.4 这是正常生活中我们所认为的除法运算
为什么出现了 2 后面的0.4 给省略了 被计算机吃了么 哈哈
int 的计算结果还是int 所以 后面的0.4 小数给省略了
下面我们为了要精确的2.4 应该怎么计算呢?
先设想下 用double进行接收 除法后的结果
1 2 3 4 5 6 7 8 9 10 11 | public static void main(String[] args) { int number1 = 12; int number2 = 5; int result = number1/number2; System.out.println(result); int result2 = number1/number2*number2; System.out.println(result2); double d1 = number1/number2; System.out.println(d1); } |
运行结果如下
解决方案是:把两个数 其中一个换位double类型
进行强制类型转换
byte short int long float double
1 2 3 4 5 6 7 8 9 10 11 12 13 | public static void main(String[] args) { int number1 = 12; int number2 = 5; int result = number1/number2; System.out.println(result);//2 int result2 = number1/number2*number2; System.out.println(result2);//10 double d1 = number1/number2; System.out.println(d1);//2.0 double result3 = (double)number1/number2; System.out.println(result3); } |
运行结果
下面看下 正负数之间的取模运算有什么规律
取模(取余)
1 2 3 4 5 6 7 8 9 10 11 12 | int number3 = 12;//被模数 int number4 = 5;//模数 System.out.println("number3%number4= "+ number3%number4); int number5 = -12; int number6 = 5; System.out.println("number5%number6= "+ number5%number6); int number7 = 12; int number8 = -5; System.out.println("number7%number8= "+ number7%number8); int number9 = -12; int number10 =-5; System.out.println("number9%number10= "+ number9%number10); |
前面的数来决定 结果的正负
12%5 = 2
-12%5 =-2
12%-5 = 2
-12%-5 ==-2