位与、位异或、位或运算&数组去重

public class demo {
    public static void main(String args[]) {
        foo(false, true);
        int x = 11 & 9;
        int y = x ^ 3;
        /**
         * 首先,我们来解析一下这段代码。
         *
         * int x = 11 & 9; 这一行使用了位与运算符(&),将数字11和9进行按位与操作。在二进制中,11表示为1011,9表示为1001。按位与操作的规则是:如果两个相应的二进制位都为1,则结果为1,否则为0。因此,11 & 9的结果为1001,即十进制的9。
         *
         * int y = x ^ 3; 这一行使用了位异或运算符(^),将变量x(值为9)和数字3进行按位异或操作。在二进制中,9表示为1001,3表示为0011。按位异或操作的规则是:如果两个相应的二进制位相同,则结果为0,否则为1。因此,9 ^ 3的结果为1010,即十进制的10。
         *
         * System.out.println( y | 12 ); 这一行使用了位或运算符(|),将变量y(值为10)和数字12进行按位或操作。在二进制中,10表示为1010,12表示为1100。按位或操作的规则是:只要有一个相应的二进制位为1,则结果为1,否则为0。因此,10 | 12的结果为1110,即十进制的14。
         *
         * 所以,程序的输出是D. 14。
         */
        System.out.println( y | 12 );

        /**
         * 输入数组进行去重
         */
        Scanner scanner = new Scanner(System.in);

        // 读取输入数组的长度
        System.out.print("请输入输入数组的长度:");
        int n = scanner.nextInt();

        // 读取输入数组的元素
        System.out.print("请输入输入数组的元素:");
        int[] nums = new int[n];
        for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();
        }

        // 使用 Stream API 去重并转为数组
        int[] result = Arrays.stream(nums)
                .distinct()
                .toArray();

        // 输出去重后的数组
        System.out.println("去重后的数组为:",);
        for (int num : result) {
            System.out.print(num + " ");
        }

        scanner.close();
    }
    public static void foo(boolean a, boolean b) {

        if (a) {

            System.out.println("A"); /* Line 5 */

        } else if (a && b) /* Line 7 */ {

            System.out.println("A && B");

        } else /* Line 11 */ {

            if (!b) {

                System.out.println("notB");

            } else {

                System.out.println("ELSE");

            }

        }

    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值