前面讲述了java的数据类型,那么本节将讲述如何定义java数据类型和运算符。运算符就是用来操作数据的符号,数据间可以进行加减乘除等操作,算数符的分类有:算术运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,三目运算符,下面一一讲述运算符在java中的运算符在程序中是如何运用
一、算数运算符
算数运算符:+、-、*、/、%、++、-- 等符号。
1)算符运算符中的+,-,*,/分别是加、减、乘、除,算是比较简单的,首先是在数据类型为数值型代码中演示;
运行结果:
这里的 + 有点特殊,如何在整数型中使用的话就是加法运算,如果是跟字符型(char '' 引起来的数据),字符有对应的ascll码值(自行网上搜索),先把字符转成数值然后运算,如果在字符串(用 "" 引起来的内容)中使用 + 是字符串间的连接。
结果如图:
2)--、++运算符的使用
--:对变量进行自减
++:对变量进行自增
结果如图:
二、赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=。
1)=就是把等号右边的值赋给左边,例如 int x = 1,就是把1赋给x。
2)+=就是把左边和右边做加法,然后赋值给左边,例如:int x = 1; x += 5 相当于 x = (x的数据类型)(x + 5)。
3)-=就是把左边和右边做减法,然后赋值给左边,例如:int x = 1; x -= 5 相当于 x = (x的数据类型)(x - 5)。
4)*=就是把左边和右边做乘法,然后赋值给左边,例如:int x = 1; x *= 5 相当于 x = (x的数据类型)(x * 5)。
5)/=就是把左边和右边做除法,然后赋值给左边,例如:int x = 1; x /= 5 相当于 x = (x的数据类型)(x / 5)。
6)%=就是把左边除以右边取余数,然后赋值给左边,例如:int x = 1; x %= 5 相当于 x = (x的数据类型)(x % 5)。
结果如图所示:
三、比较运算符
比较运算符:==、!=、>、>=、<、<=,这些运算符的操作得到的结果全部都是布尔类型数据(boolean),结果为true和false
1)==:相等,这里两个 = 视为相等,一个 = 是赋值(前面已讲述)
2)!=:不相等。
3)>:大于
4)<:小于
5)>=:大于等于
6)<=:小于等于
运行结果:
四、逻辑运算符
逻辑运算符:&、|、^、!、&&、||,逻辑运算符一般使用在boolean类型的连接。
1)&(逻辑与):一个结果为false则为false,类似于数学中的与,一假则假。
2)|(逻辑或):一个结果为true则为true,类似于数学中的或,一真则真。
3)^(逻辑异或):结果相同则为false,结果不同则为true
4)!(逻辑非):结果不是false则为true,结果不是true则为false。
结果如图:
这里还有 & 和 &&,| 和 || 的区别:得到的结果都是相同,但是 && 左边为false,右边则不执行,|| 左边为true,右边不执行
五、位运算符
位运算符:&、|、^、~、<<、>>、>>>
1) & (与运算符):按位与
2)| 或运算符):按位或
3)^(异或运算符): 按位异或
4)~(取反运算符):取反
5)<<:左移
6)>>:右移
7)>>>:无符号右移
在讲述位运算符之前,先讲解原码,反码,补码,在计算机操作的时候都是采用数据的 二进制(每位上的数不能大过1,逢2进1)的补码来计算的,比如一个整数+3,它的原码:00000011,左起第一位为符号位,整数位0,负数则为1。-3的原码为:10000011。
反码就是除了符号位,其他位上取反,例如:
+3原码:00000011
反码:00000011
-3原码:10000011
反码: 11111100
如果是一个整数,它的原码、反码、补码都相同,如果为负数,补码则是在反码上加1。
+3原码:00000011
反码:00000011
补码:00000011
-3原码:10000011
反码: 11111100
补码: 11111101
讲解完原码,反码,补码后,就来看看位运算符的示例:
结果如图:
六、三目运算符
三目运算符:比较表达式 ? 表达式1 : 表达式2,结果是一个布尔(boolean)类型。
结果如图:
公众号二维码