百度收录删除旧网站,重庆旅游网站,国内好用的搜索引擎,科技公司网站制作公司本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. #x1f92d;#x1f92d;#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 前言
天空一声巨响小编闪亮登场 在本篇文章中小编将带你走进 Java 运算符的 “欢乐谷” 中畅玩 下面有请友友们移步目录区开始深情拥抱我们的 Java 运算符 吧
目录
运算符的概念算术运算符大家庭关系运算符逻辑运算符
一. 运算符的概念
计算机的最基本的用途之一就是执行 数学运算 et
public static void main(String[] args) { int a10;int b20;int cab;boolean d ab;
}上述 和 等就是运算符即对 操作数 进行操作时的符号不同运算符操作的 含义不同 。 作为一门计算机语言Java也提供了一套丰富的运算符来操纵变量。 Java中运算符 可分为以下
算术运算符( - */)关系运算符( )逻辑运算符位运算符条件运算符等…
二. 算术运算符大家庭
1. 基本四则运算
小伙伴应该都知道我们的 Java 的与 C语言 类似 我们的基本四则运算符无非就是以下三种咯 加减乘除模 ( - * / %) 2. 栗子一
public static void main(String[] args) {int a 20;int b 10;System.out.println(a b); // 30System.out.println(a - b); // 10System.out.println(a * b); // 200System.out.println(a / b); // 2System.out.println(a % b); // 0 ---模运算相当于数学中除法的余数
}细节如下待小编 一 一 举例分析
鱼式疯言
温馨提示 都是 二元运算符 使用时必须要有左右 两个操作数 int / int 结果还是 int 类型而且会向下 取整 做除法和取模时右操作数不能为 0 % 不仅可以对整型取模也可以对 double类型 取模但是没有意义一般都是对整型取模的
证明过程如下
3. 栗子二
public static void main(String[] args) { int a 3;int b 2;// 在数学中应该是1.5 但是在Java中输出结果为1 会向下取整即小数点之后全部舍弃掉了System.out.println(a / b);// 如果要得到数学中的结果可以使用如下方式double d a*1.0 / b;System.out.println(d);
}从中小伙伴们是不是可以得出这样的结论呢 int / int 结果还是 int 类型而且会 向下取整 的 4. 栗子三 做 除法 和 取模 时如果左操作数为 整数 右操作数不能为 0 public static void main(String[] args) {int a 1;int b 0;System.out.println(a / b);
}但在Java中如果是运行左操作为 浮点数 右操作数为 0 public static void main(String[] args) {double a 1.0;int b 0;System.out.println(a / b);}突然来个小插曲 这是小爱同学就有疑惑了这个 Infinity 是什么含义呢 鱼式疯言 其实啊在我们Java中 Infinity 就是代表算出的结果就是 无限 的含义 5. 栗子四 % 不仅可以对 整型 取模也可以对 double 类型取模但是没有意义一般 都是对整型取模的 public static void main(String[] args) {System.out.println(11.5 % 2.0);}6. 栗子五 两侧操作数类型 不一致 时向 类型大 的提升 public static void main(String[] args) {System.out.println(10.2); // 的左侧是int右侧是double在加之前int被提升为double// 故输出1.2}2. 增量运算符
1. 简介 该种类型运算符操作完成后会将操纵的结果赋值给左操作数。 2. 栗子一
public static void main(String[] args) {int a 1;a 2; // 相当于 a a 2System.out.println(a); // 输出3a - 1; // 相当于 a a - 1System.out.println(a); // 输出2a * 3; // 相当于 a a * 3System.out.println(a); // 输出6a / 3; // 相当于 a a / 3System.out.println(a); // 输出2a % 3; // 相当于 a a % 3System.out.println(a); // 输出2}从中小伙伴是不是能得出一下结论呢 ❤️ ❤️ ❤️
鱼式疯言
温馨提示
只有变量才能使用的该运算符常量是不能使用的该运算符是会发生整型提升的
不妨和小编看看下这个栗子或许就明白了
3. 栗子二
如果我们使用普通的操作符就会发生这种情况 public static void main(String[] args) {byte a10,b20;ab;System.out.println(a);}从中宝子们就可以看出 我们用增量操作符时就不会报错 显而易见 该运算符是会发生整型提升的 3. 自增 / 自减运算符
1. 简介 是给 变量 的值 1 — — 是给 变量 的值 —1
2. 举个栗子
public static void main(String[] args) {int a 1;a; // 后置 表示给a的值加1此时a的值为2System.out.println(a); // 注意后置是先使用变量原来值表示式结束时给变量1因此输出2System.out.println(a); // 输出3a; // 前置 表示给a的值加1System.out.println(a); // 注意前置是先给变量1然后使用变量中的值因此输出5System.out.println(a); // 输出5// --操作符给操作-1与含义类似
}和 - - 固然好用但一定要注意以下细节哦
鱼式疯言
温馨提示 如果单独使用【前置】和【后置】没有任何区别 如果混合使用【前置】先 1然后使用变量 1 之后的值 【后置】先使用 变量 原来的值 表达式结束时给变量1 只有变量才能使用自增/自减运算符常量不能使用因为常量不允许被修改
三 . 关系运算符
1. 简介
关系运算符主要有六个: 、 ! 、 、 、 其计算结果是 true 或者 false 。
2. 栗子一 public static void main(String[] args) {int a 10;int b 20;// 注意在Java中 表示赋值要与数学中的含义区分// 在Java中 表示相等System.out.println(a b); // falseSystem.out.println(a ! b); // trueSystem.out.println(a b); // trueSystem.out.println(a b); // falseSystem.out.println(a b); // trueSystem.out.println(a b); // false}从中小伙伴赞不赞同小编下面的观点呢
鱼式疯言
温馨提示 关系运算符得出的结果返回值是 布尔类型 不是返回 1 或 0 哦 当需要多次判断时不能连着写比如3 a 5Java程序与数学中是有区别的
那小爱同学就问那该怎么写呢 那就不得不用到我们下一节的 逻辑运算符 啦
四. 逻辑运算符
1. 简介
逻辑运算符主要有三个: 、 ||、 ! 运算结果都是 boolean 类型。
小面让小编一 一带着小伙伴们分析分析0
1. 逻辑与
1. 简介 语法规则表达式1 表达式2 左右表达式必须是 boolean 类型的结果。 相当于现实生活中的且比如如果是学生并且 带有学生证 才可以享受半票。
两个表达式都为 真结果才是 真
只要有一个是 假结果就是 假。
鱼式疯言
画个小图理解一下下呗 2. 举个栗子 public static void main(String[] args) {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); // 左为假 且 右为假 则结果为假}由此总结一点
鱼式疯言 两个表达式都为真结果才是真只要有一个是假结果就是假。 2. 逻辑或 ||
1.简介 语法规则表达式1 || 表达式2 左右表达式必须是 boolean 类型的结果。 怎么说呢就给友友们举个栗子吧
相当于现实生活中的或
比如买房子交钱时全款 或者 按揭都可以如果全款或者按揭房子都是你的
否则站一边去。
鱼式疯言
有图有真相 : 2.举个栗子
public static void main(String[] args) {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); // 左为假 且 右为假 则结果为假}和上类一样但小编还是在这里啰嗦几句
鱼式疯言 左右表达式至少有一个为真则结果为真 3. 逻辑非
1. 简介
语法规则! 表达式 真变假假变真。 2. 举个栗子
public static void main(String[] args) {int a 1;System.out.println(!(a 1)); // a 1 为true取个非就是falseSystem.out.println(!(a ! 1)); // a ! 1 为false取个非就是true
}4 .逻辑运算符的实际运用
如果我们需要 axb x a 或者 ab 那该怎么敲出我们的代码呢
不妨看小编的下面这段代码吧
public static void main(String[] args) {int a 10;int b 20;// 注意在Java中 表示赋值要与数学中的含义区分// 在Java中 表示相等System.out.println(a 10 a20); // 10 b 20 trueSystem.out.println(b-1 || b30); // b-1 或者 b30 false}5.短路求值
啥是 短路求值 呢不妨宝子们先看个栗子呗
1. 栗子一
public static void main(String[] args) {System.out.println(10 20 10 / 0 0); // 打印 falseSystem.out.println(10 20 || 10 / 0 0); // 打印 true
}从中可以看出 我们都知道, 计算 10 / 0 会导致程序抛出 异常. 但是上面的代码却能正常运行, 说明 10 / 0 并没有真正被求值.
所以 友友们就可以总结出 短路求值 的概念了 对于 , 如果左侧表达式值为 false, 则表达式结果一定是 false, 无需计算 右侧表达式. 对于 ||, 如果左侧表达式值为 true, 则表达式结果一定是 true, 无需计算右侧表达式. 鱼式疯言
但我们 Java 还有个 特殊用法 和 | 如果表达式结果为 boolean 时, 也表示逻辑运算. 但与 || 相比, 它们不支持短路求值. 就像下面这个栗子 一般我们不支持短路求值就会报错
2. 栗子二
public static void main(String[] args) {System.out.println(10 20 10 / 0 0); // 程序抛出异常System.out.println(10 20 | 10 / 0 0); // 程序抛出异常
}本篇内容就到这里就先告一段落了下面让小编来梳理并总结下在本篇文章中收获了哪些知识点吧
总结
运算符的概念简单说明的运算的概念以及作用算术运算符大家庭详细的解析力 不同运算符的使用方法以及注意事项关系运算符了解关系运算符的简单运用和返回值的本质逻辑运算符知晓了逻辑运算并配合我们关系运算符的实际运用 如果觉得小编写的还不错的咱可支持 三连 下 (定有回访哦) , 不妥当的咱请评论区 指正 希望我的文章能给各位宝子们带来哪怕一点点的收获就是 小编创作 的最大 动力