算术运算符中+,-,*,/,%(取余数)属于二元运算符,二元运算符指的是需要两个操作数才能完成运算的运算符。其中的%是取模运算符,就是我们常说的求余数操作。
二元运算符的运算规则:
整数运算:
1. 如果两个操作数有一个为Long, 则结果也为long
2. 没有long时,结果为int。即使操作数全为short,byte,结果也是int
浮点运算:
1. 如果两个操作数有一个为double,则结果为double
2. 只有两个操作数都是float,则结果才为float
For Example_01:
package com.Ponfey;
/**
* 测试算数运算符
* @Author xiaoshuai.zhu
* @Date 2020-09-22 10:32
* @Version 1.0
*/
public class TestOperator01 {
public static void main(String[] args) {
byte a = 1;
int b = 2;
long b2 =3;
//byte c = a+b; // 报错,a+b结果应该是int类型,把int类型转到byte里面就会报错
//int c2 =b2+b; // 报错,b2是long,加上b,结果还是long,把long类型赋给int
float f1 = 3.14F;
double d = b+b2;//b+b2是整数类型,把d定义为float也是没有问题的,表数范围较大的时候可以自动转
//float d2 = f1+5.2;// 报错,f1是float,5.2是double,double不能赋给float,只要有一个数是double,结果就为double
}
}
取模运算:
其操作数可以为浮点数,一般使用整数,结果是“余数”,规定了“余数”符号和左边操作数相同,如:7%3=1,-7%3=-1,7%-3=1。
For Example_02:
public class TestOperator01 {
public static void main(String[] args) {
//取模
System.out.println(-9%5);
}
}
算术运算符中++,–属于一元运算符,运算符只需要一个操作数。
For Example_03:
package com.Ponfey;
/**
* 测试自增和自减
* @Author xiaoshuai.zhu
* @Date 2020-09-22 11:05
* @Version 1.0
*/
public class TestOperator01 {
public static void main(String[] args) {
int a = 3;
int b = a++; //a++ 先赋值后自增一次=4,也可以将++置于变量前面,先给a自增一次再赋值,将3变为4,再赋给b,b=4,执行完后,b=3。先给b赋值,再自增。
System.out.println("a="+a+"\nb="+b); // a=3 ,b=4
a = 3;
b = ++a; //执行完后,c=5。a先自增,再给c赋值
System.out.println("a="+a+"\nb="+b);
}
}