操作符
算术操作符
在Java语言里,下面几个符号称为算术操作符
符号 | 名称 | 作用 |
---|---|---|
+ | 加 | 加法运算 |
- | 减 | 减法运算 |
* | 乘 | 乘法运算 |
/ | 除 | 除法运算 |
% | 模 | 取余运算 |
整型的算术运算
整型的除法运算,不保留小数部分
// 14/5 的值为 2
System.out.println("结果为:"+(14/5));
整型的模运算
// 14%5 的值为 4
System.out.println("结果为:"+(14%5));
浮点型的算术运算
浮点型的除法运算,保留小数部分
// 14.0/5.0 的值为 2.8
System.out.println("结果为:"+(14.0/5.0));
类型提升
当int型合double型混在一起运算时,int型会提升为double型
int a = 14;
double b = 5.0;
System.out.println("结果为:"+(a/b));
关系操作符
以下六个关系操作符,表示数值的大小关系
操作符 | 名称 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于 |
!= | 不等于 |
关系操作符运算结果为一个boolean类型的值,成立为true,不成立为false
int a = 10;
int b = 4;
boolean c = a > b;
System.out.println("result:"+c);
逻辑操作符
操作符 | 名称 | 描述 |
---|---|---|
&& | 逻辑与 | 并且 |
|| | 逻辑或 | 或者 |
! | 逻辑非 | 非 |
逻辑与( && )
a && b
a 和 b 必须为 boolean 类型
规则:a 和 b 同时为 true 时,输出为 true;否则为 false
逻辑与( || )
a || b
a 和 b 必须为 boolean 类型
规则:a 和 b只要有一个为 true ,结果为 true;否则为 false
逻辑非( ! )
!a
a必须为boolean类型
规则:取反结果
赋值操作符
等号 (=) 就是赋值操作符
规则:
- 等号左边必须是变量
- 将等号右边的值,赋给左边的变量
组合赋值操作符
a+=b; //相当于 a=a+b
a-=b; //相当于 a=a-b
a*=b; //相当于 a=a*b
a/=b; //相当于 a=a/b
a%=b; //相当于 a=a%b
自增操作符
++称为自增操作符
int a = 10;
a++; //作用是对a的值加一
前置自增和后置自增
后置自增(后自增)
int a = 10;
b = a++;
System.out.println("result of a:"+a+"result of b:"+b);
//先运算再加一
前置自增(前自增)
int a = 10;
b = ++a;
System.out.println("result of a::"+a+"result of b:"+b);
//先加一再运算
自减操作,就是把++换成--,规则相同
优先级与类型转换
优先级
当一个表达式里面有多种操作符的时候,要判断操作的优先级
不必要记住所有操作符的优先级,可以使用小括号,显性决定谁先谁后
类型转换
允许整型和浮点型的转换
double a = 12.77;
int b = (int)a;
System.out.println("Result of b:"+b);
//浮点型转整型不是四舍五入,而是退一法
boolean 和 整型/浮点型 不能转换
隐式转换:不需要加小括号,自动转换
int a = 5;
double b = a;
//编译器认为int型转换为double型没有数据损失
//有数据损失的情况下要用显式转换,即用小括号在变量前申明类型
网友评论