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运算符

运算符

算术运算符

基本四则运算符:+ - * / %(这里只讨论 / 和 %)

" / " 举例:

System.out.println(5/2);          //2
System.out.println(5.0/2);        //2.5
System.out.println((float)5/2);   //2.5
System.out.println((float)(5/2)); //2.0

结论:

  1. 若 / 左右两边都是整型,即:int / int,则输出结果也为int
  2. / 两边,其中一个是小数,那么结果就有小数
  3. 除数不能为0,否则会出现异常

" % " 举例:

System.out.println(10%3);         //1
System.out.println(-10%3);        //-1
System.out.println(10%-3);        //1
System.out.println(-10%-3);       //-1
System.out.println(11.5%2.0);     //1.5

结论:

  1. % 表示取余,不仅对 int 可以取模,对double也可以

复合运算符

增值赋值运算符:

+= : a+=1 → a=a+1
- = : a- =1 → a=a-1
*= : a *=2 → a=a * 2
/ =: a /=2 → a=a */ 2

自增运算符:++ –

int a=5;
int b=++a;   // b为6
int a=5;
int c=a++;   // c为5
int i=10;
i=i++;       // i为10

结论:

  1. 若不取自增运算符的表达式的返回值,则前置++和后置++没区别
  2. 若取自增运算符的表达式的返回值,前置++的返回值是自增之后的值,后置++的返回值是自增之前的值

关系运算符

关系运算符主要有6个: == != < > <= >=

int a=10;
int b=20;
System.out.println(a==b);   // false
System.out.println(a!=b);   // true
System.out.println(a<b);    // true
System.out.println(a>b);    // false
System.out.println(a<=b);   // true
System.out.println(a>=b);   // false

注意:

  1. 关系运算符的返回值都是boolean类型
  2. 关系运算符的表达式的结果只有两个值:true或者是false

逻辑运算符

逻辑运算符主要有三个:&& || !

逻辑与 &&

两个表达式都为true,结果为true,否则结果为false

int a=1;
int b=2;
int c=3;
System.out.println(a<b && b<c);
结果为: true

逻辑或 ||

两个表达式都为false,结果为false,否则结果为true

int a=1;
int b=2;
int c=3;
System.out.println(a<b || b<c);
结果为: true

逻辑非 !

表达式为false,结果为true;表达式为true,结果为false
Java中, " ! "只能作用于boolean类型

int a=1;
int b=2;
System.out.println(!a<b);
上述代码错误!!
改正:
System.out.println(!(a<b));

短路求值

&& 和 || 遵循短路求值原则

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

结论:

  1. 对于&&,若左侧表达式为false,则结果一定为false,无需考虑右侧表达式
  2. 对于| |,若左侧表达式为true,则结果一定为true,无需考虑右侧表达式
  3. & 和 | (不推荐使用) ,若表达式结果为boolean时,也表示逻辑运算,但它不支持短路求值
System.out.println( 10>20 & 10/0==0 );   程序异常
System.out.println( 10<20 | 10/0==0 );   程序异常

位运算符

位运算符主要有4个:& | ~ ^

要想进行位运算,先得求出一个数的二进制:
在这里插入图片描述

按位与 &

若两个二进制位都为1,结果为1,否则为0
在这里插入图片描述

按位或 |

若两个二进制位都为0,结果为0,否则为1

在这里插入图片描述

按位取反 ~

若该位为0,则结果为1,若该位为1,则结果为0

按位异或 ^

如果两个数的二进制位相同,结果为 0, 相异结果为 1
在这里插入图片描述

注意:

  1. 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候,表示按位运算,当操作数为 boolean 的时候,表示逻辑运算
  2. 0x 前缀的数字为 十六进制 数字,十六进制可以看成是二进制的简化表示方式,一个十六进制数字对应 4 个二进制位.
  3. printf 能够格式化输出内容,%x 表示按照十六进制输出

移位运算符

移位运算符有三个:<<,>>,>>>,都是按照二进制比特位来进行运算的

左移 <<

最左侧位不要了,最右侧补0 左移补0就行
在这里插入图片描述

右移 >>

最右侧位不要了,最左侧补符号位,右移补符号位
在这里插入图片描述

无符号右移 >>>

Java中独特的移位运算符
最右侧位不要了,最左侧补0,只补0
在这里插入图片描述

结论:

  1. 左移相当于乘法,左移 N 位,相当于原数字 * 2 的N次方
  2. 右移相当于除法,右移 N 位,相当于原数字 / 2 的N次方
  3. 移动负数位或者移位位数过大都没有意义
  4. 位运算速度高于乘除运算

条件运算符

Java 中唯一的一个三目运算符,是条件判断语句的简化写法
表达式1 ? 表达式2 :表达式3
a ? b : c
当 a 的值为 true 时,整个表达式的值为 b 的值;
当 b 的值为 false 时,整个表达式的值为 c 的值

//比较两个数大小
int a = 10;
int b = 20;
int max = a>b ? a : b;

注意:

  1. 表达式2和表达式3的结果要是同类型的,除非能发生类型隐式类型转换
  2. 表达式不能单独存在,其产生的结果必须要被使用

运算符优先级

运算符之间是有优先级的,具体的顺序规则我们不用记, 在写代码时,加括号即可

总结:

Java的运算符的基本规则和C语言的基本一致

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:06:27  更:2021-08-11 12:07:01 
 
开发: 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年11日历 -2024/11/23 5:36:20-

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