04Java运算符

Java中的运算符包括算法运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、对象、下标、实例、内存分配、强制类型转换、方法调用运算符等

一、算术运算符

算数运算符操作示例结果
+正号+55
-负号-5-5
+5+510
-11-56
*5*525
/5/51
%取模5%21
++自增(前)a=5;b=++aa=6;b=6
++自增(后)a=5;b=a++a=6;b=5
自减(前)a=5;b=–aa=4;b=4
自减(后)a=5;b=a–a=4;b=5
+字符串相加“123”+“456”“123456”

注意
1、i++、++i参与运算的区别
i++:先参与运算、再自增;++i:先自增、再参与运;- -亦如此

2、Java的计算规则
(1)、计算的封闭性:同一种数据类型参与运算,计算结果也是相同的数据类型
(2)、当byte、char、short类型的变量参与运算时,JVM会首先将byte、char、short的变量转换成int类型再进行运算
(3)、两个不同类型的操作数参与运算时,系统会将两者先统一为较大范围者的数据类型再进行运算

public class Test02Operator {
    //运算符
    public static void main(String[] args) {
        //i--和--i的区别
        //1、不参与运算时,效果一样,都是自增或自减
        int b = 10;
        b--;
        --b;
        //2、参与运算时
        int i = 10;
        int c = i--; //--在后,先参与运算,再自增或自减
        System.out.println(i);  //i = 9
        System.out.println(c); //10
        i = 10;
        c = --i; //--在前,先自增或自减,再参与运算
        System.out.println(i);  //i = 9
        System.out.println(c); //c = 9

        /*
        * 运算规则
        * */
        System.out.println(5/2.5); //2.0,运算的封闭性
        char ch = 'A';
        char ch2 = 'a';
        byte b1 = 5;
        short s = 5;
        int result = ch + ch2;
//        先转换为int类型再运算
        System.out.println(result); //162 = 65+97
        result = b1 + s; //会先转换为较大的数据类型
        System.out.println(result);//10=5+5
        double d = result + ch + b;
        System.out.println(d); //83.0
    }
}

二、赋值运算符

常见赋值运算符格式示例结果
=变量=表达式a = 5将3赋值给a
+=变量 += 表达式a += 5a = a+5
-=变量 -= 表达式a -= 5a = a-5
*=变量 *= 表达式a *= 5a = a*5
/=变量 /= 表达式a /= 5a = a/5
%=变量 %= 表达式a %= 5a = a%5

注意:在使用扩展赋值运算符时会自动完成强制类型转换

public class Test02Operator {
    //运算符
    public static void main(String[] args) {
//        赋值运算符
        double num = 5;
//        int r =num + 6; //报错
        int r = 5;
        r += num; //会执行强制转换
        System.out.println(r); //10
    }
}

三、关系运算符

关系运算符缩写操作示例结果
<LT小于5<2false
<=LE小于等于2<=2true
>GT大于5>2true
>=GE大于等于1>=2false
==EQ等于2==3false
!=EN不等于2 != 3true

四、逻辑运算符

逻辑运算符操作示例结果
&AND(逻辑与)false & truefalse
|OR(逻辑或)false | truetrue
!NOT(逻辑非)! truefalse
&&AND(逻辑与,具有短路效果)false && truefalse
||OR(逻辑或,具有短路效果)false || truetrue

注意
&和&&的区别:一个&时,无论左边真假,右边都进行运算;两个&&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。|和||同理

五、三目运算符

语法格式:条件表达式 ? 表达式1 :表达式2;
如果条件表达式为true,则结果为表达式1;否则为2。

public class Test09 {
    public static void main(String[] args) {
//        三目运算符判断两个数的大小
        int num1 = 10;
        int num2 = 20;
        System.out.println(num1>=num2?num1+"大于"+num2:num2+"大于"+num1);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值