Java基础--运算符的各种应用

/**
 * 操作运算符
 * 1:算数运算(一元运算、二元运算)
 * 2:赋值运算
 * 3:关系运算
 * 4:幂运算
 * 5:逻辑运算
 * 6:短路运算
 * 7:扩展赋值运算
 * 8:三目运算(条件运算&三元运算)
 */
public class Operator {

    int a = 10;
    int b = 20;


    public static void main(String[] args) {

        Operator operator = new Operator();
        int a = operator.a;
        int b = operator.b;

        //算数运算
        //一元运算符(单个单元操作,本身)++ -- 自增 自减
        // a++ (a = a + 1); b-- (b = b - 1);
        //a++,下面输出10,这行代码走完后,a才会+1
        System.out.println(a++);
        //此时输出变成11
        System.out.println(a);
        //--b,输出的时候已经变成20-1 = 19了;
        System.out.println(--b);
        //先给c赋值,然后自己自增,此时a为11,c也是输出11
        int c = a++;
        System.out.println(c);//11
        //先自减,再赋值,19-1 = 18,d = 18
        int d = --b;
        System.out.println(d);

        //二元运算符 (两个单元操作)
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        //两个int类型会输出0
        System.out.println(a / b);
        //强转为double 输出正常0.5
        System.out.println(a / (double) b);
        //b余a 10%20 = 0,取余,也叫   模运算
        System.out.println(b % a);
        //16%5 = 3 余 1,输出1
        System.out.println(16 % 5);


        //赋值运算
        int num = 10;


        //关系运算符,返回正确错误
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a >= b);
        System.out.println(a <= b);
        System.out.println(a == b);
        System.out.println(a != b);


        //幂运算,2^3,2的三次方  2³ = 2 * 2 * 2 = 8
        //很多时候,我们会使用工具类来进行数据操作
        System.out.println(Math.pow(2, 3));


        //逻辑运算
        //与(&&)并且、 或(||)或者、 非(!)取反
        boolean flag1 = true;
        boolean flag2 = false;
        /*逻辑与运算
        * && 两个都为真,结果才是真(判断到第一个比较是假,则直接返回假,也就是直接短路)
        * || 两个有一个真,结果就是真(判断到第一个是真,则直接返回真)
        * ! 如果是真,则为假,如果是假则为真(取反)
        * */
        System.out.println("flag1 && flag2:" + (flag1 && flag2));//false
        System.out.println("flag1 || flag2:" + (flag1 || flag2));//true
        System.out.println("flag2 || flag1:" + (flag2 || flag1));//true
        System.out.println("!(flag1 && flag2):" + !(flag1 && flag2));//true

        //短路运算(测试&&、||遇到第一个真假后是否会直接返回)
        int testNum = 9;

        //当第一个条件不满足时,&&会直接返回false,后面的不做判断
        boolean test1 = (testNum < 4) && (testNum++<10);
        System.out.println(test1);//false
        System.out.println(testNum);//输出9,说明 9 < 4 是假的,直接就返回false,testNumOne++没有执行

        //当第一个条件满足时,后面的判断才会进行,当第一第二条件同时满足时,返回true
        // boolean test2 = (testNum < 11) && (testNum++<10);
        // System.out.println(test2);//true, 9 < 11 true,testNum++运行完才会+1,所以此时还是9,9<10 true,都符合,返回true
        // System.out.println(testNum);//输出9+1 = 10

        //换成++testNum
        boolean test2 = (testNum < 11) && (++testNum<10);
        System.out.println(test2);//false,因为++9=10,10<10是false
        System.out.println(testNum);//输出10


        //扩展赋值运算符
        int a1 = 10;
        int b1 = 20;

        System.out.println(a1+=b1); //a1 = a1 + b1 输出30
        System.out.println(a1-=b1); //a1 = a1 - b1 此时a1 = 30, 30 -20 = 10
        System.out.println(a1*=b1); //a1 = a1 * b1 此时a1 = 10,10 * 20 = 200
        System.out.println(a1/=b1); //a1 = a1 / b1 此时a1 = 200,200 / 20 = 10

        //字符串连接符
        System.out.println(""+a1+b1);//输出1020   String在前面,后面的开始拼接字符
        System.out.println(a1+b1+"");//输出30     String在最后面,前面的开始计算,不拼接
        System.out.println(a1+""+b1);//输出1020     String在中间,也是开视拼接



        //条件运算符(三元运算符)
        // x ? y : z
        //如果x是true的话,结果为y,否则为z
        int salary = 10000;
        String str = salary < 12000 ? "工资不够花" : "工资够花";
        System.out.println(str);//10000<12000,条件满足,则输出工资不够花


    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值