更新时间:2020-07-23 16:14:02 来源:极悦 浏览1984次
学习计算机编程语言都会遇到运算符这一知识点,运算符这个知识点是教怎么运用编程语言进行最基本的数据处理,下面就讲一下在Java语言中运算符是怎么回事。
1、算术运算符:
基本上和C/C++语言中的一样;
加(+):计算两个数之和或者将较小的数据类型提升为int;
减(-):计算两个数的差或者转变数据的符号;
编译器会自动识别是两个数之间的计算还是其他。
比如:x=-a;x=a+b;
乘(*):计算两个数的积;
除(/):计算两个数之商。注意a/b,b不能为0,要不然编译不过;整数的除法如果除不尽会直接把小数部分抹掉而不是四舍五入。
取余(%):还叫取模,取的是两个数的余数。
自动递增/减(--、++):++a相当于a=a+1;注意这两个操作符分前缀(++a)和后缀(a++),前缀会先进行运算,再使用这个变量,后缀是先使用变量再进行计算;
比如:int a=1;
println("a="+++a);//2;
println("a="+a++);//2
上面打印出来都是2,第一个因为是前缀,所以先执行运算后打印a,第二个是先打印a再执行运算;
这个经常出现在面试题中,在实际项目中也经常用到。
2、关系运算符:
关系运算生成的是一个boolean结果;
大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(!=)。
在基本数据类型之间使用关系运算符很容易理解,就是比较两个数的大小关系,但是对于等于和不等于可以用在其他的数据类型(对象)之间,这个时候比较的是对象的内存地址是否一样,这里先不过多讲解,后面的文章在学习完类和对象之后会拿来和equals()方法放在一期讲。
3、逻辑运算符:
与(&&),或(||),非(!)生成的结果也是一个boolean值。
a&&b,a和b全为true时结果才是ture;
a||b,a或者b有一为true结果就是true;
这里a和b可能是两个boolean变量,也可能是两个结果为boolean的表达式。
注:说一下短路问题,这个在实际编程中也会遇到,短路是在进行逻辑运算时,如果通过前面的判断已经能够明确的知道整个表达式的值,就不会再进行后面表达式的逻辑判断。例如:表达式a||表达式b||表达式c在知道表达式a是true时就已经能够知道整个表达式的值为true,所以表达式2和3都不会再进行判断。
4、位运算符:
用来操作整数基本数据类型的每一个位,也就是把整数按照二进制进行计算。
int a=50;
int b=30;
System.out.println(Integer.toBinaryString(a));//110010
System.out.println(Integer.toBinaryString(b));//011110
System.out.println(Integer.toBinaryString(a&b));//010010
System.out.println(Integer.toBinaryString(a|b));//111110
System.out.println(Integer.toBinaryString(a^b));//101100
System.out.println(Integer.toBinaryString(a<<2));//11001000
System.out.println(Integer.toBinaryString(a>>2));//1100
&按位与操作符,当且仅当两个操作数都为1时结果才为1。
|按位或操作符,只要两个操作数的某一位是1结果就为1。
^按位异或操作符,两个操作数不相同时则结果为1。
〜按位补运算符翻转操作数的每一位,0翻转为1,1翻转为0。
<<按位左移运算符。左操作数按位左移右操作数指定的位数,低位补0。左移几位等于乘2的几次幂。
>>按位右移运算符。左操作数按位右移右操作数指定的位数,高位补0或者1,取决于操作数正负,正则补0,负则补1。右移几位等于除2的几次幂。
>>>按位右移补零操作符(无符号右移)。左操作数的值按右操作数指定的位数右移,移动得到的空位以0填充。
5.三元运算符:
三元操作符也叫条件操作符。表达式如下:
boolean-expression?value0:value1;
如果boolean-expression是true则就计算value0,并且作为整个表达式的值返回,如果为false则计算value1,并作为结果返回。
6.关于优先级:
网上流传最多的是下面的口诀:
单目乘除为关系,逻辑三目后赋值。
单目:单目运算符+–(负数)++--等
乘除:算数单目运算符*/%+-
为:位移单目运算符<<>>
关系:关系单目运算符><>=<===!=
逻辑:逻辑单目运算符&&||&|^
三目:三目单目运算符A>B?X:Y
后:无意义,仅仅为了凑字数
赋值:赋值=
Java技术内容
Java运算符概述:http://www.6acf.com/tutorial_java_se/79.html
以上就是极悦java培训机构的小编针对“零基础学习Java语言运算符”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习