栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java运算符

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java运算符

**

1.基本运算符

**
在java当中,使用运算符+、-、*、/ 表示加减乘除,当参与 / 运算的两个操作数都是整数的时候,表示整数除法;否则表示浮点数。整数的求余操作用 % 表示。

System.out.println(5 / 2);  // 2
System.out.println(8/0);   // by zero 错误
System.out.println(浮点数/0);  // INFINITY
System.out.println(5%2);   // 1
System.out.println(5.0/2);  // 2.5
System.out.println(3+9*8.0/2%2);  // 3.0
System.out.println((3+9)*8.0/2%2);  // 0.0
2.数值之间的转化

在程序运行的时候,我们经常需要将一种数值类型转化为另一种数值类型。

3.强制类型转换

有时候也需要将double转化为int.。在java当中允许这种数值之间的类型转化。当然也会有以一些数据丢失。在这样情况之下,需要通过强制类型转换实现这个操作,强制类型的语法格式是通过()当中给出的想要转化的目标类型。

public static void main(String[] args) {
	double dou_num = 10.15;
	int numn = (int) dou_num;
}
4.自增和自减运算符:

++m:先加再赋值,m++;先赋值再加
自增和自减的过程就是一个值交换和值存储的流程,内存中值存储和值交换不在一个地方,值交换会产生一个临时副本空间(备份)
m++中是先把临时的副本赋值给m本身,再让备份自增
++m:是先自增临时副本空间后,在讲副本传给a本身

public static void main(String[] args) {
		int m = 10;
		int n = 10;
		int a = ++m;
		int b = n++;
		System.out.println(a);
		//a的值输出为11
		System.out.println(b);
		//b的值输出为10
}
5.关系和boolean运算符

①:检测相等性: ==
②:检测不等:!=
③:最后,还有经常使用的<、>、<=和>=

6.逻辑运算符

(1)与运算(&&):先后两个条件都为True时才执行;
(2)或运算(||):只要有一个为True时就可以执行

7.三目运算符(?:
a < b ? 0 : 1;
//如果ab那么返回1
8.位运算 (以byte举例)按位与、或、反、异或运算
(1)按位与运算(&):两个二进制数的每一位相对应,每对都为1 是1,否则为0;
如 10:00001010
12:00001100

结果: 00001000 转换为十进制为8;

(2)按位或运算(|):两个二进制的每一位相对应,每对都为0 是 0,否则为1;
如 10:00001010
12:00001100
              00001110            转换为十进制为14;

(3)按位取反运算(~):按位取反, 1变0,0变1

(4)按位异或运算(^):两个二进制的每一位相对应,每对相同为0,不同为1;
如 10:00001010
12:00001100
             00000111            转换为十进制为7;
9.移位运算:

包括 :左移运算(<<)、右移运算(>>)、无符号右移运算(>>>)
(1)左移运算(<<):从右往左推,要计算X左移N位,则后面补N个0,前面超过8位的都去掉
如,-8=11111000(补码) -8左移2位: -8<<2=11100000(补码) 将原码算出去,转换为十进制结果为-32
-12=11110100(补码) -12左移3位: -12<<3=10100000(补码) 结果为-96
发现,左移运算最后的结果是 要左移的这个数X2的N次方; -32=-82的2次方; -96=-122的3次方
这就相当于一个乘法运算,并且, 在乘法中,左移运算的时间是最快的
如,普通运算:2
16 和左移运算:2<<4,左移运算比普通运算快的多(不是一个量级的)

(2)有符号位右移运算(>>):从左往右推;这个数X/2的N次方;左边空出来的位用0或1填补(正数用0,负数用1)
如,-8=11111000(补码) -8右移2位 -8>>2=11111110(补码) 结果为-2;

(3)无符号右移(>>>):从左往右推,空位一律用0填补(先记住),以后哈希扩容用;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/284755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号