运算符

一、运算符

1.算数运算符:+ ,- ,* , / , % , ++ , --

 

 

注1:当遇到++放在后面时,先取值赋值,再递增。

例如:int i1 = 10, i2 = 20;

int i = (i2++);应先取i2的值赋值给i,然后i2再递增。

 

注2:当遇到++放前面的时候,先递增,再做运算。

例如:int i1 = 10, i2 = 20;

int i = (++i2);先将i2递增,再赋值给i。i1 = 21, i2 = 21;

 

注3:遇到--放前面或放后面时,规则如上;

 

2.关系运算符:> , < , >= , <= , = = , |=

 

3.逻辑运算符:! , & , | , ^ , && , ||

逻辑运算符:!——逻辑非,&——逻辑与,|——逻辑或,^——逻辑异或,&&——短路与,||——短路或。 

 

 

如图:

例如:

public class Test{

public static void main(string []args){

int i = 1,j = 2

boolean fiag1 = (i>3)&&((i+j)>5);

//第二个操作数将不再计算(当第一个操作数i=1<3已经为false,不管后面结果是什么都是false)

boolean fian2 = (i<2)||((i+j)<6);

//第二个操作数将不再计算(当第一个操作数i=2≮2已经为true,不管后面结果是什么都是true)

}

}

注:如果是逻辑与和逻辑或的话,不管前面结果是什么,后面一定会计算。

 

4.位运算符:& , | , ^ , ~ , >> , << , >>>

 

5.赋值运算符:=



 

(1)当“=”两侧数据类型不一致时,可以适用默认类型转换或使用强制类型转换,原则进行处理:

long l = 100;  int i = (int)l;

 

(2)注意:可以将整型常量直接赋值给byte,short,char等类型变量,而不需要进行强制类型转换,只要不超出其表数范围。

正确:byte b = 12; char c = 100;   

错误:byte bb = 256(byte最大范围值为127);  short s = -32769(short最小范围值为-32768);

 

6.扩展赋值运算符:+ =,- =,* =,/ =

 

7.字符串连接运算符:+

(1)“+”除用于算数加法运算外,还可用于对字符串进行连接操作。

如:int id = 800 + 90;

String s = "hello" + "World";

(2)“+”运算符两侧的操作数字只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

如:int c = 12;

System.out.println("c="+c);

//c不是字符串,打印的时候系统会自动将c=12转换成字符串,再打印出来。

(3)当进行打印时,无论任何类型,都自动转为字符串进行打印。

如:System.out.println(c);

 

8.表达式



 

(1)表达式是符合一定语法规则的运算符和操作数的序列

注:凡是看到的可以表达出来的一个字符串序列,就是表达式(最后能算出值来的东西,就是表达式)。

①a

②5.0 + a

③(a-b)*c-4

④i<30 && i% 10! = 0

(2)表达式的类型和值

①对表达式中操作数进行运算得到的结果称为表达式的值

②表达式值得数据类型即为表达式的类型。

(3)表达式的运算顺序

①应按照运算符的优先级从高到低的顺序进行。

②优先级相同的运算符按照事先约定的结合方向进行。

 

9.三目条件运算符

*“三目条件运算符,语法格式”

x ?y :z

*其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

*举例:

int score = 80; int x = -100;

String type = score < 60 ? "不及格":"及格";

//score=80≮60,不成立,则取冒号右边的"及格"

int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);

//遇到复杂表达式时,从里往外算,括号里(x≠0,则括号里的值为-1);括号外(x=-100≯0,则取值-1),再把-1赋值给flag

Ststem.out,println("type= "+type);

System.out,println("flag= "+flag)

 

type= 及格; flag= -1;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值