Java--运算符

Java--运算符,第1张

运算符:对常量或者变量进行 *** 作的符号

表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以成为表达式。不同运算符连接的表达式体现的是不同类型表达式。

例:+运算符  a+b表达式

  1. 算术运算符

+:加法。相加运算符两侧的值

-:减法

*:乘法

/:除法

注:整数相除,结果只能得到整数,如果想要得到带有小数的结果,必须加入小数(浮点型)的运算。
正数除以0(0.0),结果为Infinity(正无穷)
负数除以0.0,结果为-infinity(负无穷)
(0.0)0除以(0.0),结果为NoN(非数)

例:System.out.println(10/3);//3

System.out.println(10.0/3);//3.3333333333333335

%:取余。

++:自增。 *** 作数加1

--:自减。 *** 作数减1

自增(自减)在前面和在后面的区别

++y(--y):先将y的值自增(自减)1,然后再在当前表达式中使用y的值。

例:int a=10;

int b=++a;

System.out.println(a);//11

System.out.println(b);//11

y++(y--):先在当前表达式中使用y的值,然后再将y的值自增(自减)1。

例:int c=10;

int d=c++;

System.out.println(c);//11

System.out.println(d);//10

  1. 关系(比较)运算符

>:检查左 *** 作数的值是否大于右 *** 作数的值,如果是那么条件为真。

>=:检查左 *** 作数的值是否大于等于右 *** 作数的值,如果是那么条件为真。

<:检查左操作数的值是否小于右操作数的值,如果是那么条件为真。

<=:检查左操作数的值是否小于等于右操作数的值,如果是那么条件为真。

==:检查左 *** 作数的值是否等于右 *** 作数的值,如果是那么条件为真。

!=:检查左 *** 作数的值是否等于右 *** 作数的值,如果不是那么条件为真。

注:关系运算符的结果都是boolean类型,要么是true要么是false。

Java中==和equals()方法的区别

==在基本数据类型的时候就是比较值是否相同,在引用类型是是比较地址。

equals()用于判断引用类型的值是否相同

  1. 逻辑运算符

&&:与,前后两个 *** 作数必须都是true才返回true,否则返回false

&:不短路与。作用与&&相同,但不会短路

||:称为逻辑或 *** 作符。如果任何两个 *** 作数任何一个为真,条件为真。

|:不短路或。作用与或相同。但不会短路

!:非。用来反转 *** 作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。

^:异或。当两个 *** 作数不同时才返回true,如果两个 *** 作数相同则返回false。

  1. 赋值运算符

=  简单的赋值运算符,将右 *** 作数的值赋给左侧 *** 作数

例:intFa=1;

+= 加和赋值 *** 作符,它把左 *** 作数和右 *** 作数相加赋值给左 *** 作数

例:int intFb=11;

intFb+=4;//<==>intFb=intFb+4;

-= 减和赋值 *** 作符,把左 *** 作数和右 *** 作数相减赋值给左 *** 作数

例:int intFb=11;

intFb-=4;//<==>intFb=intFb-4;

*=

例:int intFb=11;

intFb*=2;//<==>intFb=intFb*2;

/=(后面是除数,在整数除法中不能为0)

例:int intFb=11;

intFb/=2;//<==>intFb=intFb/2;

%=

例:int intFb=11;

intFb%=2;//<==>intFb=intFb/2;取余数   1

其他运算符

三目运算符(?:)也称为三元运算符

例:int intFb=10;
String strA1=(intFb>0)?"":"";

System.out.println("strA1="+strA1);//

instanceof运算符 该运算符用于 *** 作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

例:Student student=new Student();

boolean b1=student instanceof Student;

System.out.println("b1="+b1);//true

位运算符

&:如果相对应位都是1,则结果为1,否则为0

例:int a=0b11010101;

int b=0b10101110;
int c=a&b;// 10000100

|:如果相对应位都是0,则结果为0,否则为1

例:int a=0b11010101;

int b=0b10101110;

int d=a|b;//11111111

^:如果相对应位值相同,则结果为0,否则为

例:int a=0b11010101;

int b=0b10101110;

int e=a^b;//1111011


~:按位取反运算符翻转 *** 作数的每一位,即0变成1,1变成0

例:int a=0b11010101;

int b=0b10101110;

int f=~a;//11111111111111111111111100101010

     <<:按位左移运算符。左 *** 作数按位左移右 *** 作数,指定的位数. 移动多少位,小范围内就相当于乘2的n次方  范围太大>24 就会直接为0
例:int a=0b11010101;

int b=0b10101110;

int g=a<<2;//1101010100

>>:按位左移运算符。左 *** 作数按位右移右 *** 作数,指定的位数。移动多少位 小范围内就相当于除以2的n次方

例:int a=0b11010101;

int b=0b10101110;

int h=a>>2;//110101

>>>:按位右移补零 *** 作符。左 *** 作数的值按右 *** 作数指定的位数右移,移动得到的空位以零填充。

例:int a=0b11010101;

int b=0b10101110;

int i=a>>>2;//110101

以上就是所有的运算符了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/757369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-30
下一篇 2022-04-30

发表评论

登录后才能评论

评论列表(0条)

保存