[学][2023.11.13] Java 自学 强化 第一天 运算(1)

Test1 逻辑运算符 短路机制

/**
 * 逻辑运算符
 */
        //逻辑或 二者满足其一时 就是真
        System.out.println("false || true =" + (false || true) );
        System.out.println("false || false =" + (false || false) );
        System.out.println("true || true =" + (true || true) );
        System.out.println("true || false =" + (true || false) );

        System.out.println("==============================");

        //逻辑与 二者必须都是真是  才是真
        System.out.println("false && true =" + (false && true) );
        System.out.println("false && false =" + (false && false) );
        System.out.println("true && true =" + (true && true) );
        System.out.println("true && false =" + (true && false) );

        System.out.println("==============================");

        //逻辑非 非真即假 非假即真
        System.out.println("!true =" + !true);
        System.out.println("!false =" + !false);

        System.out.println("==============================");


/**
 * 短路机制
 */
        int a = 5, b = 6;

        System.out.println((a=9)>0||(b=8)>0);
//        因为 逻辑或运算有一个为真 就为真了 当第一个表达式为真的时候 后面就形成短路了
        System.out.println("a = " + a + "\nb = " + b);

        System.out.println( (a = 7) < 0 && (b=2) > 0 );
//        因为 逻辑与运算需要两个都为真才真 当第一个已经是假了 后面就形成短路了
        System.out.println("a = " + a + "\nb = " + b);

Test2 关系运算符

        /**
         * 关系运算符
         */
        //关系运算符得到的运行结果是 布尔类型
        System.out.println(" 1>2 = " + (1>2) );
        System.out.println(" 1<2 = " + (1<2) );
        System.out.println(" 1>=2 = " + (1>=2) );
        System.out.println(" 1<=2 = " + (1<=2) );
        System.out.println(" 1>2 != " + (1!=2) );
        System.out.println(" 1>2 == " + (1==2) );

Test3 三元运算符

        /**
         * 三元运算符
         */

        //当 A ? B : C ,当A的表达式为真的时候,执行B表达式,否则执行C表达式;
        System.out.println(true ? 1 : 2);
        System.out.println(false ? 1 : 2);

        //比较两个最大值
        int a = 2 ,b = 3;
        System.out.println(a > b ? a : b);

Test4 位运算符(了解)

        /**
         * 位运算符
         */

        // & 按位与
        // 运算规则:同1为1 否为0
        System.out.println(" 5 & 6 = " + (5 & 6) );

        // | 按为或
        // 运算规则:有1则1 无为0
        System.out.println(" 5 | 6 = " + (5 | 6) );

        // | 按为异或
        // 运算规则:相同为,不同为1
        System.out.println(" 5 ^ 6 = " + (5 ^ 6) );

        // ~ 按为取反
        // 运算规则:1变0,0变1   加1添负号
        System.out.println(" ~ 6 = " + (~ 6) );

        // <<
        // 每向左移动一位 扩大2倍
        System.out.println(" 37 << 2 = " + (37 << 2) );

        // >>
        // 每向右移动一位 缩小2倍(取整)
        System.out.println(" 37 >> 2 = " + (37 >> 2) );

Test5 赋值运算符

        /**
         * 赋值运算符
         */

        int a = 9;
        System.out.println(a);

        //
        int b = 5;
        b += 2;  //推荐 ,因为运行效率高
//        b = b + 2;
        System.out.println(b);

Test6 自增自减

        /**
         * 自增自减
         */
        // ++ 自增
        int a  = 6;
        a++;
        System.out.println(a);
        // -- 自减
        a--;
        System.out.println(a);

        System.out.println("===========================");


        // ++ 运算符后置
        System.out.println(a);
        System.out.println(a++);
        System.out.println(a);


        System.out.println("===========================");


        // ++ 运算符前置
        System.out.println(a);
        System.out.println(++a);
        System.out.println(a);


        System.out.println("===========================");

Test7 ++ -- 扩展案例

        /**
         * ++ --扩展案例
         */

        int a = 5;
        System.out.println(++a + ++a + ++a);
        System.out.println("===============");
        System.out.println(a++ + a++ + a++);

Test8 从键盘输入

        /**
         * 从键盘输入
         */
        //第一种写法
        int a;
        a = new Scanner(System.in).nextInt();

        //第二种写法
        //获取一个键盘输入的扫描对象
        Scanner sc = new Scanner(System.in);
        //通过键盘的扫描对象获取一个整数类型的值 给整型变量赋值
        int b = sc.nextInt();

        //输出值
        System.out.println(a);

Test9 三元运算符

        //求三个数的最大值
        int i=1,j=2,k=3;
        System.out.println( i > j ? (i > k ? i : k) : (j > k ? j : k));


        //分别输出一个三位数的 个位 十位  百位
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个三位数:");
        int a = sc.nextInt();
        System.out.println( a + "的个位是:" + a % 10 );
        System.out.println( a + "的十位是:" + a / 10 % 10 );
        System.out.println( a + "的百位是:" + a / 100 );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值