运算符:算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=4;-b | -4 |
+ | 加 | 5+5 | 10 |
- | 减 | 6-4 | 2 |
* | 乘 | 3*4 | 12 |
/ | 除 | 5/5 | 1 |
% | 取模(取余) | 7%5 | 2 |
++ | 自增(前):先运算后取值 | a=2;b=++a; | a=3;b=3 |
++ | 自增(后):先取值后运算 | a=2;b=a++; | a=3;b=2 |
-- | 自减(前):先运算后取值 | a=2;b=--a; | a=1;b=1 |
-- | 自减(后):先取值后运算 | a=2;b=a--; | a=1;b=2 |
+ | 字符串连接 | "He"+"llo" | "Hello" |
class AriTest{
public static void main(String[] args){
//除号
int num1 = 12;
int num2 = 5;
int result1 = num1 / num2;
System.out.println(result1); //2
int result2 = num1 / num2 * num2;
System.out.println(result2); //10
double result3 = num1 / num2;
System.out.println(result3); //2.0
double result4 = num1 / (num2 + 0.0);
System.out.println(result4); //2.4
double result5 = (double)num1 / num2;
System.out.println(result5); //2.4
// % 取余运算
// 结果的负号与被模数的符号相同
// 开发中,经常使用%来判断能否被除尽的情况。
int m1 = 12;
int n1 = 5;
System.out.println("m1 % n1 = "+ m1 % n1); //2
int m2 = -12;
int n2 = 5;
System.out.println("m2 % n2 = "+ m2 % n2); //-2
int m3 = 12;
int n3 = -5;
System.out.println("m3 % n3 = "+ m3 % n3); //2
int m4 = -12;
int n4 = -5;
System.out.println("m4 % n4 = "+ m4 % n4); //-2
//(前)++: 先自增1,后运算
//(后)++: 先运算,后自增1
int a1 = 10;
int b1 = ++a1;
System.out.println("a1 = " + a1 + ",b1 = " +b1); // a1 = 11, b1 = 11
int a2 = 10;
int b2 = a2++;
System.out.println("a2 = " + a2 + ",b2 = " +b2); // a2 = 11, b2 = 10
short s1 = 10;
//s1 = s1 + 1; //编译失败
//s1 = (short)(s1 + 1); //编译正确
s1++; // 自增1不会改变本身变量的数据类型
System.out.println(s1); // 11
}
}
class AriExer{
public static void main(String[] args){
int num = 187;
int bai = num / 100;
int shi = num % 100 / 10;
int ge = num % 10;
System.out.println("百位为: " + bai); //百位为: 1
System.out.println("十位为: " + shi); //十位为: 8
System.out.println("个位为: " + ge); //个位为: 7
}
}
运算符:赋值运算符
符号: =
- 当 "=" 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
- 支持连续赋值
扩展赋值运算符:+=, -=, *=, /=, %=
class SetValueTest {
public static void main(String[] args) {
//赋值符号:=
int i1 = 10;
int j1 = 10;
//连续赋值
int i2, j2;
i2 = j2 = 10;
int num1 = 10;
num1 += 2;
System.out.println(num1); //12
int num2 = 12;
num2 %= 5;
System.out.println(num2); //2
short s1 = 10;
//s1 = s1 + 2; //编译失败
s1 += 2;
System.out.println(s1); //12
}
}