Java编程小知识点

1、Java中的所有函数,都属于某个类的方法。标准术语将其称为方法,而不是成员函数。

2、在Jav中,长整型(long)数值后有一个后缀L,比如40000000000L;十六进制数值有一个前缀0x,比如0xCAFE;
八进制数值有一个前缀0,比如020(十进制的16);从Java7开始,二进制数数值可以加一个前缀0b,比如0b1001(十进
制的9);还可以在数字加上下划线,比如0b1_001,与0b1001是一样的,都代表着十进制数的9。

3、const是Java保留的关键字,但是,目前并没有使用。在Java中,必须使用final定义常量。

4、在默认的情况下,虚拟机设计者允许将中间计算结果采用扩展的精度,但是,对于使用strictfp关键字标记的方法,必须使用严格的浮点计算来产生理想的结果。例如,将main方法标记为:public static strictfp void main(String [] args),于是,在main方法中,所有指令都将使用严格的浮点计算。如果讲一个类标记为strictfp,这个类中的所有方法都要使用严格的浮点计算。

5、左移(<<)/右移(>>)运算符可以对二进制位进行左移/右移操作,当需要建立位模式屏蔽某些位时,使用这两个运算符十分方便。
运算符>>>将用0填充高位,>>运算符用符号位填充高位,没有<<<运算符。
对移位运算符右侧的参数,需要进行取模32的运算(如果左边的操作是long类型,则使用取模64),
比如:1 << 35,等价于 1 << 3。
对于C/C++来说,>>运算符实际上只对非负数起作用,Java对于正负数都起作用。

6、在Math类中,为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程。如果得到一个完全可预测的
结果比运行速度更加重要的话,那么,就应该使用StrictMath类。这样,可以确保所有平台上,都得到相同的结果。

7、使用Math.round()方法,可以获得最接近该数的整数,这个方法返回一个long值。
因此,实际使用的时候,可能还需要使用强制类型转换,比如,将double类型的x,转换为int类型的intx:
double x = 10.008;
int intx = (int)Math.round(x);

8、一定不要使用 == 运算符检测两个字符串是否相等,因为 == 运算符只能够判断两个字符串是否放置在同一个位置。要使用equels()或compareTo()方法来判断两个字符串是否相等。

9、空串”“是长度为0的字符串,它是一个Java对象,有自己的串长度(0)和内容(空),与null字符串是不一样的。
可以使用以下的两种方式,来判断一个字符串是否为空:
if(str.length() == 0) 或 if(str.equals(“”))
检查一个字符串既不是null,也不为空串,可以使用以下的条件判断:
if(str != null && str.length() == 0) { 代码段 }
这样子可以放置出现空指针异常。

10、String trim()方法,返回一个新字符串,这个字符串将删除原始字符串头部和尾部的空格。

11、当多字符串进行拼接的时候,使用”+”运算符效率会比较低。这时,可以使用StringBuilder(单一线程),
对于多线程,则需要使用StringBuffer,来拼接字符串。

你可能感兴趣的:(Java)