java中的运算符
来源:互联网 发布:亦众中文安卓编程 编辑:程序博客网 时间:2024/04/30 03:37
Java中的运算符分为
1. 算术运算符
符号:加+(可以连接字符串) 减-(可以当做负号) 乘* 除/ 模% 自增++ 自减--
其中 / 是整除的意思也就是小数舍弃例如9/2=4;
其中 % 是取模 也就是取余数 9%2=1
自增分为a++和 ++a 其中a++ 和++a 就相当于a=a+1 在运算的时候先后顺序不一样
例如:
int a=5,b;
b=a++ ;
System,out.println(a);
System,out.println(b);
这样输出的a=6 b=5 因为 b=a++ 是先把 a的值赋给b然后a自己再+1
b=++a;
System,out.println(a);
System,out.println(b);
这样输出的a=6 b=6这是因为a先+1然后把+1后的值赋给b;
自减(--)也是同样的
比较特殊的例子
int a =1,b=-5;
int c=1%-5;
System .out.println(c);
将会输出 1
int a=-1,b=5;
int c=-1%5;
System .out.println(c);
将会输出-1
2. 赋值运算符
符号:= += -= *= /=
例: int i=3; (把右边的值赋给左边的变量)
b+=1;(和b=b+1表达意思是一样的)
下面同上
-= *= /=
注意:
short b=5;
b=b+1;和b+=1;的区别:
b=b+1;在编译的时候会报错,因为b被转换成int类型+1然后赋值给short类型的b 会发生类型不一致;
b+=1;可以正常输出结果,因为+=只是一个运算符;
3. 比较运算符
(比较数值相等)== (不等于)!= (大于等于) >= (小于等于)<= (大于)> (小于)< (检查是否是类的对象)instanceof 例 “Hello”instanceof String
比较运算符的结果都是boolean型的 要么是 true, 要么是false.
4. 逻辑运算符
其中需要注意的是& 和&& |和||的区别:
&是表达式两边都判断
&& 第一个表达式是假就是假,不在判断第二个表达式(俗称短路)
| 是表达式两边都判断
|| 第一个表达式是真就是真,不在判断第二个表达式(俗称短路)
5. 位运算符
<<左移的位数越大 原来的数值就是 乘以2的倍数
>>又移的位数越大 原来的数值就是 除以2的倍数
移n位就是乘以或者除以2的n次幂
例如:
3<<2 在内存中是怎么表现的呢?
这是3的二进制表现形式
0000 0000 0000 0000 0000 0000 00000 0011
左移2位
00 0000 0000 0000 0000 0000 00000 001100
右边空出来的两位用00来补齐。
这样就能看出3<<2=12
6>>2呢?
6的二进制是:
0000 0000 0000 0000 0000 0000 00000 0110
右移2位
000000 0000 0000 0000 0000 0000 00000 01
左边空出2为用00补齐
所以6>>2=1
>>>无符号又移和 >> 的区别是
>>又移以后缺少的位数用最高位的数字补齐,(负数用1补齐,正数用0补)
>>>无论什么数又移以后缺少的用0来补
&可以作为位运算存在
例如:
6&3
6的二进制是 0000 0000 0000 0000 0000 0000 00000 0110
&
3的二进制是 0000 0000 0000 0000 0000 0000 00000 0011
-----------------------------------------------------
0000 0000 0000 0000 0000 0000 00000 0010
所以6&3=2
|可以作为位运算存在
例如:
6|3
6的二进制是 0000 0000 0000 0000 0000 0000 00000 0110
|
3的二进制是 0000 0000 0000 0000 0000 0000 00000 0011
-----------------------------------------------------
0000 0000 0000 0000 0000 0000 00000 0111
所以6|3=7
^ 可以作为位运算存在
6^3
6的二进制是 0000 0000 0000 0000 0000 0000 00000 0110
^
3的二进制是 0000 0000 0000 0000 0000 0000 00000 0011
-----------------------------------------------------
0000 0000 0000 0000 0000 0000 00000 0101
所以6^3=5
~ 可以作为位运算存在
~6
6的二进制 0000 0000 0000 0000 0000 0000 0000 0110
6的反码 1111 1111 1111 1111 1111 1111 1111 1001
6的反码是-7
6. 三元运算符
三元运算符只有两种值 true or false
语法是
数据类型 变量名=(boolean表达式)?值一:值二
我们可以这样去阅读理解 boolean表达式的值是true 返回值一 ,否则返回 值二
例如:
int number=3;
int result=(number>5)?20:200;
System.out.println(result);
应为3大于5不成立,返回200;
- java中的“%”运算符
- JAVA中的运算符
- java中的运算符
- java中的运算符
- java中的运算符
- Java中的运算符
- Java中的运算符
- JAVA中的运算符
- java中的运算符
- java中的运算符
- java中的++运算符
- Java中的<<运算符
- java中的运算符
- java中的运算符
- Java中的运算符
- java中的运算符
- Java中的运算符
- Java中的运算符
- ArcGIS Server 10.1 for linux安装部署
- apc
- 又见一帘幽梦
- 14岁初中生—— 踏踏实实的人生也最美
- SMB and CIFS
- java中的运算符
- 风的世界里有海的七滴泪水
- S3C2440时钟体系及设置方法
- 2017年云存储用户量将达13亿,但挣的钱在哪?
- 为什么在server 2003 sp2 里安装mssql 2008 遇到多次安装仍然失败的情况?
- MySQL vs.MongoDB 各有胜负!
- 对抗OpenStack:Riak与CloudStack结盟
- Android应用程序目录结构
- 一生何求