容易忽略的java细节

public class Test1 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int i = 10;
        String str = "Hello World " + i;
        // 计算j1/j2时整型变量会提前转换为浮点型数据。然后进行运算
        int j1 = 2;
        float j2 = 2.3f;
        System.out.println("j1/j2= " + (j1 / j2));
        // 关系表达式会返回一个布尔值
        System.out.println("i>j " + (i > j1));
        // “+”会将所有的数据类型转换为字符串
        System.out.println(str);
        for (int k = 0; k < 3; k++) {
            if (k == 1) {
                // 返回到起始位置
                continue;
            }
            System.out.println("kc= " + k);
        }
        for (int k = 0; k < 3; k++) {
            if (k == 1) {
                // 跳出当前循环
                break;
            }
            System.out.println("kb= " + k);
        }
        int mov1 = -3;
        int mov2 = 2;
        //带符号右移
        System.out.println("mov1>>2 :" + (mov1 >> 2));
        //无符号右移
        System.out.println("mov1>>>2 :" + (mov1 >>> 2));
        // 异或
        System.out.println("mov1^mov1 :" + (mov1 ^ mov1));
        // 按位与
        System.out.println("mov1&mov1 :" + (mov1 & mov1));
        // 按位或
        System.out.println("mov1|mov2 :" + (mov1 | mov2));
        // 与(&)和短路与(&&) 或(|)和短路或(||)
        int test1 = 10;
        int test2 = 100;
        //若前一个布尔值是1,则后面不再执行判断
        if (10 == 10 || ++test1 > 10) {
            System.out.println("test1= " + test1);
        }
        //若前一个布尔值是1,则后面仍然执行判断
        if (10 == 10 | ++test1 > 10) {
            System.out.println("test1= " + test1);
        }
        //若前一个布尔值是0,则后面不执行判断
        if (10 != 10 && --test2 > 100) {
        }
        System.out.println("test2= " + test2);
        //若前一个布尔值是0,则后面仍然执行重点内容判断
        if (10 != 10 & --test2 > 100) {
        }
        System.out.println("test2= " + test2);

    }
}



转载  http://blog.csdn.net/zhanggaofeixy/article/details/51167831

posted @ 2016-12-10 21:47  孙中明  阅读(85)  评论(0编辑  收藏  举报