1、运算符、表达式、流程控制,Java运算符 算术运算符 + - * / % + - 赋值运算符 = += -= *= /= %= 关系运算符 = b?a:b; 表达式,运算符(示例4-1/4-2),1、赋值运算符 = += *= %=,递增/递减运算符,对于需要对操作数进行加1或减1操作时,可以使用递增或递减运算符 递增:+ 递减:-int abc = 100;abc += 150;-abc = abc + 150;abc -= 80;-abc = abc - xy;,关系和布尔运算符(示例4-3),Java使用=号来判断两个值是否相等,而用!=来判断是否不等,用、=、=来判断大于等于小于等于
2、逻辑运算符功能!- 逻辑非 & - 逻辑与(有假即假) | - 逻辑或(有真即真) - 逻辑异或 &- 短路与 | - 短路或,关系和布尔运算符(con.),三目条件运算符,“三目条件运算符,语法格式: x ? y : z 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。,移位运算符,:右移运算符,将左操作数向右移动,移位个数由右操作数决定 1002 = 25 :无符号左移位运算符,赋值运算符(示例4-4),赋值运算符“=”是最常用的一种运算符。它将等于号右边的表达式的值赋给左边的变量。 可以
3、将其它的运算符和赋值运算符结合起来,作为“扩展”的赋值运算符:+=,-=,*=,/=,%=,=,&=,|=,=,=,赋值运算符(con.),当一个表达式中含有不同类型的数据时,需要用到类型转换。 类型转换存在两种不同的方式: 隐式转换 强制转换,类型转换(con.) (示例4-5),隐式类型转换:见下图。在这个图中,黑色的实线表示在进行转换的时候,不会损失信息,而红色的虚线表示在转换时可能会引起信息的损失。 如果变量的长度不小于表达式的长度,则可进行赋值,称表达式是赋值兼容的。,byte,short,char,int,long,float,double,类型转换(con.),强制类型转换(Ca
4、st,造型):强制类型转换,或者称为造型,用于显式的转换一个表达式的类型。 简单数据类型可以被进行强制类型转换。例如,将一个double类型的数据强制转换成int类型。 利用运算符“(type)var”进行强制类型转换,运算符“()”中的type表示将值var转换成的数据类型。 除了简单类型外,引用类型也可以进行强制类型转换。,作为字符串连接符的“+”,运算符“+”除了用于数值类型的加法运算法,在字符串类型(String)数据中,它还是一个用于连接字符串的特殊的运算符。 当“+”用在表达式中的时候,如果其中有一个操作数是字符串类型(String),则Java会自动将另一个操作数也转换成字符串,
5、然后将这两个字符串相连起来生成一个新的字符串。,表达式,表达式是运算符和操作数的结合,它是任何一门编程语言的关键组成部分 表达式允许程序员进行数学计算、值的比较、逻辑操作以及在Java中进行对象的操作。 一些表达式的例子: X X+10 Y=x+10 Arr10 student.geName(),表达式中运算符的结合性,所有的数学运算都认为是从左到右结合的,在Java中,大部分运算也是从左到右结合的,只有单目运算符、赋值运算符和条件运算符例外 乘法和加法是两个可结合的运算,也就是说,这两个运算符左右两边的操作符可以互换位置而不会影响到结果,表达式中运算符的优先顺序,下面的表格说明了各个运算符的优先顺序,优先级高的运算符放置在表的上部,而在同一行的运算符拥有同样的优先顺序。 除了单目运算符、赋值运算符以及条件运算符,其它的运算符都是从左到右结合的。,运算符优先级,运算符优先级(con.),