-运算:对常量和变量进行操作的过程就叫运算
-运算符:对常量和变量进行操作时的符号就是运算符
-算术运算符
-赋值运算符
-比较运算符
-逻辑运算符
-位运算符
-三元运算符
-注意:
整数相除只能得到整数 如果我想要得到小数怎么办?就要把数据变成浮点数 /获取除法操作的是商 %获取的是除法操作的余数 + - * / % //定义变量 int a = 50;//是把50赋值给了int类型的变量a int b = 6; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b);//0 //System.out.println((double)(b/a));//1 System.out.println(b*1.0/a); System.out.println(a%b);//拿的是余数 ++ -- //定义变量 int x = 3; int y = 4; System.out.println("x="+x+",y="+y); int a = ++x; int b = --y; System.out.println("x="+x+",y="+y); System.out.println("a="+a+",b="+b);
= += -= *= /= %=
=:基本的运算符,把=右边的数据赋值给左边的变量
其他都是扩展运算符,把=左边和右边做运算,然后把结果赋值给左边
== != < > <= >= instanceof 判断是否是类的对象的
-特点:不管我们的操作简单还是复杂,结果必是boolean类型
& 与and | 或or ^ 异或 ! 非 not && and与 || or或
-逻辑运算符是用来连接boolean类型表达式或者值
举例: 18<age<30 age>18 && age<30
-表达式:就是用运算符把常量后者变量连接起来符号java语法规则的式子
算术表达式 i+j 比较表单时 i==j
结论:
&:逻辑与:有假则假
|:逻辑或:有真则真
^:逻辑异或:相同为假,不同为真
!:逻辑非:非真则假,非假则真,偶数个本身不改变。
&&:逻辑双与:有假则假
||:逻辑双或:有真则真,结论和单与 单或的结论一样
(& 和 && 的区别: 最终的结果是一样的 && 具有短路效果,左边是false的时候,右边不再执行 单与:左边不管真假,右边都会执行 双与:左边为真,右边执行,左边为假,右边不执行了 同理|和|| 单或:无论左边真假,右边都会执行 双或:左边为假,右边执行,左边为真,右边不执行了。 开发常用 && ||)
<<左移 >> 右移 >>> 无符号右移 & 位于运算符 | 位或运算符 ^ 位异或运算符 ~ 反码运算符
-注意:位运算符是直接对二进制进行运算的符号
-要做位运算,先要把数据转成二进制。
-格式:
关系(比较表达式)?表达式一:表达式二;
-流程:
如果关系表达式的结果是真,最后计算的结果是表达式一 如果关系表达式的结果是假,最后计算的结果是表达式二
eg:
获取3个数中的最大值 public static void main(String[] args){ //定义一个变量 int a = 55; int b = 66; int c = 88; //分2步:先比较a和b,拿到较大的 //再拿a和b中较大的和c比 int temp = a>b?a:b; System.out.println(temp); int max = temp>c?temp:c; System.out.println(max); //一步搞定 //int max2 = a>b?a>c?a:c:b>c?b:c; int max2 = (a>b)?((a>c)?a:c):((b>c)?b:c); System.out.println(max2); }