首页 > 代码库 > Java运算符与表达式

Java运算符与表达式

1、运算符和表达式

运算符:operator       + - * /  =

表达式:expression    1+2   a=1;

将数据使用运算符进行合理连接,形成表达式。实现实际业务操作的表达。

运算符(学习目标:先了解功能,后续不断应用)

赋值运算符Assignment operators

= 、*=、/=、%=、    += 、-=、《=、》=、  >>>= 、&=、^=、|=、

比较运算符:>、>=、<、<=、instanceo

判断是否相等运算符:==、!=

算术运算符:+、-、*、/、%(取余数)

移位运算符:>>、<<、>>>

位运算:&、|、^、~  

逻辑运算符:&&与、||或、&与 、|或

条件运算符:?:(三目运算符_?_:_)

其他运算符:++、--、(<data-type>

技术分享

优先级:a+b*c、(a+b)*c;技巧:使用()可以提高优先级

结合律:相同优先级考虑

a+b-c    一般从左->右

 从上往下,优先级递减:

1、

():提升优先级和提高可读性——(a+b)/(c-d)

 []:取数组小标——a[0]、a[1]...  

 . : 取成员运算符   成员(属性、方法),可以理解为stu1的age——stu1.age+1      stu1.study("JabaSE")

++:自增1运算符——

int a =1;

//前++,先自加1,再取值   a = a+1;   再取a

System.out.println(++a);  //2

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

//后++,先取值,再自加1——先取a打印,再a = a+1;  

System.out.println(a++);  //2

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

--:自减1运算符

&:按位与、逻辑与

^:按位异或;”同0异1“;

|:按位或;”有1则1,全0则0“;

&&:逻辑与(短路与);

条件1 && 条件2

如果条件1为true,还需判断条件2

     如果条件2为true,结果为true

     如果条件2为false,结果为false

如果条件1为false,无需判断条件2,结果为false

||:逻辑或(短路或 )

条件1 || 条件2

如果条件1为true,还需判断条件2

     如果条件2为true,结果为true

     如果条件2为false,结果为false

如果条件1为true,无需判断条件2,结果为true

用途:具体问题具体分析

&&:能够简化操作,提高效率(性能)

&:当两个条件都需要判断是使用(条件兼顾)

<boolean_axpr>?<expr1>:<expr2>:条件运算符:(三目运算符)

条件表达式?条件为真的结果:条件为假的结果

写一个程序,求出a和b的最大值

int a = 3;

int b = 5;

int max = a > b ? a : b; 

打印max 5

 

赋值运算符:特点优先级最低

=:      *=:     /=:     %=:     +=:     -=:     <<=:     >>=:     >>>=:     &=:     ^=:     |=:

double d1 = 1+2/(a * c - b) + 100;

int a = 5;

a *= 6; //近似等价于 a = a *6;

 

byte b1 =1;

byte b2 =2;

byte b3 =b1 + b2;//编译无法通过,提升为int计算,需要强制类型转换;

b1 +=  b2;  //可以,近似b1 = b1 + b2 不会提升为int。

 

Java运算符与表达式