(08)数据的基本运算:运算符


运算符

01.基本的算法运算符

基本的算术运算符

在这里插入图片描述

package com.itheima.operator;

public class OperatorDemo1 {
    public static void main(String[] args) {
        // 目标:掌握基本的算术运算符的使用。
        int i = 5;  // Shift + F6
        int j = 2;

        System.out.println(i + j);
        System.out.println(i - j);
        System.out.println(i * j);
        System.out.println(i / j); // 2 ==> 注意:两个整数相除的结果一定是整数
        System.out.println(1.0 * i / j); // 2.5  1.0应该放在前面
        System.out.println(i / j * 1.0); // 2.0
        System.out.println(i % j); // 1

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

        int a = 5;
        System.out.println("abc" + a); //  "abc5"
        System.out.println(5 + a); //  10
        System.out.println(a + 'a'); // 5 + 97 = 102
        System.out.println("itheima" + a + 'a'); // "itheima5a"
        System.out.println("itheima" + (a + 'a')); // "itheima102"
        System.out.println(a + 'a' + "itheima"); // "102itheima"
    }
}

运行结果如下:

7
3
10
2
2.5
2.0
1
-------------------------------------------------
abc5
10
102
itheima5a
itheima102
102itheima

package com.itheima.operator;

import java.util.Scanner;

public class OperatorTest2 {
    public static void main(String[] args) {
        // 需求:把一个三位数拆分成个位 十位 百位 输出。
        // 1、接收三位数
        Scanner sc = new Scanner(System.in);
        int number = sc.nextInt();
        System.out.println("三位数是:" + number);

        // 2、开始拆分数字 : number = 321
        int ge = number % 10;
        System.out.println("个位是:" + ge);

        int shi = number / 10 % 10;
        System.out.println("十位是:" + shi);

        int bai = number / 100;
        System.out.println("百位是:" + bai);
    }
}

02.自增、自减


package com.itheima.operator;

public class OperatorDemo3 {
    public static void main(String[] args) {
        // 目标:自增自减运算符
        int a = 10;
        a++; // 等价于 a = a + 1;
        ++a; // 是一样的效果
        System.out.println(a);

        int b = 10;
        b--; // 等价于 b = b - 1;
        --b; // 是一样的效果
        System.out.println(b);

        // 注意事项:自增和自减只能用在变量的前后,不能用在字面量的前后。
        // System.out.println(2++); // 报错
        // System.out.println(2--); // 报错

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

        // 注意1:自增自减非单独使用的时候,放在变量的前面。会先加变量再用变量
        int i = 10;
        int rs = ++i; // 先加再用
        System.out.println(i); // 11
        System.out.println(rs); // 11

        int j = 10;
        int rs2 = j++; // 先用再加
        System.out.println(j); // 11
        System.out.println(rs2); // 10

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

        int m = 5;
        int n = 3;
        // m 5 6 5  4  5
        // n 3 2 3 4
        // result    5  +  5  +  2  + 3 +  2  +  4  +  4  +  4
        int result = m++ + --m + --n + 3 + n++ + ++n + --m + m++;
        System.out.println(m);
        System.out.println(n);
        System.out.println(result);
    }
}

运行结果如下:

12
8
----------------------------------------------
11
11
11
10
----------------------------------------------
5
4
29

03.赋值运算符

package com.itheima.operator;

public class OperatorDemo4 {
    public static void main(String[] args) {
        //目标:赋值运算符
        //微信钱包,余额是6元,红包收4元。
        int money = 6;
        int red = 4;

        money +=red;//等价于money = (int)(money+red);
        System.out.println(money);

        byte a = 12;
        byte b = 13;
        //byte c =(byte)(a+b);
        a += b;//等价于a =(byte)(a+b) 自带强制类型转换
        System.out.println(a);

        System.out.println("---------------");
        int i = 10;
        int j = 5;
        //i +=j;//等价于i=(int)(i+j)
        //i -=j;//等价于i=(int)(i-j)
        //i *=j;//等价于i=(int)(i*j)
        //i /=j;//等价于i=(int)(i/j)
        i %= j;//等价于i=(int)(i%j)
        System.out.println(i);
    }
}

运行结果如下:

10
25
---------------
0

04.关系运算符

package com.itheima.operator;

