Jave运算符和MySQL运算符总结

Jave运算符和MySQL运算符总结

Java运算符

1.算术运算符

 +   -   *   /   %   ++   --    
  • + 在java中的意义有三个:
    • 代表正数
    • 做加法运算符
    • 字符串的连接

如果都是正数的时候是做加法运算符,如果遇到字符串这个时候+表示字符串的拼接

int a = 12;
String b = "21";
int c = 32;
System.out.println(a+b);//1221
System.out.println(a+c+b);4421
System.out.println(a+b+c);//122132
  • / 整数相除只能得到整数,如果需要得到小数需要把整数类型转换成小数。

  • 在java中如果判断一个数是否被另一个数整除,可以使用% 得到的值是否为0,
    如果得到的数为0表示这个数可以被另一个数整除。

  • ++自增,当这个符号在变量后面的时候,先将变量中的值取出来进行赋值操作或者其他比较的操作。操作完之后自身在进行加1;当++在变量的前面的时候,先自身加1,再将加1之后的结果赋值操作。

int x = 4; int y = (x++)+(++x)+(x*10);//y = 70

2.赋值运算符

= += -= *= /= %=

+= 把左边和右件的进行相加,然后把相加的结果赋值给左边。
避免类型转换。自动装箱和拆箱,相当于进行强制转换

short s = 1;
//s = s+1 在Java中整数默认为int类型
s = (short)(s+1);

s +=1;//这种进行自动装箱和拆箱的操作

3.关系(比较)运算符

==  !=  >=  <  <= 

关系运算符的操作结果为boolean类型;在Java中等于成==

== 可以比较基本数据类型和引用数据类型(比较引用数据类型比较的是地址值)

equals比较的是里面的值。

4.逻辑运算符

  • &逻辑与,有falsefalse
  • | 逻辑或,有true则为true
  • ^ 逻辑异或,相同为false,不同为true
  • !逻辑非:非falsetrue,非true则false
  • && 短路与,如果左边为fasle ,右边不执行
  • || 短路或,如果左边为true,右边不执行

和逻辑或不一样,逻辑或如果左边为true,右边会去执行,

如果左边为false,右边的表达式就不会执行

在开发中进行逻辑判断的时候使用短路与或者短路或

5.位运算符

  • & 按位与 有0则0,其它为1

  • | 按位或 有1则1,其它为0

  • ^ 按位异或 相同则0,不同则1(一个数被另一个数异或两次得到是原来的数)

 2^3^3 得到的还是2 
  • ~ 按位取反 按位补运算符翻转操作数的每一位

  • <<按位左移 左移,右边补齐0,最高位不变(左移相当于乘法,2几次幂,幂就是移动的数)

  • >>按位右移 右移,左边补齐0,最高位不变(右移相当于除法,和上面一样)

 System.out.println(2<<2);//向左移动2位:2 * 2 * 2 相当于  2 乘以2乘以2
 System.out.println(2>>2);//向右移动2为:2 /2 /2  相当于 2除以2除以2

最有效率的算出2 * 8的结果:2<<3
  • >>>无符号右移

按位与、按位或、按位异或、按位取反 进行操作的时候需要把十进制的数转换成二进制进行操作。

2 00000010
&
3 00000011
-----------------  有0则0,其它为1
2 00000010


2 00000010
|
3 00000011
----------------- 有1则1,其他为0 
3 00000011


2 00000010
^
3 00000011
----------------- 相同的为0,不同的则为1 
1 00000001
^
3 00000011
------------- 一个数按位异或两次,得到的结果为它本身 2^3^3 = 2
2 00000010

补从源码和补码

原码反码补码(类型转换的时候需要使用)
有符号数据表示法:
在原码中,最高位为符号位(从右到左,最左边的为最高位),符号位为0表示正数,符号位为1表示负数。其余的二进制位表示数值大小,也就是说在换算成十进制的时候最高位不用换算。

原码中如何表示正数7,和负数7 ?
0(符号位) 0000111 ----- >+7
1(符号位) 0000111 ------> -7  

先不分正负数 
8个1 二进制换算成十进制为255
7个1 二进制换算成十进制为127

2^7=128
2^6=64
2^5=32


反码:整数的反码和源码一致,负数的反码就是符号位不变,其余的二进制位对源码逐位取反即可。


