Java运算符

前言
运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java中提供了丰富的运算符,如赋值运算符、算数运算符、比较运算符等。

一:赋值运算符
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数处理)其功能是讲右作数所含的值赋给左方的操作数8b3e15b2403c4bf6920db5702265a31a.png

 这个表达式是将100赋值给变量a。左方的操作数必须是一个变量,而右边的操作数则可以是在任何表达式,包括变量(a、number)、常量(如123,'book')、有效的表达式(如23*12)。188098153a824e00b35b2a9493ac0b3a.png

在项目中创建类Eval,主方法中定义变量,使用赋值运算符为变量赋值。Java运算符_第1张图片 

运行结果如下:7fda3dc4eca141178f2b0715c3c814ed.png 

我们看到第5行代码,不好理解,换一种简单的方式,便于理解。6511e6efa84b423697a161d55a6266c3.png 

二、算数运算符

Java中的算术运算符主要有+(加)、减-(减)、*(乘)、/(除)、%(求余),他们都是二元运算符。f631881310974ecc96ee54070991b04c.png

创建ArithmeticOpenator类,输入连两个数字,分别用不同运算符进行计算,代码如下。Java运算符_第2张图片 

运行结果如下:Java运算符_第3张图片 

三、自增和自减运算符
自增、自减运算符是弹幕运算符,可以放在操作元之前,也可以放在操作之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使用该变量参与表达式的运算。放在操作元后面的的自减运算符,会先使变量表达式的运算,然后将该变量加1或减1。

一、自增9f22f2fc71754b429890ed359badc154.png

7c52694ae3d24dac99c57ba459c7869e.png 

二.自减6d3206351b044733a942bec535eb6323.png 

 一.举个例子

“++a”与“a++”的作用都相当于a=a + 1,假设a=4,则:c19086a121014527a4a0fb117884b5f7.png

再看看另一个语法dae7bdb468b64cd0857eef4e328684d3.png 

四、逻辑运算符
1、逻辑运算符
逻辑运算符包括&&(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符必须是boolean型数据。

口诀:

逻辑与(&&):两者都为真,结果才是真。

逻辑或(||):只要有一者为真,结果就是真。

逻辑非(!):非真即假,非假即真。

2、位运算符
位运算符除“按位与”和“按位或”运算符外,其他只能处理用于处理整数的操作数,包括byte、short、char、int和long等数据类型。

口诀:

按位与(&):两者都为1,结果才是1。

按位或(|):只要有一者为1,结果就是1。

按位取反(~):0变1,1变0

按位异或(^):两者相同为0,不同即为1。

3、移位操作
 <<: 左移 整体左移,空位补0,溢出去掉。

 >> : 右移 整体右移,正数补0,负数补1。

>>>:无符号右移 整体右移,空位补0,溢出去掉。

4、三元运算符
三元运算符的使用格式为:116997a6e20f40999513cce447bd3b60.png

三元运算符的运算规则为:若条件式的值为ture,则整个表达式取值1,否则取值2。例如:996ff46bf57d4dd1a196cbe10006741d.png 

表达式“20<45”的运算结果返回为真,那么Boolean型变量的值取ture,反之,如果表达式的运算结果返回值为假,那么Boolean型变量b取值为false。

三元运算符等价于if…slse语句,例如上述代码等价于:

 
  1. Java运算符_第4张图片
  1. 运算符优先级

Java中的表达式就是使用运算符链接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算只想的先后顺序。通常,优先级由高到道低得依次顺序是:

增量和减量运算符。

算数运算符

比较运算

逻辑运算

赋值运算c3fd3fb4c9834a0695cabc8a8df92b65.png

                                                             运算符 优先表Java运算符_第5张图片  

5、数据类型转换
数据类型转化是讲一个值从一种类型更改为另一种类型的转换。例如,可以将String类型的数据“457”转换为数值型,也可以将任意的数据类型转换为String类型。

如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度类型转换时,则会有信息丢失,有可能失败。

1.1隐式类型转换
从低级类型向高级类型的转换,系统将自动执行,程序无须任何操作。这种类型的转换称为隐式转换。下列节本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高的顺序为byte

举个栗子:

可以将int类型变量直接赋值给float型变量,此时int型变量将隐式转换为另一种类型的数据,代码如下:d4ed375b901d40d5983a3421c18729f7.png

 

在项目中创建类Conver,在主方法中创建不同数值类型的变量,实现将各变量隐式转换。Java运算符_第6张图片 运行结果如下:Java运算符_第7张图片

1.2、显示类型转换

当把高精度的变量值赋给低精度的变量时,必须使用显示类型转换(强制类型转换)。

语法如下:fc75c6ad842e412bb1da7de6516296ba.png

 举例:Java运算符_第8张图片

提示:048ec032a9d14e289332d790e8331c62.png 

你可能感兴趣的:(java,开发语言,jvm)