public class OperatorDemo5 {
    public static void main(String[] args) {
        //目标:掌握关系运算符
        int a = 10;
        int b = 5;

        boolean result = a > b;
        System.out.println(result);

        System.out.println(a > b);//true
        System.out.println(a >= b);//true
        System.out.println(a < b);//false
        System.out.println(a <= b);//false
        System.out.println(a == b);//false
        System.out.println(a != b);//true

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

        int i = 10;
        int j = 10;
        System.out.println(i > j);//false
        System.out.println(i >= j);//true
        System.out.println(i < j);//false
        System.out.println(i <= j);//true
        System.out.println(i == j);//true
        System.out.println(i != j);//false

        //注意事项:判断是否相等一定用==,原因是=是用来做赋值操作的。
        int m = 10;
        int n = 5;
//        System.out.println(m=n);赋值操作了
        System.out.println(m == n);//false
    }
}

运行结果如下:

true
true
true
false
false
false
true
----------------
false
true
false
true
true
false
false

05.逻辑运算符

package com.itheima.operator;

public class OperatorDemo6 {
    public static void main(String[] args) {
        //目标:掌握逻辑运算符
        //需求:判断手机是否满足条件。
        //要求:内存大于等于128且尺寸大于等于6.7
        int storage = 256;
        double size = 6.78;
        //&:要求前后条件都是true,结果才是true,只要有一个是flase结果就一定是false
        System.out.println(storage >= 128 & size >= 6.7);//true

        double height = 175.8;
        int money = 10;
        //需求:要么身高超过173.0,要么年收入大于等于30万。
        // | : 只要前后条件有一个是true,结果就一定是true,必须前后条件都是false结果才是false.
        System.out.println(height > 173 | money >= 30); //  true

        // ! 取反,你真它假 你假它真
        System.out.println(!(2 > 1)); // false
        System.out.println(!(2 < 1)); // true
        System.out.println(!false); // true
        System.out.println(!true); // false

        // ^ 前后条件都一样结果是false,必须前后条件不一样结果才是true
        System.out.println(false ^ false);  // false
        System.out.println(true ^ true);  // false
        System.out.println(true ^ false);  // true
        System.out.println(false ^ true);  // true

        // && : 结果跟&是一样的,但是&&发现左边条件是false的话右边条件不执行。&发现左边条件即使是false还是会执行右边条件。
        int i = 8;
        int j = 100;
        // System.out.println(i > j & ++j > 10); // false
        System.out.println(i > j && ++j > 10);   // false
        System.out.println(j);

        // || : 结果跟|是一样的,但是||发现左边条件是true的话右边条件不执行。|发现左边条件即使是true还是会执行右边条件。
        int m = 999;
        int n = 100;
        // System.out.println(m > n | ++n > 2);
        System.out.println(m > n || ++n > 2);
        System.out.println(n);
    }
}

运行结果如下;

true
true
false
true
true
false
false
false
true
true
false
100
true
100

06.三元运算符、运算符的优先级问题


package com.itheima.operator;

public class OperatorDemo7 {
    public static void main(String[] args) {
        // 目标:掌握三元运算符。
        double score = 59.5;
        String result = score >= 60 ? "考试通过" : "挂科了";
        System.out.println(result);

        // 需求:求两个整数的较大值。
        double height1 = 185.4;
        double height2 = 198.5;
        double max = height1 > height2 ? height1 : height2;
        System.out.println("最高身高是:" + max);

        // 需求:求三个整数的较大值。(拓展)
        int i = 424;
        int j = 1424;
        int k = 44;

//       // 先找出前两个的较大值。
//       int temp = i > j ? i : j;
//       // 再与第三个找
//       int max2 = temp > k ? temp : k;
//       System.out.println("较大值:" + max2);

        // 拓展:三元运算符的嵌套(了解)
        int max2 = i > j ? i > k ? i : k : j > k ? j : k;
        System.out.println("较大值:" + max2);

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

        System.out.println( 10 > 3 || 10 > 3 && 10 < 3);  // &&高于|| true
        System.out.println( (10 > 3 || 10 > 3) && 10 < 3);  // () 优先级最高 false
    }
}

运行结果如下:

挂科了
最高身高是:198.5
较大值:1424
===========================================
true
false
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ayx小蕴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值