变量
变量名:数字、字母、下划线、$组成(数字不能开头)
变量名大小写敏感
变量在所在的代码块(大括号)内起作用
运算符
算术运算符:+、-、*、/、%(取余)
11.5%2 结果为 1.5
逻辑运算符:&&、||、!(返回值为true、false)
①System.out.println(a < b && b < c);
与,同时为true结果为true
当a<b为false,则结果为false,不会执行b<c这个判断
②
System.out.println(a < b || b < c);
或,一个为true即为真
当a<b为true,则结果为true,不会执行b<c这个判断
③!非:单目运算符
System.out.println(10 > 20 && 10 / 0 == 0); //
打印
false
System.out.println(10 < 20 || 10 / 0 == 0);//
打印
true
以上不会发生异常
关系运算符:== 、!=、 <、 > 、<= 、>= 返回值为boolean类型(true、false)
位运算符:& 、|、 ~ 、^(二进制位运算)
①按位与
&
:
如果两个二进制位都是
1,
则结果为
1,
否则结果为
0(同1为1)
②按位或
|:
如果两个二进制位都是
0,
则结果为
0,
否则结果为
1(同0为0)
③按位取反
~:
如果该位为
0
则转为
1,
如果该位为
1
则转为
0(0变1,1变0)
④按位异或
^:
如果两个数字的二进制位相同
,
则结果为
0,
相异则结果为
1(相同为0)
移位运算符:<<、>>、>>>
①左移 <<: 最左侧位不要了, 最右侧补 0
int a = 0x10;
System.out.printf("%x\n", a << 1);
//
运行结果
(
是按十六进制打印的
)
20
②右移
>>
:
最右侧位不要了
,
最左侧补符号位
(
正数补
0,
负数补
1)
③无符号右移
>>>:
最右侧位不要了
,
最左侧补
0
条件运算符:表达式1 ? 表达式2 : 表达式3(三目运算符)
当
表达式
1
的值为
true
时
,
整个表达式的值为
表达式
2
的值
;
当
表达式
1
的值为
false
时
,
整个表达式的值为
表达式 3 的值
.