【JavaSE】/*Java运算符详解*/

简介: 【JavaSE】/*Java运算符详解*/

✨哈喽,进来的小伙伴们,你们好呐!✨

🍊系列专栏:【JavaSE】🍵

🍎本篇内容:JavaASE部分的运算符详解!(对准知识点阅读喔!)

🥛作者简介:一名大二即将升大三的科班小白,我很平凡,学会努力!

🍺码云存放仓库gitee:https://gitee.com/king-zhou-of-java/java-se.git

🚈接着上篇,我们学习完Java数据类型与变量后,那么就要开始学习我们的Java运算符部分的内容了,相信很多小伙伴都学习过C语言的运算符,但是Java运算符规则和C语言的还是有很多差别的,话不多说,一起来学习叭!

一、算术运算符

🍊1. 基本四则运算符:加减乘除模(+ - * / %)。

   nt a = 20;

   int b = 10;

   System.out.println(a + b);   // 30

   System.out.println(a - b);   // 10

   System.out.println(a * b);   // 200

   System.out.println(a / b);   // 2

   System.out.println(a % b);   // 0 --->模运算相当于数学中除法的余数

369bcc6bd14f49828822f5ac6b4fea44.png

    🥙🥙重点:

   int / int 结果还是int类型,而且会向下取整。

   都是二元运算符,使用时必须要有左右两个操作数。

🍊 2.增量运算符 += -= *= %=

   int a = 1;

   a += 2;          // 相当于 a = a + 2

   System.out.println(a);  // 输出3

   a -= 1;          // 相当于 a = a - 1

   System.out.println(a);  // 输出2

   a *= 3;          // 相当于 a = a * 3

   System.out.println(a);  // 输出6

🍎运行结果:

cc763ce81c814c11a19062a27fea2e25.png

 

🍊3. 自增/自减运算符 ++ --

   int a = 1;

   a++;   // 后置++  表示给a的值加1,此时a的值为2

   System.out.println(a++);  // 注意:后置++是先使用变量原来值,表示式结束时给变量+1,因此输出2

   System.out.println(a);   // 输出3

   ++a;   // 前置++  表示给a的值加1

   System.out.println(++a);  // 注意:前置++是先给变量+1,然后使用变量中的值,因此输出5

   System.out.println(a);   // 输出5

🍎运行结果

790f79a311334e3aad00d585aef0243d.png

    🍬🍬重点:

   如果单独使用,【前置++】和【后置++】没有任何区别

   如果混合使用,【前置++】先+1,然后使用变量+1之后的值,【后置++】先使用变量原来的值,表达式结束时给变量+1。

二、关系运算符

🍊关系运算符主要有六个: == != < > <= >= ,其计算结果是 true 或者 false 。

   int a = 1;

   int b = 2;

   // 注意:在Java中 = 表示赋值,要与数学中的含义区分

   //   在Java中 == 表示相等

   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);    

🍎运行结果:

f59fc29892f34f02a4788a2267685855.png

三、逻辑运算符

🍊逻辑运算符主要有三个: && || ! ,运算结果都是 boolean类型。

   🍼🍼1逻辑与:

   🍔语法规则:表达式1 && 表达式2,左右表达式必须是boolean类型的结果。

   🍡相当于现实生活中的且,比如你是6岁以下的儿童,身高不超过1.2m才可以免单。

   🍣两个表达式都为真,结果才是真,只要有一个是假,结果就是假。

04ce8a302a8b47f58bb41b331f056e6a.png

int a = 1;

int b = 2;

System.out.println(a == 1 && b == 2);  

System.out.println(a == 1 && b > 100);  

System.out.println(a > 100 && b == 2);  

System.out.println(a > 100 && b > 100);  

feee36dc72cd4ca1b05c5d16f74ce6c5.png

🥞 2.逻辑 ||
🍼语法规则:表达式1 || 表达式2,左右表达式必须是boolean类型的结果。

表达式1 表达式2 结果

int a = 1;

int b = 2;

System.out.println(a == 1 || b == 2);  

System.out.println(a == 1 || b > 100);  

