关于java编程中运算符之:算术运算符
运算符 | 名称 |
---|---|
+ | 求和 |
- | 相减 |
* | 乘积 |
/ | 商 |
% | 求余数 |
++ | 自加1 |
-- | 自减1 |
public class OperatorTest01{
public static void main (string[]args ){
int i = 10;
int j = 3;
System.out.println(i + j);//13
System.out.println(i - j);//7
System.out.println(i * j);//30
System.out.println(i / j);//3
System.out.println(i % j);//1
}
}
示例:
关于++运算符【自加1】
int k = 10;
k ++;(++运算符可以出现在变量后面)
System.out.println(k); //11
int y = 10;
++y;(++运算符可以出现在变量前面)
System.out.println(y) ; //11
总结:++运算符可以出现在变量前也可以出现在变量后,无论是在前还是在后,只要运算结束,该变量的值一定会自加1。
++出现在变量后:
int a = 100;
int b = a++;
System.out.println(a) ; //101
System.out.println(b) ; //100(先赋值运算,再对变量中保存的值进行自加1 )
++出现在变量前:
int m = 20;
int n= ++m;
System.out.println(m) ; //21
System.out.println(n) ; //21(先对变量中保存的值进行自加1 ,再赋值运算 )
关系运算符
> | 大于 |
---|---|
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
=是赋值运算符,==是关系运算符
关系运算符的运算结果一定是布尔类型:true\false
逻辑运算符
& | 逻辑与(两边算子都是true,结果才是true) |
---|---|
| | 逻辑或(两边的算子有一个是true,结果就是true) |
! | 逻辑非(取反!false就是true,true是false,这是一个单目运算符) |
^ | 逻辑异或(两边的算子只要不一样结果就是true) |
&& | 短路与 |
|| | 短路或 |
- 逻辑运算符要求两边的算子都是布尔类型,
而 且逻辑运算符最后的运算结果也是一个
布尔类型。 - 短路与(或)和逻辑与(或)最终的运算结果是相同的,只不过短路与存在短路现象。
- 什么情况下发生短路现象?
- 什么时候选择逻辑与?什么时候选择短路与?
- 什么情况发生短路或?
第一个表达式执行结果是true,会发生短
路或;
什么情况发生短路与?
第一个表达式执行结果是false,会发生短
路与。
赋值运算符
赋值类运算符包括两种:
-
基本的赋值运算符 =
-
扩展的赋值运算符 +=、-=、*=、/=、%=
赋值类的运算符优先级:先执行等号右边的
表达式 ,将执行的结果赋值给左边的变量。重要结论:扩展类的赋值运算符不改变运算结 果类型,假设最初这个变量的类型是byte类型,无论怎么进行追加或者追减,最终该变量的数据类型还是byte类型。
字符换连接运算符(“+”运算符)
- +运算符在java中有两个作用:
1、加法运算,求和
2、字符串的连接运算 - 当“+”运算符两边的数据都是数字的话,一定是进行加法运算;
- 当“+”运算符两边的数据只要有一个数据是字符串,一定会进行字符串连接运算。并且连接运算之后的结果还是一个字符串类型。
- 在一个表达式中可以出现多个“+”,在没有小括号的前提下,遵循自左向右的顺序依次运算。
三元运算符/三目运算符/条件运算符
- 语法规则:
布尔表达式 ?表达式1 :表达式2 - 三元运算符执行原理
当布尔表达式的结果是true时,选择表达式1作为整个表达式的执行结果
当布尔表达式的结果是false时,选择表达式1作为整个表达式的执行结果