java核心卷I中43页有如下表述:两个数值进行二元操作时,会有如下的转换操作:
如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。
否则,如果其中一个操作数是float类型,另一个将会转换为float类型。
否则,如果其中一个操作数是long类型,另一个会转换为long类型。
否则,两个操作数都转换为int类型。
故,x==f1[0]中,x将会转换为float类型。

数值型及其封装型以0开头表示8进制,0x表16进制

java 黙认浮点类型为double
float数据类型有一个后缀为" f "或" F "。
long类型有一个后缀,为" l " 或者" L "。

(short)10/10.22,而不是(short) (10/10.22),前者只是把10强转为short,又由于式子中存在浮点数,所以会对结果值进行一个自动类型的提升,浮点数默认为double,所以答案是double;后者是把计算完之后值强转short。

~是位运算符,意义是 按位非(NOT)

按位非也叫做补,一元运算符NOT“~”是对其运算数的每一位取反。
  • 仅用于整数值
  • 反转位,即0位变为1位,1变成0
  • 在所有情况下〜x等于(-x)- 1