java运算符

一、运算符

在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

二、数值之间的转化

在程序运行的时候,我们经常需要将一种数值类型转化为另一种数值类型。下图给出了数值类型之间的合法转化。
在这里插入图片描述
浮点类型不能精确运算,运算要使用BigDecimal类。

三、强制类型转换

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

代码如下(示例):

public static void main(String[] args) {
		 double dou_num = 10.15;
		int numn = (int) dou_num;
	}

四、结合赋值和运算符

可以在赋值当中使用二元运算,这是一种很简单的简写形式,例如:

x   += 4

等价于

x = x + 4

一般的,要把运算符放在=号的左边,如 *=或%=

五、自增和自减运算符

public static void main(String[] args) {
		int m = 10;
		int n = 10;
		int a = ++m;
		int b = n++;
		System.out.println(a);
		System.out.println(b);
}

输出:

11
10

++m:先加再赋值,m++;先赋值再加

		int arr[] = new int[5];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = i++;
		}
		
		System.out.println(Arrays.toString(arr));

结果是[0, 0, 2, 0, 4]

		int arr[] = new int[5];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = ++i;
		}
		
		System.out.println(Arrays.toString(arr));

结果是[1, 0, 3, 0, 5]

六、关系和boolean运算符

①:检测相等性: ==
②:检测不等:!=
③:最后,还有经常使用的<、>(、<=和>=
比较两个基础数据类型,返回值为true或者flase
④:java使用&&表示逻辑”与“运算符,使用||表示”或“运算符,
⑤:三目运算符:condition?expression1:expression2

System.out.println(10<9?1:2);

输出结果会是2

六、位运算

有以下四种位运算符
&(“and”) |(“or”) ~(“not”) ^("xor”)
①:按位与操作&
两个操作数,如果同为1则为1,否则为0
在这里插入图片描述

②:按位或操作|
只有两个操作数对应位同为0时,结果为0,其余全为1.
在这里插入图片描述

③:~:按位取反
顾名思义:按位取反即可。
在这里插入图片描述

④:按位亦或操作
两个操作数对应位,相同则结果为0,不同则结果为1
在这里插入图片描述

移位运算

①:左移(<<)
右边空出来的位用0填补高位左移溢出则舍弃该高位
左移几位其实就是这个数 *2 的几次幂
②:右移(>>)
左边空出来的位用0或1填补,正数用0负数用1填补。
右移几位其实就是这个数/2的几次幂
主要是运算速度快,相较于一般的乘除法运算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值