当前位置: 首页> 技术教程> 正文

Java运算符使用方法,java运算符优先级口诀

宁旺春土特产品

在Java编程的基础语法体系中,运算符是连接变量、常量与表达式的核心桥梁,无论是简单的数值计算、逻辑判断,还是复杂的业务逻辑实现,都离不开各类运算符的合理运用。很多初学者刚接触Java时,往往只关注单个运算符的基本功能,却忽略了不同运算符的优先级规则,导致编写的代码出现不符合预期的运算结果,甚至埋下难以排查的逻辑隐患。因此,系统掌握Java运算符的分类、使用场景以及优先级规律,是夯实Java编程基础的关键一步,也能为后续学习流程控制、面向对象等进阶内容做好铺垫。

Java中的运算符根据功能可以分为算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三目运算符六大类,每一类都有其特定的使用场景和注意事项。算术运算符是最基础的一类,包括加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减(--)七种,其中加运算符还兼具字符串拼接的功能,当操作数中出现字符串类型时,加运算符会自动将其他类型转换为字符串后进行拼接,比如“Hello” + 123的结果是字符串“Hello123”。需要注意的是,整数除法会直接舍弃小数部分保留整数,例如5/2的结果是2而非2.5,若要得到精确的小数结果,需要将其中一个操作数转换为浮点型。自增和自减运算符又分为前置和后置两种形式,前置自增是先将变量值加1再参与运算,后置自增是先参与运算再将变量值加1,这一区别在嵌套表达式中尤为重要,稍有不慎就会导致结果偏差。

赋值运算符以等号(=)为基础,扩展出加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)、取余等于(%=)等复合赋值运算符,这类运算符的特点是会自动进行类型转换,比如short类型变量执行s += 1时,不会像普通赋值那样因为1是int类型而报错,编译器会自动将结果强转为short类型。关系运算符用于判断两个操作数的大小或相等关系,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=),这类运算符的运算结果都是布尔类型的true或false,常用于条件判断和循环控制语句中。需要特别注意的是,等于运算符是两个等号,单个等号是赋值运算符,很多初学者会在if条件中误将==写成=,导致逻辑错误且难以发现。

逻辑运算符主要用于操作布尔类型的操作数,包括逻辑与(&)、逻辑或(|)、逻辑非(!)、异或(^)、短路与(&&)、短路或(||)六种。其中短路与和短路或具备“短路”特性:当短路与的左边表达式结果为false时,右边的表达式不会被执行,直接返回false;当短路或的左边表达式结果为true时,右边的表达式也不会被执行,直接返回true。合理利用短路特性可以提升代码的执行效率,还能避免一些潜在的异常,比如在判断对象非空后再调用其方法时,使用短路与就能避免空指针异常。位运算符则是直接操作二进制位的运算符,包括按位与(&)、按位或(|)、按位非(~)、按位异或(^)、左移(<<)、右移(>>)、无符号右移(>>>),这类运算符在底层开发、性能优化、算法实现中使用较多,比如左移一位相当于乘以2,右移一位相当于除以2,其运算效率远高于普通的乘除法。三目运算符也叫三元运算符,格式为“条件表达式 ? 表达式1 : 表达式2”,当条件表达式为true时执行表达式1,为false时执行表达式2,常用于简单的条件赋值场景,可以简化if-else语句的书写。

由于Java中运算符种类繁多,当一个表达式中出现多个不同类型的运算符时,运算顺序就由运算符的优先级决定,同时结合性也会影响运算方向。为了方便记忆,开发者们总结出了很多实用的优先级口诀,其中流传较广的是:“单目乘除位关系,逻辑三目后赋值”。这句口诀的每个词都对应着一类运算符的优先级顺序,“单目”指的是单目运算符,包括自增、自减、按位非、逻辑非等,它们的优先级是最高的;“乘除”代表算术运算符中的乘、除、取余,优先级高于加减运算;“位”指的是位移运算符,优先级在算术运算符之后;“关系”就是关系运算符,包括大于、小于、等于等;接下来是“逻辑”,也就是逻辑运算符,其中按位与、按位或、异或的优先级高于短路与、短路或;“三目”即三目运算符,优先级仅次于赋值运算符;“赋值”就是各类赋值运算符,优先级是所有运算符中最低的。

除了这句核心口诀,还有更详细的辅助记忆内容,比如“括号成员第一级,单目运算排第二,乘除余三加减四,移位五关系六,等于不等排第七,位与异或和位或,三分天下八九十,逻辑与和逻辑或,十一十二紧挨着,条件十三位十四,赋值运算最低级”。这里的括号指的是小括号()和方括号[],成员运算符包括点运算符.和箭头运算符->,它们的优先级确实是最高的,通过括号可以显式改变运算顺序,这也是编写复杂表达式时最稳妥的方式。口诀中的数字对应着优先级从高到低的顺序,只要熟练记住这个顺序,就能快速判断复杂表达式的运算流程,不用再依赖反复测试来验证结果。

不过需要注意的是,口诀

PC右下角
wap底部