Java中的运算符

1.算数运算符:
+ -
+ -
* /
(前)++ (后)++
(前)-- (后)--
+
【典型代码】
        //除号:/
        int num1 = 12;
        int num2 = 5;
        int result1 = num1 / num2;
        System.out.println(result1);//2


        //(前)++:先自增1,后运算
        int a1 = 10;
        int b1 = ++a1;
        System.out.println("a1 = " + a1 +",b1 = " + b1);
        
        


        //(后)++ 先运算,后自增1
        int a2 = 10;
        int b2 = a2++;
        System.out.println("a2 = " + a2 +",b2 = " + b2);

        //(前)--:先自减1,后运算
        int a4 = 10;
        int b4 = --a4;
        System.out.println("a4 = " + a4 +",b4 = " + b4);
        

        //(后)++  先运算 后自减1
        int a5 = 10;
        int b5 = a5--;
        System.out.println("a5 = " + a5 +",b5 = " + b5);


【特别说明】
1. //(前)++:先自增1,后运算
    //(后)++ 先运算,后自增1
2. //(前)--:先自减1,后运算
    //(后)++  先运算 后自减1
3.连接符:+:使用于string类型和其他数据类型之间

2.赋值运算符: =   +=   -=  *=  /=   %=

【典型代码】
        //赋值符号:=
        int i1 = 10;
        int j1 = 10;

        int i2,j2;
        i2 = j2 = 10;

        int i3 = 10,j3 = 30;//连续赋值


        int num1 = 10;
        num1 += 2; //num1 = num2 + 2;
        System.out.println(num1);//12


        int num2 = 12;
        num2 %= 5; //num2 = num2 % 2;
        System.out.println(num2);

        short s1 = 10;
        s1 += 2;//不会改变变量本身数据类型
        System.out.println(s1);

【特别说明】
1.运算的结果不会改变变量本身的数据类型
2.
//开发中,如果希望变量实现+2的操作,有几种方法?(前提:int num = 10;)
        //方式一:num = num + 2;
        //方式二:num += 2;(推荐)

        //开发中,如果希望变量实现+1的操作,有几种方法?(前提:int num = 10;)
        //方式一:num = num + 1;
        //方式二:num += 1;
        //方式三: num++;(推荐)
 

3.比较运算符:==   !=  >  <  >=  <=   instanceof


【典型代码】
        int i = 10;
        int j = 20;
        System.out.println(i == j);
        System.out.println(i = j);
        
        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b2 = b1);
        System.out.println(b2 = b1);


【特别说明】
1.比较运算符的结果是boolean类型
2.>  <  >=  <= :只能使用在数据类型的数据之间。
3. ==  和 !=  : 不仅可以使用在数据类型数据之间,还可以使用在其他引用类型变量之间。
 

4.逻辑运算符:& && | || !  ^

【典型代码】
        //区分& 与 &&
        //相同点1:& 与 && 运算结果相同
        //相同点2:当符号左边是true,二者都会执行符号右边的运算
        //不同点: 当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算
        //在开发中,推荐使用&&
        boolean b1 = true;
        b1 = false;
        int num1 = 10;
        if(b1 & (num1++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");

        System.out.println("num1 = " + num1);
}
        boolean b2 = true;
        b2 = false;
        int num2 = 10;
        if(b2 && (num2++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
}
        System.out.println("num2 = " + num2);

        //区分: | 与 ||
        //相同点1:| 与 ||的运算结果相同
        //相同点2:当符号左边是false时,二者都会执行符号右边的运算
        //不同点:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
        //开发中,推荐使用||
        boolean b3 = false;
        b3 = true;
        int num3 = 10;
        if(b3 | (num3++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
}
        System.out.println("num3 = " + num3);

        boolean b4 = false;
        b4 = true;
        int num4 = 10;
        if(b4 || (num4++ > 0)){
            System.out.println("我现在在北京");
        }else{
            System.out.println("我现在在南京");
}
        System.out.println("num4 = " + num4);
        
    }

【特别说明】
1.逻辑运算符操作的都是boolean类型的变量

5.位运算符:  <<  >>  >>>   &   |   ^  ~


【典型代码】
        int i = 21;
        
        System.out.println("i << 2 :" + (i << 2));
        System.out.println("i << 3 :" + (i << 3));
        System.out.println("i << 90 :" + (i << 90));

        int m = 12;
        int n = 5;
        System.out.println("m & n ;" + (m & n))

        System.out.println("m | n ;" + (m | n))

        System.out.println("m ^ n ;" + (m ^ n))

【特别说明】
    1.位运算符操作的都是整型的数据
    2.<< :在一定的范围内,每向左移1位,相当于 * 2
        >> :在一定的范围内,每向右移1位,相当于 / 2

6.三元运算符
(条件表达式)? 表达式1: 表达式2


【特别说明】
1.条件表达式的结果都是boolean类型
2.根据条件表达式或真或假,决定执行表达式1,还是表达式2
    如果表达式是true, 则是表达式1
    如果表达式是false, 则是表达式2
   表达式1和表达式2要求一致的
    三元运算符可以被嵌套使用
3.凡是可以使用三元运算符的地方,都可以改写if-else
    反之 不成立
4.如果程序可以使用三元运算符,又可以使用if-else结构,那么优先选用三元运算符
    原因:简洁 运行效率高
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值