补码:正数的补码和源码一致,负数的补码就是在其反码的基础上未位(最右边的二进制位)加1



+7 0 0000111(源码)
+7 0 0000111(反码)
+7 0 0000111(补码)


-7 1 0000111(源码)
-7 1 1111000(反码) +1
-7 1 1111001(补码)


正数的源码反码补码都是一样的。
负数的符号位源码反码补码都为1

如果二进制位为1,在加上1 ,逢二进一的原则,就会向前进一位,原来的二进制位变为0

如果二进制位为0,再减去1,需要向前一位借一位,如果还是不够再向前借一位,以此类推,减去1的二进制位变为1,1借了一位变为0

已知源码:10110100  表示一个负数
源码:10110100
反码:11001011 +1
补码:11001100


已知补码:11101110

补码:11101110 -1
反码:11101101 
源码:10010010         

MySQL中的运算符

	+ -  /  * 
	> < >= <= != = 
	||    &  	!
	or    and 	not

	in
	not in
	is null 是否为null
	is not null 不为空
	not is null

	between ... and ...
	like 

	>any

	<any   <=any

	<=> 表示都表示等于,但是不常用,我们常使用的是"="
	= 不能操作null值比较; 返回结果为null
	<=> 可以操作null。

	<>  != 表示不等于。
	可以判断数值、字符串、表达式是否相等。如果不相等返回1,否则返回0
	!=  <> 都不能操作null.

	> < >= <= 都不能操作null.

	& 按位与
	| 按位或
	~ 按位取反
	^ 按位异或
	<< 按位左移动
	>> 按位右移动

EL操作符

.	访问一个Bean属性或者一个映射条目

[]	访问一个数组或者链表的元素

()	组织一个子表达式以改变优先级

+	加

-	减或负

*	乘

/ or div	除

% or mod	取模

== or eq	测试是否相等

!= or ne	测试是否不等

< or lt	测试是否小于

> or gt	测试是否大于

<= or le	测试是否小于等于

>= or ge	测试是否大于等于

&& or and	测试逻辑与

|| or or	测试逻辑或

! or not	测试取反

empty	测试是否空值
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100789.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 程序员的生存法则_程序员的一生

    程序员的生存法则_程序员的一生前几天,和国内某知名企业的行销一线喝茶聊天,他一直在抱怨自己的上司很差劲,一直允诺追加奖金,但是月底考评结果却给的很差,奖金也没别人的多,所以他想调别的部门。我很是惊诧,这公司是你们家开的?怎么可以想调就调?他笑了笑说,你不懂职场生存法则吗?    他的工作需要经常出差,全国各地跑。上次是去江西,他知道部门A的老大老家在江西,就主动去找A部门老大,告之有个出差机会,要不要一起?后来我才明白“要不

    2022年10月7日
    5
  • jenkinsfile docker_dockerfile制作镜像

    jenkinsfile docker_dockerfile制作镜像前言之前我们用docker手动安装了jenkins环境,在jenkins中又安装了python3环境和各种安装包,如果我们想要在其他3台机器上安装,又是重复操作,重复劳动,那会显得很low,这里可以

    2022年8月6日
    21
  • c语言与或非逻辑符号_c语言逻辑与或非

    c语言与或非逻辑符号_c语言逻辑与或非(1)逻辑运算逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→||(或)记忆口诀:not(非)and(与)or(或)运算规则1)&&:当且仅当两个运算量的值都为”真”时,运算结果为”真”,否则为”假”。2)||:当且仅当两个运算量的值都为”假”时,运算结果为”假”,否则为”真”。3)!:当运算量的值为”真”时,运…

    2022年10月12日
    6
  • HTML(css+div)登录界面

    HTML(css+div)登录界面HTML(css+div)登录界面

    2022年6月8日
    44
  • C# dll反编译(dll反编译破解)

    下面是修改IL文件然后重新生成DLL的步骤,适用于dll文件没有源码,但是需要修改一点点的小改动问:为啥不直接用dnspy进行修改?答:我这边需要修改.net2.0上编译的一个库,用dnspy反编译后修改了代码,,运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法…

    2022年4月12日
    1.2K
  • 最新goland永久激活破解方法

    最新goland永久激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号