System.out.println(a > 100 || b == 2);  

System.out.println(a > 100 || b > 100);

28167dc8a1954fdda8051f59bee869f7.png

🍏 3. 逻辑非 !

语法规则:! 表达式
真变假,假变真。


int a = 1;

System.out.println(!(a == 1));  // a == 1 为true,取个非就是false

System.out.println(!(a != 1));  // a != 1 为false,取个非就是true

bed59b17cbd24aa2931401a12f62416a.png

🍊4.短路求值

&& 和 || 遵守短路求值的规则。

1. System.out.println(10 > 20 && 10 / 0 == 0);      
2. System.out.println(10 < 20 || 10 / 0 == 0);

🍎运算结果:

fb4ffad963454e8b968b569f7877b2df.png

🥗结论:

🍫对于 && , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算右侧表达式。

🍻对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式。

🍾& 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 && || 相比, 它们不支持短路求值。


相关文章
|
1月前
|
Java Go 开发工具
【Java】(4)五种运算符的说明(&&、||、>=、>、<=、<)、4种控制语句(if、for、while、dowhile)、输入和输出说明
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的的类型byte类型,无论怎么进行加或追减,最终该变量的数据类型还是byte类型。注:一个表达式中有多个运算符,运算符有优先级,不确定的加小括号,优先级得到提升。当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给a。并且,连接运算之后的结果还是一个字符串类型。表达式1 : 表达式2。
127 1
|
3月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
5月前
|
人工智能 Java
Java运算符中的隐式转换
本文介绍了 Java 运算符中的隐式类型转换规则,涵盖算数、逻辑、位、关系、赋值及其他运算符。重点分析了算数和位运算符在处理小于 int 位长的数据时会自动转换为 int 类型的特性,并通过代码示例说明可能引发的类型不匹配错误。逻辑、关系、赋值及其他运算符则不涉及类型转换。总结指出,部分运算符在计算时会将小位长数据隐式转为 int 类型,结果也为 int。
|
5月前
|
人工智能 Rust Java
Java中的算数、关系、逻辑、条件、赋值 五大运算符详解
本文介绍了Java中的运算符及其优先级,包括算数运算符(如+、-、*、/、%、++、--)、关系运算符(如&lt;、&gt;、==、!=)、逻辑运算符(如&&、||、!)、条件运算符(三目运算符)和赋值运算符(如=、+=、-=等)。详细解释了每种运算符的功能与用法,例如自增自减运算符的特点、逻辑运算符的短路法运算以及位运算符的操作规则。最后还提供了运算符优先级表格,帮助开发者理解复杂表达式的计算顺序。文中提醒,在实际开发中,建议使用括号明确运算顺序以提高代码可读性。
278 0
|
6月前
|
Java
深入JavaSE:详解Java对象的比较。
总的来说,Java对象的比较就像海洋生物的比较,有外在的,有内在的,有面对所有情况的,也有针对特殊情况的。理解并掌握这些比较方式,就能更好地驾驭Java的世界,游刃有余地操作Java对象。
135 12
|
8月前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
153 13
|
8月前
|
SQL IDE 算法
《从头开始学java,一天一个知识点》之:运算符与表达式:算术、比较和逻辑运算
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列为你打造Java「速效救心丸」,每天1分钟,地铁通勤、午休间隙即可完成学习。直击高频考点和实际开发中的「坑位」,拒绝冗长概念,每篇都有可运行的代码示例。明日预告:《控制流程:if-else条件语句实战》。
180 6
|
8月前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
250 5
|
8月前
|
Java
课时18:Java运算符(逻辑运算符)
课时18介绍了Java中的逻辑运算符(与、或、非)。通过范例详细讲解了非操作的使用,展示了如何正确应用逻辑非(!)。接着分别探讨了与操作(& 和 &&)及或操作(| 和 ||),强调了短路运算符(&& 和 ||)在性能和安全性上的优势。课程通过具体代码示例演示了不同逻辑运算符的效果及其应用场景。
220 5
|
8月前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
164 6
下一篇
oss云网关配置