赋值运算符与比较运算符和逻辑运算符
作业中char运算的一个问题
' '中的是字符(字符可以转化成对应的值)相加会进行数字运算
" "中是要显示的东西
赋值运算符与比较运算符
赋值运算符:+=、-=、/=、%=
如i+=3 相当于 i=i+3(只有在int中生效)
short s=10; s=(short)(s+1); 相当于 s+=1;
s=s+3是错误的,因为它默认为int类型,但是+=就不会这样
注意:"="是赋值,"=="是等于
i=1 i*=0.1 结果为0(因为0.1不是int类型,自动为0但不会出错)
逻辑运算符
&:逻辑与 |:逻辑或 !逻辑非
&&:短路与 ||:短路或 ^逻辑异或(相比较两方相异则是或)
&与&&的区别:
&:不管左边为true或是false,右端均会进行运算
&&:一旦左端为false,右端不在运算,当左端为true,同上(推荐使用)
boolean a=false; int b=10; if (a&(b++)>0) { System.out.println("很开心"); } else { System.out.println("超开心"); } System.out.println(b); int b2=10; if (a&&(b2++)>0) { System.out.println("很开心"); } else { System.out.println("超开心"); } System.out.println(b2);
|与||的区别:
|:无论左边是true还是false,右边均运算
||:当左端是false,右边不运算,当左端为true,同上(推荐使用)