行业知识
Java中的运算符大全
引言:
哈喽,各位小伙伴们大家好呀,今天这篇博客给大家详细介绍一下Java中的运算符知识,这是一篇比较详细的运算符大全,让我们一起来学习吧!
()1.什么是运算符
计算机的最基本的用途之一就是执行数学运算,比如:
int a=10; int b=20; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b); System.out.println(a%b);
上述的"+","-","*","/"等就是运算符,即对操作数进行操作时的符号,不同运算符操作的含义不同。
()作为一门计算机语言,Java也提供了一套丰富的运算符来操作变量,Java中运算符可以分为以下:
1.算术运算符
2.关系运算符
3.逻辑运算符
4.位运算符
5.移位运算符以及条件运算符
2.算术运算符
1.基本五则运算:加减乘除取模(+,-,*,/)
public static void main(String[] args) { int a=10; int b=20; System.out.println(a+b);//30 System.out.println(a-b);//-10 System.out.println(a*b);//200 System.out.println(a/b);//0 System.out.println(a%b);//10 } 注意:
1.都是二元运算,使用时必须要有左右两个操作数
2.int/int结果还是int类型,而且会向下取整
public class test { public static void main(String[] args) { int a=3; int b=2; System.out.println(a/b);//结果为1 double c=(double) a/b; System.out.println(c);//结果为1.5 int d=10; double e=0.5; System.out.println(d+e);//结果为10.5,可直接相加,int类型自动提升为double }} 2.增量运算符(+=,-=,*=,/=,%=)
该种类型运算符操作完成后,会将操纵的结果赋值给左操作数。
public class test { public static void main(String[] args) { int a=3; a+=10;//相当于a=a+10; System.out.println(a);//13 a-=5;//相当于a=a-5; System.out.println(a);//8 a*=2;//相当于a=a*2; System.out.println(a);//16 a/=4;//相当于a=a/4; System.out.println(a);//4 a%=2;//相当于a=a%2; System.out.println(a);//0 }} 注意:只有变量才能使用该操作符,常量不能使用
3.自增,自减运算符(++,--)
++是给变量的值+1,--是给变量的值-1.
public class test { public static void main(String[] args) { int a=3; a++;//a=4 ++a;//a=5 System.out.println(a++);//5 System.out.println(++a);//6 }} 注意:
如果单独使用,前置++和后置++没有任何区别
如果混合使用,前置++先加1再使用,后置++使用再+1
只有变量才能使用自增,自减运算符,常量不能使用,因为常量不允许被修改
3.关系运算符
关系运算符主要有六个:==,!=,,=。其计算结果是true或false。
public class test { public static void main(String[] args) { int a=3; int b=5; System.out.println(a==b);//false System.out.println(a!=b);//true System.out.println(a>b);//false System.out.println(a=b);//false System.out.println(a=1&&b1);//ffff8000 }} 3.无符号右移>>>:最右侧位不要了,最左侧补0。
public class test6 { public static void main(String[] args) { int a=0x10; System.out.printf("%x\n",a>>1);//8 //注意:运行结果是按16进制打印的 int b=0xffff0000; System.out.printf("%x\n",b>>1);//ffff8000 }} 注意:
1.左移1位,相当于原数字*2,左移N位,相当于原数字*2的N次方。
2.右移1位,相当于原数字/2,右移N位,相当于原数字/2的N次方。
3.由于计算机计算移位效率高于计算乘除,当某个代码正好乘除2的N次方的时候可以用移位运算代替。
4.移动负数位或者移动位数过大都没有意义。
6.条件运算符
条件运算符只有一个:
表达式1?表达式2:表达式3
当表达式1的值为true的时候,整个表达式的值为表达式2的值。
当表达式1的值为false的时候,整个表达式的值为表达式3的值。
它是Java中唯一一个的三目运算符,是条件判断语句的简化写法。
public class test6 { public static void main(String[] args) { //求两个数的最大值 int a=10; int b=20; int max=a>b?a:b; System.out.println(max);//20 }} 注意:
1.表达式2和表达式3的结果是要同种类型的,除非能发生类型隐式类型转换。
2.表达式不能单独存在,其产生的结果必须是要被使用。
7.运算符的优先级
在一条表达式中,各个运算符可以混合起来使用进行运算,但是运算符的优先级不同,比如*和/的优先级要高于+和-,有些情况下稍不注意,可能就会造成很大的麻烦。
例如:求a和b的平均值
public class test6 { public static void main(String[] args) { //求两个数的最大值 int a=10; int b=20; int c=a+(b-a)>>1; System.out.println(c);//10 }} 上述表达式中,由于+的优先级高于>>,所以a和b-a的结果做加法,整体为20,最后再进行右移,因此结果为10。
注意:
运算符之间是有优先级的,在存在歧义时加上括号即可。
public class test6 { public static void main(String[] args) { //求两个数的最大值 int a=10; int b=20; int c=a+((b-a)>>1); System.out.println(c);//10 }} 小结:
本篇博客详细介绍了Java中的不同运算符,我们需要掌握它们,以便在后续Java的学习当中使用起来如鱼得水,那么本篇博客到这里就结束啦,给个点赞关注支持一下吧!
上一篇:服务器怎么ban刷丝机?
下一篇:服务器未启动怎么解决?