运算符、表达式

运算符

程序是由许多语句组成的,而语句的基本单位就是表达式与运算符。如:
算术运算符:
Java算术运算符主要有加减乘除,他们都是二元运算
运算符、表达式
算术运算符的注意问题:
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结果不一定总是整数。
对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的
结果是?
“+”除字符串相加功能外,还能把非字符串转换成字符串.例如:System.out.println(“5+5=”+5+5); //打印结果是? 5+5=55 ?
赋值运算符:
赋值运算符即“=”,是一个二元运算符(即对两个操作数进行处理),其功能是将右方操作数所含的值赋值给左方的操作数。语法格式如下:变量类型 变量名 = 所赋的值:
比较运算符(关系运算符):
属于二元运算符,用于程序之间、变量之间以及其他类型的信息之间的比较。结果是属于Boolean型(true和false)
运算符、表达式
逻辑运算符:
包括&&(&)(逻辑与)、||(|)(逻辑或)、和!(逻辑非),返回值为布尔类型的表达式,操作元也必须是Boolean型数据。
运算符、表达式
注意:
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
理解:异或,追求的是“异”!
位运算符:
用于处理整型和字符型的操作数,对其内存进行操作,数据在内存中以二进制的形式表示。
运算符、表达式
三元运算符:
 格式:
( 条件表达式)? 表达式1 :表达式2; ;
表达式结果 为true ,运算后的结果是表达式1;
表达式结果为false ,运算后的结果是表达式2;
 表达式1 和表达式2为同种类型
 三与 元运算符与if-else 的联系与区别:
1)三元运算符可简化if-else语句
2)三元运算符要求必须返回一个结果。
3)if后的代码块可有多个语句

运算符的优先级

运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如下表,上一行运算符总优先于下一行。
只有单目运算符、三元运算符、赋值运算符是从右向左运算的。
运算符、表达式

表达式

表达式是由常量、变量或是其他操作数与运算符所组合而成的语句。
算术表达式:
用于数值计算,由算术运算符和变量或者常量组成,其结果是一个数值。
关系表达式:
用于程序判断语句中,由关系运算符组成,其结果为逻辑型。
逻辑表达式:
是由逻辑运算符组成的表达式,其结果也为逻辑型。
条件表达式:
条件表达式由运算符“?:”组成,其基本形式a?x:y,如果a值为非0,则整个表达式的值为x,否则为y。
赋值表达式:
由赋值运算符和操作数组成,赋值运算符用于给变量赋值。

表达式的类型转换

1.占用字节较少的类型转换成占用字节较多的类型
2.字符型会转换成float
3.int类型会转换成float类型
4.表达式中若某个操作数的类型为double,则另外一个操作数也会转换成double类型
5.布尔类型不能转换成其他类型