1.JDK、JRE、JVM三者的关系?
JDK:是Java的最小开发环境,是整个Java开发的核心,集成了JRE和开发工具包。
JRE:是Java的最小运行环境,包含JVM的标准实现和java的一些基本类库;
JVM:是Java虚拟机,只认识.class这类的文件,是java能够跨平台的核心机制(通俗的说就是跨平台用的,就是把我们写的代码,转换成class文件用的。);
三种的关系:JDK包含了JRE,JRE包含了JVM;
2.Java的基本数据类型?
拓展:
常用的转换关系:
位 bit,来自英文bit,音译为“比特”,表示二进制位。
1 Byte = 8 Bits (1字节 = 8位)
1 KB = 1024 Bytes 1 MB = 1024 KB 1 GB = 1024 MB
类型转换
boolean类型不参与类型转换
小转大,直接转 – 隐式转换
大转小,强制转 – 显式转换,格式:byte b = (byte) a;
浮变整,小数没 – 浮点型转整形是直接舍弃所有的小数部分的,不会四舍五入
类型能否转换,取决于类型的取值范围,而不是字节数,字节数只能做大概的参考
3.什么是逻辑与和短路与(&和&&)?
逻辑与 符号: & 只有两个条件返回值都是true,结果才是true。
短路与 符号:&& 只有两个条件返回值都是true,结果才是true。 但是如果条件返回值为false,就不计算右边的表达式,直接得出false。相当于短路了右边。
逻辑或 符号:| 只有两个条件返回值都是false,结果才是false。
4.什么是逻辑或和短路或(|和||)?短路或符号:|| 只有两个条件返回值都是false,结果才是false。 但是如果左边条件返回值为true,就不计算右边的表达式,直接得出true。相当于短路了右边。
结论:Java逻辑运算中,相较于逻辑与(&)和逻辑或(|),短路与(&&)和短路或(||)在某些情况下能减少代码的运算量,提高代码性能。



