**1.Java有八种基本类型
四种整型,byte、short、int、long。 一种字符型 char 。 两种浮点型 :float、double 一种布尔型 boolean
2.四种基本类型和浮点型的
记得时候建议:因为四种基本类型满足,一个字节8位,所以取值范围上是2的8次方减1,注意int最大约是20亿。long是1后跟18个零。
3.对于byte和short类型,用在当存储空间非常珍贵时的底层文件处理,或者大数组的处理。
16进制0x作为前缀,2进制是0b作为前缀,byte是-128到127,如果要是0-255的话,就是Byte.toUnsignedInt(b);
float类型的后跟f,不跟的话默认的是double的类型。
4.double中有个正无穷和负无穷分别是,Double.POSITIVE_INFINITY和Double.NEGATIVE_INFINITY.
5. n++是先赋值后执行++操作,++n是先执行++操作再赋值,
6. 两个正整数相乘有可能是负的,因为范围会溢出。
7. 在进行运算的时候为了防止这些溢出最好采用Java给你提供的方法,这些方法会产生异常,不会直接终止程序执行,Math.multiplyExact(,);注意这些方法的使用。
8. 在进行数字类型的转换时,记住了字节小的向字节大的转换,不会有意外,可以进行,
比如byte型到short、int、long或者double. 比如byte型到short、int、long或者double.
short和char到int、long和double转化。整数型到浮点型的转化总是合法的。
short和char到int、long和double转化。整数型到浮点型的转化总是合法的。 short和char到int、long和double转化。整数型到浮点型的转化总是合法的。
但是
这种是不合法的:
int类型向float,从long类型到float或者double。因为我们知道,从大字节到小字节的转化时,因为大字节取值范围大于小字节,所以会发生错误。
9.如果你运算的数值非常大,那么你可以用BigInteger或者BigDecimal,前者只针对整数,后者还真对浮点型
10.字符串进行比较的时候别用==,因为这是比较引用的,不牵扯到值的比较。当然在判断一个对象是否为null时,用这个==是可以的,
在进行比较是否相等的时候,用if(“world”.equals(location))。。。这是个好主意,把字符串放前边,因为当loction为null的时候可以正常执行。
9. first.compareTo(second),如果first排在second的前边那么,会返回一个负值,这个值就是在它前边多少位,如果是0,这两两个数就相等,如果是正值就是在它后边多少位,注意这个值不是一直是+1或者-1.
10. trim(),返回一个删除了前后空白的字符串。**
11. System.in只能获取单个字符。
12. 基本类型和包装类型的相互转换是自动进行的,即自动拆箱和自动装箱。
13. printf("",)可以控制输出的形式。
我是读《写个大忙人看的Java核心技术》感悟的,持续更新中。