#算数运算符:+ - * / % ++ –
1, + 在java中代表 ①正号②加法运算③字符串连接;
2, / 整数相除得到的只能是整数;如果想得到小数,那就先变成浮点类型;
3,/得到的是商; % 是取余;
4,%
%运算的结果只和左边的符号有关系,与右边的符号无关;
print( -12 % -5) #-2
任何一个正整数%2的结果不是0就是1,可以用来进行条件判断
5,++在前表示先+后赋值;++在后表示先赋值后+ ;
这种运算不会改变数据类型,会自动加强制运算符
**a++ ,先赋值后自增
++a ,先自增后赋值**
**同理,a--,先赋值再自减
--a,先自减后赋值**
#赋值运算符:
把右边的常量赋值给左边的变量;
计算的时候会自动加强转符;同a++
=、 += 、 -=、 *=、 /=、 %=
int a = 3;```
#**关系运算符**:> < == != >= <=
#**移位运算符**: 左移运算符/右移运算符
```java
public class Operation {
public static void main(String[]args){
//左移的符号 <<: a << 2 ,代表左移两位,左移一位要* 2,两位*4
int a = 3;
System.out.println("a左移一位等于:"+ (a << 1));//6
//右移的符号>>: b >> 1; 规则:右移一位要/2
int b = 8 ;
System.out.println("b右移三位等于:"+ (b >> 3));//1
}
}```
#**三元运算符**:
```java
public class Operation {
public static void main(String[]args){
//三元运算符可用来比较数据的最值
int m = 23;
double n = 15.3;
//三元运算符表达式:(条件表达式)?表达式1:表达式2 ; 条件表达式为布尔类型
( m > n)?m:n,如果为true,则取m,否则取n
//运算规则:如果条件为true,则执行表达式1;反之执行表达式2
//表达式1和2的数据类型要统一,取容量大的数据类型
double max = (m > n) ? m : n;
System.out.println("m 和 n中最大的数值为:" + m);//23
//三元运算符可以嵌套使用
n = 12;
String maxStr = ( m < n)?"m大" : (m == n? "m和n相等": "n大");
System.out.println(maxStr);//n大
}
}
}```
//凡是使用三元运算符的地方,一定可以用if -else;反之不一定;优先使用**三元运算符**
//转换成 if else语句
if(m > n){
System.out.println("m n 中最大值为:" + m);
}else{
System.out.println("m n 中最大值为:"+ n);
}
#逻辑运算符:& | ^
# 1.逻辑与& == and,有false就为false
System.out.println(a<5 & a>1); #true
# 2.逻辑或| == or,有true就为true
System.out.println(a<3 | a>4); # true
#3.逻辑异或 ^ ,两边相同为false,不同为true(特点:一个数对另一个数亦或两次,该数本身不变)(x yx ,实现两个数值交换)
int a= 1;
int b =3;
System.out.println(a<3 | b>4); # true
#4.&&,最终计算结果==&;区别是&&遇到false就不往下执行
#5.|| ,最终计算结果==|,区别是遇到true就不往下执行