publicstaticvoidmain(String[] args){/*
* 赋值运算符
* = :
* 数据类型 变量 = 值; 将右侧的值赋值给左侧变量
* +=
* a += b ==> a = a + b
* -=
*
* *=
* a *= b ==> a = a * b;
* /=
*
*
*
*/int a =1;int b =0;
b += a;
System.out.println(b);int c =2;int d =3;
d *= c;
System.out.println(d);}
package com.zhiyou100.yunsuan;publicclassDemo4{publicstaticvoidmain(String[] args){// 这是算法异常,执行报错,程序停止// System.out.println(1 / 0);/*
* 逻辑元素符:
* 语法格式:
* boolean r = 布尔表达式1 & 布尔表达式2
* 1) 逻辑元素符运算结果是布尔类型
* 2) 布尔表达式:是指运算结果是布尔值的式子
* & 与/和(and)
* 只有&两边的表达式的值都是true 整体结果才是true,其他都是false
* 全真才真,一假就假
* | 或
* 只有|两边的表达式的值都是false 整体结果才是false,其他都是true
* 全假才假,一真就真
* ! 非/取反
* 非错即对
* && 短路与
* 因为&是一错就错,所以当&&前已经是false时,那么就可以确定整体表达式的结果是false
* 后续的表达式就不再执行了
* || 短路或
* 与上类似
* ===>
* 只要第一个表达式的结果能确定整体表达式的结果,后面表达式就短路不执行.
*
*/boolean r1 =1>0&2<0;
System.out.println(r1);
System.out.println("-----");
System.out.println(1>0&2>0);// T & T = T
System.out.println(1>0&2<0);// T & F = F
System.out.println(1<0&2>0);// F & T = F
System.out.println(1<0&2<0);// F & F = F
System.out.println("-----");
System.out.println(1>0|2>0);// T | T = T
System.out.println(1>0|2<0);// T | F = T
System.out.println(1<0|2>0);// F | T = T
System.out.println(1<0|2<0);// F | F = F
System.out.println("-----");
System.out.println(!true);
System.out.println(!(1<0)|2<0);
System.out.println(!(1<0|2<0));
System.out.println("-----");//System.out.println(1 > 0 && 1 / 0 == 1);// T & F = F//System.out.println(1 < 0 && 1 / 0 == 1);// F & T = F
System.out.println("-----");//System.out.println(1 > 0 || 1 / 0 == 1);// T || F = T//System.out.println(1 < 0 || 1 / 0 == 1);// F || T = F
System.out.println((1<0||1/1==1)&&(1>0||1/0==1));}}
三目运算
package com.zhiyou100.yunsuan;publicclassDemo5{publicstaticvoidmain(String[] args){/*
* 三目/三元运算:
* 数据类型 变量 = 布尔表达式 ?当前面结果是true时执行此处:当前面结果是false时执行此处;
* 数据类型 变量 = A ? B : C;
* 1) 先执行A处的布尔运算,得到一个布尔值
* 2) 当布尔值是true时,执行B处的代码
* 3) 当布尔值是false时,执行C处的代码
* 4) 整体结果的数据类型根据 执行B处或者C处的代码的结果而定
* 5) B处和C处的结果数据类型一致
*/int a =1;int b =2;int s = a < b ?1:0;
System.out.println(s);int r1 = a < b ?(a > b ? a:b):(a < b ? a : b);int r2 = a < b ?(a+b*4):(a < b ? a : b);
System.out.println(r1);
System.out.println(r2);/*
* 假设变量整型c,d,e. 使用三目运算比较大小,输出最大值
*/int c =110;int d =180;int e =1100;int r3 = c > d ? c : d;
System.out.println(r3);int r4 = c > d ?(c > e ? c: e):(d > e ? d : e);
System.out.println(r4);}}