Java运算符

140 阅读1分钟

算数运算符分为 “+”、“-”、“*”(乘)、“/”(除)、“%”(取余数)

(在牵涉到金额的计算时,为了保持高精度的准确性,使用bigDecimal类型后面会单独说明)

一、重要 “+”

1、数字相加

2、字符串相加(会进行拼接的操作 这里需注意字符的拼接是从左向由拼接的)

System.out.println("ab"+"cd");
//结果:abcd
System.out.println(1+2+"s"+2+3);
//结果:3s23

3、字符相加(注意:byte short char三种数据类型进行运算时都会想提升为int类型在进行运算)

这里在相加时字符通过ASCII码表进行转换为相对应的数字

System.out.println('a'+1);
//结果:98
码表如下:

image.png

二、“-”、“*”、“/”、“%”

“-” :数字间的减法运算

“*” :数字相乘

“/” :两数相除

“%” :获取两个数据做除法的余数

注意事项:

整数操作只能得到整数,要想要得到小数就必须有浮点数参与运算

赋值运算符分为 “=”、“+=”、“-=”、“*=”、“/=”、“%=”

image.png

在赋值运算符的底层都蕴含了强制类型转换的操作(将数据类型转为int在进行计算)

自增自减运算符

image.png

image.png

比较运算符分为 “==”、!=”、“>”、“>=”、“<”、“<+”

image.png

注意事项:比较运算符的结果都是boolean类型的,要么时true ,要么时false

逻辑运算符分为 “&”、“|”、“^”、“!”

image.png

短路逻辑运算符分为 “&&”,“||”

image.png

三元运算符

image.png

image.png

代码演示:
@Test
public void test(){
    int number1 = 10;
    int number2 = 20;
    //方式一通过赋值变量输出
    int max = number1>number2?number1:number2;
    System.out.println("最大值:"+max);
    //方式二直接打印结果
    System.out.println("最大值:"+(number1>number2?number1:number2));
}

运算符之间的优先级

在这众多的运算符中优先计算的添加()的运算

代码:
@Test
public void test(){
    int a = 2;
    int b = 3;
    int c = 4;
    System.out.println(a*(b+c));
}