(赋值、逻辑运算符,条件表达式)
赋值运算符
=:不是相等的意思,就是把右侧的值赋值给左侧的变量 比如 int a=10;
+= a=a+b可以简写成a+=b; 就是把右侧a+b的值赋值给了左侧变量a
-= a=a-b; a-=b;
int a=10;
int b=10;
//a=a+b;
a+=b;
System.out.println(a);
比较运算符:比较两个变量之间的关系
比较后只能是boolean类型,只能是true或者是false
int a=10;
int b=250;
System.out.println(a==b);//false
System.out.println(a!=b);//true
逻辑运算符
- &(并且) 所有的条件都为true ,则为true,如果有一个false,就为false
- |(或者) 只有一个结果是true,就返回true,如果结果都是false,就为false
- ^(异或) 相同为false,不同为true
- !(非) 本来是false就变成true
- &&(短路与,并且)
- ||(短路或)
- 如果左侧已经判断最终结果,后面的判断不会再执行
- 提高了代码的执行效率,开发中推荐使用
boolean a=true;
boolean b=false;
System.out.println(a&b);//false
System.out.println(4>3|7<0);//true
System.out.println(true^true);//false
System.out.println(!true);//false
System.out.println("====================================");
System.out.println(3<2&10>2);//false
System.out.println(3<2&& 10>2);//false
System.out.println("&或&&区别");
int num=10;
System.out.println(3>4 & ++num>10);//false 所有判断都会执行
System.out.println(num);//11
int num1=10;
System.out.println(3>4 && ++num1>10);//false 如果左侧已经判断最终结果,后面的判断不会再执行
System.out.println(num1);//10
System.out.println("=============");
int num2=10;
System.err.println(4>3 || ++num2>5);//true
System.out.println(num2);
int num3=10;
System.out.println(4<3 || ++num3>7);//true
System.out.println(num3);//11
条件表达式
/**
* (条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
*/
//定义两个整数a和b,判断a是否大于b,如果大于b,输出A大于b,否则输出a小于b
int a=100;
int b=200;
String result=(a>b)? "A大于b":"a小于b";
System.out.println(result);