JDK8Java前置知识
复习用
不论使用哪种高级程序语言编写程序,变量都是程序的基本组成单位
浮点数计算陷阱:
2.7 和 8.1/3 的值在计算机中会不相等
因为在二进制方面 8.1/3 是无限小数,double的精度太低,导致在内存中存储的 2.7 和 8.1/3 的值在二进制层面不相等
当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换flowchart LR byte --> short --> int char --> int int --> long --> float --> double
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型
使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意
String类底层维护的就是char数组,因此只需要取出数组中的某个索引位置的值即可
比如我们可以把"123",转成一个整数,但是不能把"hello"转成一个整数
例如下面的例子
- 将 x++ 看作一个整体,因为自增在后,所以此时 x++ 整体的值为 5 ,x 的值为6
- 将 ++y 看作一个整体,因为自增在前,所以此时 ++y 整体的值为6,y 的值为6
关系运算符的 结果 都是 boolean类型,即 都是 true 或 false运算符运算范例结果==相等于8 == 7fasle!=不等于8 != 7true</tdtd 小于/tdtd 8 < 7/tdtd false/td/trtrtd >大于8 > 7true= 7trueinstanceof检查左边(对象)是否右边(类)相等 或 子类关系"hello world" instanceof Stringtrue
常用于 条件判断 中
用于连接多个条件(多个关系表达式,关系表达式也就是前面关系运算符所连接的一串表达式)
最终的结果也是一个 boolean 值
赋值运算符就是将某个运算后的值,赋给指定的变量
所谓优先级就是表达式运算中的运算顺序运算方向运算符. () {} ; ,右 -> 左++ -- ~ !(data type)左 -> 右* / %左 -> 右+ -左 -> 右> >>> 位移左 -> 右< > = instanceof左 -> 右== !=左 -> 右&左 -> 右^左 -> 右|左 -> 右&&左 -> 右||左 -> 右xx ? xx : xx(三元运算符)右 -> 左= *= /= %=右 -> 左+= -= =右 -> 左>>>= &= ^= |=
下表中的运算符中,上一行运算符总优先于下一行
只有单目运算符、赋值运算符是从右向左运算的
Java对各种变量、方法和类等命名时使用的字符序列称为标识符
凡是自己可以起名字的地方都叫标识符
最好不要用 $
建议不超过3层,嵌套层数与可读性呈负相关,层数越多可读性越差
while循环和for循环一样,也有相同的循环四要素,只不过放的位置和for循环不一样
简单来说,可以把while循环看作另一种写法的for循环
不必纠结写法上的细枝末节,重点在于知道执行的代码在哪种情况下被循环了几次
和while循环相比,do…while循环会先执行一次寻妖循环的代码,再进行
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |