IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 零基础学Java之Java学习笔记(四):运算符 -> 正文阅读

[Java知识库]零基础学Java之Java学习笔记(四):运算符

目录

算术运算符:

算术运算符注意事项:

关系运算符(比较运算符):

关系运算符注意事项:

逻辑运算符:

逻辑运算规则:

&& 和 &基本规则:

&& 和 &使用区别:

|| 和 | 基本规则:

|| 和 | 使用区别:

! ?取反 基本规则:

^ 基本规则:

赋值运算符:

赋值运算符的分类:

赋值运算符的特点:

三元运算符:

语法:

使用规则:

运算符优先级:

运算符优先级规则:


算术运算符:

算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多。
?

运算符说明例子结果
+加法-相加运算符两侧的值9+918
-减法-左操作数减去右操作数10-82
*乘法-相乘操作符两侧的值7*856
/除法-左操作数除以右操作数9/91
%取余-左操作数除以右操作数的余数11%92
++

自增(前):先运算后取值

自增(后):先取值后运算

a=2;b=++a;

a=2;b=a++;

a=3;b=3

a=3;b=2

--

自减(前):先运算后取值

自减(后):先取值后运算

a=2;b=--a;

a=2;b=a--;

a=1;b=1

a=1;b=2

算术运算符注意事项:

(1)对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

int x = 10/3;//结果是3

(2)当对一个数取模时,可以等价a%b=a-a/b*b,这样我们看到取模的一个本质运算。

(3)当自增当做一个独立语言使用时,不管是++i;还是i++;都是一样的。

关系运算符(比较运算符):

运算符说明例子结果
==检查如果两个操作数的值是否相等,如果相等则条件为真。8==7false
!=检查如果两个操作数的值是否相等,如果值不相等则条件为真。8!=7true
<检查左操作数的值是否小于右操作数的值,如果是那么条件为真。8<7false
>检查左操作数的值是否大于右操作数的值,如果是那么条件为真。8>7true
<=检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。8<=7false
>=检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。8>=7true

关系运算符注意事项:

(1)关系运算符组成的表达式,我们称为关系表达式。eg:a > b

(2)比较运算符"=="不能误写成"="。==是关系运算符,判断是不是相等,一个=是赋值

(3)关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。?

(4)关系表达式 经常用在 if 结构的条件中或循环结构的条件中

逻辑运算符:

用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值。

aba&ba&&ba|ba||b!aa^b
truetruetruetruetruetruefalsefalse
truefaslefalsefalsetruetruefalsetrue
falsetruefalsefalsetruetruetruetrue
falsefalsefalsefalsefalsefalsetrue

false

逻辑运算规则:

(1)?? ?a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, ?否则为 false

(2)?? ?a&&b : && ?叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false

(3)?? ?a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

(4)?? ?a||b : || ?叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

(5)?? ?!a : 叫取反,或者非运算。当 a 为 true, ?则结果为 false, ?当 a 为 false 是,结果为 true?

(6)?? ?a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, ?否则为 false

&& 和 &基本规则:

短路与&&?? ?:????????条件 1&&条件 2?? ?
两个条件都为 true,结果为 true,否则 false

逻辑与&:?? ????????????条件 1&条件 2?? ?
两个条件都为 true,结果为 true,否则 false

对于&&短路与而言,如果第一个条件为 false ,后面的条件不再判断

对于&逻辑与而言,如果第一个条件为 false ,后面的条件仍然会判断?

//&&短路与 使用
int age = 50;
if(age > 20 && age < 90) {
System.out.println("&&短路与的使用");
}

//&逻辑与使用
if(age > 20 & age < 90) { 
System.out.println("&逻辑与的使用");
}

&& 和 &使用区别:

(1)?? ?&&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高

(2)?? ?& ?逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低

(3)?? ?开发中, 我们使用的基本是使用短路与&&, 效率高

|| 和 | 基本规则:

短路或||:????????????????条件 1||条件 2
两个条件中只要有一个成立,结果为 true,否则为 false

|逻辑或:? ? ? ? ? ? ? ? ?条件 1|条件 2?? ?
只要有一个条件成立,结果为 true,否则为 false

||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低?

//  短路或|| 的使用
int age = 50;
if(age > 20 || age < 30) { 
System.out.println("短路或|| 的使用");
}

//  逻辑或| 的使用
if(age > 20 | age < 30) {
System.out.println("逻辑或| 的使用");
}

|| 和 | 使用区别:

(1)?? ?||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

(2)?? ?| ?逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

(3)?? ?开发中,我们基本使用 ||

! ?取反 基本规则:

! 非(取反):?? ?????????!条件?? ?
如果条件本身成立,结果为 false,否则为 true

a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, ?否则为 false

//!  操作是取反 T->F	, F -> T 
System.out.println(60 > 20); //T 
System.out.println(!(60 > 20)); //F

^ 基本规则:

a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, ?否则为 false

//a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false 
boolean b = (10 > 1) ^ ( 3 > 5);
System.out.println("b=" + b);//T

赋值运算符:

赋值运算符就是将某个运算后的值,赋给指定的变量。

赋值运算符的分类:

基本赋值运算符:??????? eg:??int a = 10;

复合赋值运算符:+= ?,-= ?,*= ?, /= ?,%= ?等
eg:a += b;?? ?[等价 a = a + b; ]????????????????a -= b;?? ?[等价 a = a - b; ]

赋值运算符的特点:

(1)?? ?运算顺序从右往左?? ?int?? ?num =?? ?a + b + c;

(2)?? ?赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
?

int num = 20;?
int num2= 78 * 34 - 10; 
int num3 = a;

(3)?? ?复合赋值运算符等价于下面的效果。比如:a+=3;等价于 a=a+3; 其他类推

(4)?? ?复合赋值运算符会进行类型转换。

byte b = 3;
b += 2;?// ?等价 b = (byte)(b + 2);
b++;// b = (byte)(b+1);

三元运算符:

语法:

条件表达式 ? 表达式 1: 表达式 2;

使用规则:

1. 如果条件表达式为 true,运算后的结果是表达式 1;

2. 如果条件表达式为 false,运算后的结果是表达式 2;

3. 表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换)

4.? 三元运算符可以转成 if--else 语句

运算符优先级:

类别操作符关联性
符号() , ; . {}从左到右
乘、除、余*? ?/? %从左到右
加、减+? -从左到右
移位>>? >>> ?<<从左到右
关系?> >= < <=?从左到右
相等==? !=从左到右
按位与从左到右
按位异或^从左到右
按位或|从左到右
逻辑与&&从左到右
赋值= + = - = * = / =%= >> = << =&= ^ = | =从右到左
条件?:从右到右

运算符优先级规则:

(1)运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。

(2)只有单目运算符、赋值运算符是从右向左运算的。

(3)不要背,使用多了,就熟悉了

总结:①(),{}等②单目运算 ++--③算术运算符④位移运算符⑤比较运算符⑥逻辑运算符⑦三元运算符⑧赋值运算符

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:13:47  更:2021-08-21 15:16:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 0:06:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码