运算符

//运算符
public class day2 {
    public static void main(String[] args) {
        int a = 3;
        int b = 2;
        // 加号运算符
        System.out.println("a+b="+(a+b));// 代码计算括号的优先级高于字符串 结果:a+b=3
        System.out.println(a+"+"+b+"="+(a+b));// 字符串拼接 结果:1+2=3
        // 除法运算符
        System.out.println(a/b);
        // 取余运算符
        System.out.println(a%b);
        int c = 4;
        /*
        注意:赋值运算时不一样
        未参与运算
            c++或++c 等于c = c+1
            int c = 4;
            System.out.println(c++);
        参与运算
            ++在后,先自身加1,然后在参与运算
                int c = 1;
                int d = c++;
                System.out.println(d);// 结果2
            ++在前,先参与运算,然后自身加1
                int c = 1;
                int d = ++c;
                System.out.println(d);// 结果1
        */
        System.out.println(c++);
        int e = 4;
        /*
        注意:赋值运算时不一样
        未参与运算
            e--或--e 等于e = e+1
            int e = 4;
            System.out.println(e--);
        参与运算
            --在后,先自身减1,然后在参与运算
                int e = 1;
                int d = e--;
                System.out.println(d);// 结果2
            --在前,先参与运算,然后自身减1
                int e = 1;
                int d = --e;
        */
        System.out.println(c--);
        int i = 10;
        //int j = i++ + ++i + i-- + --i
        int v = i++; // v=10 i=11
        int v1 = ++i; // v1=12 i=12
        int v2 = i--; // v2=12 i=11
        int v3 = --i; // v3=10 i=10
        int v4 = v+v1+v2+v3;
        System.out.println(v4);
        // 赋值运算符
        /*
        =
        +=
        -=
        *=
        /=
        %=
        */
        int n = 1;
        n +=2;// n = n + 2
        System.out.println(n);
        //关系运算符
        /* 注意:关系运算符返回值只会是boolaen类型
        <
        >
        >=
        <=
        !=
        ==
        */
        int n1 = 1;
        int n2 = 2;
        boolean n3 = n1>n2;
        System.out.println(n1>n2);// false
        System.out.println(n3);// false
        // 逻辑运算符
        /*
        &(单与)
        |(单或)
        ^(异或)
        !(非)
        &&(双与)
        ||(双或)
        面试题
            &和&&的区域别是什么?
                &:  如果左边为false,那么右边依然执行,结果为false
                &&: 如果左边为false,那么右边就不在执行了,结果为false
            |和||的区别是什么?
                |:  如果左边为true,那么右边依然执行,结果为true
                ||: 如果左边为true,那么右边就不在执行了,结果为true
            结论:推荐使用&&,||,提升效率
        */
        // &(单与) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是false,那么结果就为false
        System.out.println(true & true);// true
        System.out.println(true & false);// false
        System.out.println(false & true);// false
        System.out.println(false & false);// false
        // |(单或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是true,那么结果就为true
        System.out.println(true | true);// true
        System.out.println(true | false);// true
        System.out.println(false | true);// true
        System.out.println(false | false);// false
        // ^(异或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值如果两边相同就是false,两边不同就是true
        System.out.println(true ^ true);// false
        System.out.println(true ^ false);// true
        System.out.println(false ^ true);// true
        System.out.println(false ^ false);// false
        // !(非) 注意:首先两边的数据必须是boolean类型,结论:取反值,!!偶数取正
        System.out.println(!true);// false
        System.out.println(!false);// true
        System.out.println(!!true);// true
        System.out.println(!!!true);// false
        // &&(双与) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是false,那么结果就为false
        System.out.println(true && true);// true
        System.out.println(true && false);// false
        System.out.println(false && true);// false
        System.out.println(false && false);// false
        // ||(双或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是true,那么结果就为true
        System.out.println(true || true);// true
        System.out.println(true || false);// true
        System.out.println(false || true);// true
        System.out.println(false || false);// false
        // 位运算符
        /*
        &(与位运算)
        |(或位运算)
        ^(异或位运算)
        ~(按位运算)
        >>(右移位运算)
        <<(左移位运算)
        >>>(无符号右移位运算)
        什么是位运算符:两边的数据都是数字,结果也为数字
        */
        System.out.println(3 & 2);// 2
    }
}
//运算符
public class day2 {
    public static void main(String[] args) {
        int a = 3;
        int b = 2;
        // 加号运算符
        System.out.println("a+b="+(a+b));// 代码计算括号的优先级高于字符串 结果:a+b=3
        System.out.println(a+"+"+b+"="+(a+b));// 字符串拼接 结果:1+2=3
        // 除法运算符
        System.out.println(a/b);
        // 取余运算符
        System.out.println(a%b);
        int c = 4;
        /*
        注意:赋值运算时不一样
        未参与运算
            c++或++c 等于c = c+1
            int c = 4;
            System.out.println(c++);
        参与运算
            ++在前,先自身加1,然后在参与运算
                int c = 1;
                int d = c++;
                System.out.println(d);// 结果2
            ++在后,先参与运算,然后自身加1
                int c = 1;
                int d = ++c;
                System.out.println(d);// 结果1
        */
        System.out.println(c++);
        int e = 4;
        /*
        注意:赋值运算时不一样
        未参与运算
            e--或--e 等于e = e+1
            int e = 4;
            System.out.println(e--);
        参与运算
            --在前,先自身减1,然后在参与运算
                int e = 1;
                int d = e--;
                System.out.println(d);// 结果2
            --在后,先参与运算,然后自身减1
                int e = 1;
                int d = --e;
        */
        System.out.println(c--);
        int i = 10;
        //int j = i++ + ++i + i-- + --i
        int v = i++; // v=10 i=11
        int v1 = ++i; // v1=12 i=12
        int v2 = i--; // v2=12 i=11
        int v3 = --i; // v3=10 i=10
        int v4 = v+v1+v2+v3;
        System.out.println(v4);
        // 赋值运算符
        /*
        =
        +=
        -=
        *=
        /=
        %=
        */
        int n = 1;
        n +=2;// n = n + 2
        System.out.println(n);
        //关系运算符
        /* 注意:关系运算符返回值只会是boolaen类型
        <
        >
        >=
        <=
        !=
        ==
        */
        int n1 = 1;
        int n2 = 2;
        boolean n3 = n1>n2;
        System.out.println(n1>n2);// false
        System.out.println(n3);// false
        // 逻辑运算符
        /*
        &(单与)
        |(单或)
        ^(异或)
        !(非)
        &&(双与)
        ||(双或)
        面试题
            &和&&的区域别是什么?
                &:  如果左边为false,那么右边依然执行,结果为false
                &&: 如果左边为false,那么右边就不在执行了,结果为false
            |和||的区别是什么?
                |:  如果左边为true,那么右边依然执行,结果为true
                ||: 如果左边为true,那么右边就不在执行了,结果为true
            结论:推荐使用&&,||,提升效率
        */
        // &(单与) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是false,那么结果就为false
        System.out.println(true & true);// true
        System.out.println(true & false);// false
        System.out.println(false & true);// false
        System.out.println(false & false);// false
        // |(单或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是true,那么结果就为true
        System.out.println(true | true);// true
        System.out.println(true | false);// true
        System.out.println(false | true);// true
        System.out.println(false | false);// false
        // ^(异或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值如果两边相同就是false,两边不同就是true
        System.out.println(true ^ true);// false
        System.out.println(true ^ false);// true
        System.out.println(false ^ true);// true
        System.out.println(false ^ false);// false
        // !(非) 注意:首先两边的数据必须是boolean类型,结论:取反值,!!偶数取正
        System.out.println(!true);// false
        System.out.println(!false);// true
        System.out.println(!!true);// true
        System.out.println(!!!true);// false
        // &&(双与) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是false,那么结果就为false
        System.out.println(true && true);// true
        System.out.println(true && false);// false
        System.out.println(false && true);// false
        System.out.println(false && false);// false
        // ||(双或) 注意:首先两边的数据必须是boolean类型,结论:校验如果返回值有一个是true,那么结果就为true
        System.out.println(true || true);// true
        System.out.println(true || false);// true
        System.out.println(false || true);// true
        System.out.println(false || false);// false
        // 位运算符
        /*
        &(与位运算)
        |(或位运算)
        ^(异或位运算)
        ~(按位运算)
        >>(右移位运算)
        <<(左移位运算)
        >>>(无符号右移位运算)
        什么是位运算符:两边的数据都是数字,结果也为数字
        */
        System.out.println(3 & 2);// 2
    }
}
posted @ 2024-03-01 18:11  公子Learningcarer  阅读(2)  评论(0编辑  收藏  举报