不要抱怨,不如抱 Java 运算符吧 (上篇)
本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
前言
天空一声巨响,小编闪亮登场 😊 😊 😊
在本篇文章中,小编将带你走进 Java 运算符的 “欢乐谷” 中畅玩,
下面有请友友们移步目录区开始深情拥抱我们的 Java 运算符 吧 💕 💕 💕
目录
- 运算符的概念
- 算术运算符大家庭
- 关系运算符
- 逻辑运算符
一. 运算符的概念
计算机的最基本的用途之一就是执行 数学运算
et :
public static void main(String[] args) {
int a=10; int b=20; int c=a+b; boolean d= a ==)
二. 算术运算符大家庭
1. 基本四则运算
小伙伴应该都知道我们的 Java 的与 C语言 类似
我们的基本四则运算符无非就是以下三种咯 💖 💖 💖
加减乘除模 (+ - * / %)
. 栗子一
public static void main(String[] args) { int 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 --->模运算相当于数学中除法的余数 }
细节如下,待小编 一 一 举例分析 💕 💕 💕
鱼式疯言
温馨提示 :
- 都是 二元运算符 ,使用时必须要有左右 两个操作数
- int / int 结果还是 int 类型,而且会向下 取整
- 做除法和取模时,右操作数不能为 0
- % 不仅可以对整型取模,也可以对 double类型 取模,但是没有意义,一般都是对整型取模的
证明过程如下 :
. 栗子二
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 类型,而且会 向下取整 的
. 栗子三
做 除法 和 取模 时,如果左操作数为 整数 ,右操作数不能为 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 就是代表算出的结果就是 无限 的含义
. 栗子四
% 不仅可以对 整型 取模,也可以对 double 类型取模,但是没有意义,一般 都是对整型取模的
public static void main(String[] args) { System.out.println(11.5 % 2.0); }
. 栗子五
两侧操作数类型 不一致 时,向 类型大 的提升
public static void main(String[] args) { System.out.println(1+0.2); // +的左侧是int,右侧是double,在加之前int被提升为double // 故:输出1.2 }
2. 增量运算符
. 简介
该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。
. 栗子一
public static void main(String[] args) { 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 a /= 3; // 相当于 a = a / 3 System.out.println(a); // 输出2 a %= 3; // 相当于 a = a % 3 System.out.println(a); // 输出2 }
从中小伙伴是不是能得出一下结论呢 ❤️ ❤️ ❤️
鱼式疯言
温馨提示:
- 只有变量才能使用的该运算符,常量是不能使用的
- 该运算符是会发生整型提升的
不妨和小编看看下这个栗子或许就明白了
. 栗子二
如果我们使用普通的操作符就会发生这种情况
public static void main(String[] args) { byte a=10,b=20; a+=b; System.out.println(a); }
从中宝子们就可以看出
我们用增量操作符时就不会报错
显而易见
该运算符是会发生整型提升的
3. 自增 / 自减运算符
. 简介
++ 是给 变量 的值 +1 , — — 是给 变量 的值 —1
. 举个栗子
public static void main(String[] args) { 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 // --操作符给操作-1,与++含义类似 }
++ 和 - - 固然好用,但一定要注意以下细节哦
鱼式疯言
温馨提示:
- 如果单独使用,【前置++】和【后置++】没有任何区别
- 如果混合使用,【前置++】先 +1,然后使用变量 +1 之后的值, 【后置++】先使用 变量 原来的值, 表达式结束时给变量+1
- 只有变量才能使用自增/自减运算符,常量不能使用,因为常量不允许被修改
三 . 关系运算符
. 简介
关系运算符主要有六个: == 、 != 、 、= ,其计算结果是 true 或者 false 。
. 栗子一
public static void main(String[] args) { int a = 10; int b = 20; // 注意:在Java中 = 表示赋值,要与数学中的含义区分 // 在Java中 == 表示相等 System.out.println(a == b); // false System.out.println(a != b); // true System.out.println(a b); // false System.out.println(a = b); // false }
从中小伙伴赞不赞同小编下面的观点呢 💖 💖 💖
鱼式疯言
温馨提示:
-
关系运算符得出的结果(返回值)是 布尔类型 ,不是返回 1 或 0 哦
-
当需要多次判断时,不能连着写,比如:3
那小爱同学就问:那该怎么写呢 ???
那就不得不用到我们下一节的 逻辑运算符 啦 😎 😎 😎
四. 逻辑运算符
. 简介
逻辑运算符主要有三个: &&、 ||、 ! ,运算结果都是 boolean 类型。
小面让小编一 一带着小伙伴们分析分析0 💖 💖 💖
1. 逻辑与 &&
. 简介
语法规则:表达式1 && 表达式2
左右表达式必须是 boolean 类型的结果。
相当于现实生活中的且,比如:如果是学生,并且 带有学生证 才可以享受半票。
两个表达式都为 真,结果才是 真
只要有一个是 假,结果就是 假。
鱼式疯言
画个小图理解一下下呗
. 举个栗子
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 || 表达式2
左右表达式必须是 boolean 类型的结果。
怎么说呢,就给友友们举个栗子吧
相当于现实生活中的或
比如:买房子交钱时,全款 或者 按揭都可以,如果全款或者按揭,房子都是你的,
否则站一边去。 😁 😁 😁
鱼式疯言
有图有真相 :
.举个栗子
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. 逻辑非 !
. 简介
语法规则:! 表达式
真变假,假变真。
. 举个栗子
public static void main(String[] args) { int a = 1; System.out.println(!(a == 1)); // a == 1 为true,取个非就是false System.out.println(!(a != 1)); // a != 1 为false,取个非就是true }
4 .逻辑运算符的实际运用
如果我们需要
a int a = 10; int b = 20; // 注意:在Java中 = 表示赋值,要与数学中的含义区分 // 在Java中 == 表示相等 System.out.println(a = 10 && a System.out.println(10 20 && 10 / 0 == 0); // 打印 false System.out.println(10
-