您的位置:首页 > 编程语言 > Java开发

java 编程思想 阅读笔记(2)

2015-09-16 22:28 701 查看

java 编程思想 阅读笔记(2)

关于 equals() 和 ==

[code]    public static void main(String[] args) {
        Integer x1 = new Integer(24);
        Integer x2 = new Integer(24);
        int x3 = 24;
        System.out.println(x1 == x2);
        System.out.println(x1 == x3);
    }


[code]输出
false
true


原因,x1 和 x2比较的是两个对象,x1 和 x3 则会利用自动装箱类型比较

float double 浮点数比较

浮点数要注意,不能用== 和!=比较,最好使用下面这种求绝对值和允许误差比较

if(Math.abs(sectionID - currentSectionID) < epsilon)


短路与

短路与是&&,按位与是&

&&如果有一个语句为 false,后面的就不比较了

而&则会比较所有的语句

java float

Java 默认是 double,所有 float 要在后面加上 f 或者 F

[code]float f1 = 1; //correct
float f2 = 1.0; // wrong
float f3 = 1.0f;


分析,第一个f1=1 不会报错,因为会把 int 转为 float。而第2个默认1.0是 double,把 double 转为 float 是向下转型,精度丢失,会报错。

直接变量的相关字符

十六进制 0x 0X (第一个是零)

八进制 0 (第一位是0)

指数计数法

System.out.println(12e2);


输出1200.0

注意这儿 e 表示10的指数,而且结果是 double

按位操作符

^ 异或,相同为0,不同为1

~ 非

java 输出 char

查看这篇文章,可以看到 char 向上转型输出

java char 和 int 向上转型

[code]char testChar = 'a';
System.out.println(testChar + 0);


输出 97

如果这篇文章对您有帮助,感谢捐赠注一注彩票钱

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: