一、要能够熟练区分运算符、表达式和语句
运算符与表达式
Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
算术运算符与算术表达式
1.加减运算符: +,-
加减运算符是二目运算符;加减运算符的结合方向是从左到右;加减运算符的操作元是整型或浮点型数据,加减运算符的优先级是4级。
2.乘、除和求余运算符: *,/,%
以上运算符是二目运算符,结合方向是从左到右,乘、除和求余运算符的操作元是整型或浮点型数据。运算符的优先级是3级。
3.算术表达式
用算术符号和括号连接起来的符合java语法规则的式子,称为算术表达式。
自增,自减运算符
自增、自减运算符:++,--
是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。作用是使变量的值增1或减1,如:
++x(--x)表示在使用x之前,先使x的值增(减)1。
x++(x--)表示在使用x之后,使x的值增(减)1。
算术混合运算的精度
精度从“低”到“高”排列的顺序是:
byte short char int long float double
Java在计算算术表达式的值时,使用下列计算精度规则:
(1) 如果表达式中有双精度浮点数(double型数据),则按双精度进行运算。
(2) 如果表达式中最高精度是单精度浮点数(float型数据),则按单精度进行运算。
(3) 如果表达式中最高精度是long型整数,则按long精度进行运算。
(4) 如果表达式中最高精度低于int型整数,则按int精度进行运算。
关系运算符与关系表达式
关系运算符:
关系运算符是二目运算符,用来比较两个值的关系。关系运算符的运算结果是boolean型,当运算符对应的关系成立时,运算结果是true,否则是false。
常用的关系运算符有>,<,>=,<=,==,!=
逻辑运算符与逻辑表达式
逻辑运算符包括 &&,||,!
其中&&、||为二目运算符,实现逻辑与、逻辑或;
!为单目运算符,实现逻辑非。
逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。
结果为boolean型的变量或表达式可以通过逻辑运算符形成逻辑表达式。
赋值运算符与赋值表达式
赋值运算符:=
赋值运算符是二目运算符,左面的操作元必须是变量,不能是常量或表达式。
赋值运算符的优先级较低,是14级,结合方向右到左。
赋值表达式的值就是“=”左面变量的值。
注意:不要将赋值运算符“=”与等号逻辑运算符“==”混淆。
位运算符
对两个整型数据实施位运算,即对两个整型数据对应的位进行运算得到一个新的整型数据。
1.“按位与”运算
“按位与” 运算符 “&” 是双目运算符。
2.“按位或”运算
“按位或”运算符 “|”是二目运算符。
3.“按位非”运算
“按位非”运算符 “~”是单目运算符。
4.“按位异或”运算
“按位异或”运算符“^”是二目运算符。
instanceof 运算符
instanceof 运算符是二目运算符。
左面的操作元是一个对象;右面是一个类。当左面的对象是右面的类或子类创建的对象时,该运算符运算的结果是true ,否则是false。
运算符综述
◆ Java的表达式就是用运算符连接起来的符合Java规则的式子。
◆运算符的优先级决定了表达式中运算执行的先后顺序。
◆在编写程序时尽量的使用括号"( )"运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序。
◆运算符的结合性决定了并列的相同级别运算符的先后顺序 。
语句概述
1.方法调用语句。如:System.out.println(" Hello");
2.表达式语句 表示式尾加上分号。比如赋值语句:x=23;
3.复合语句
可以用{ }把一些语句括起来构成复合语句,如:
{ z=123+x;
System.out.println("How are you");
}
4.空语句。 一个分号也是一条语句,称做空语句。
5.控制语句。控制语句分为条件分支语句、开关语句和循环语句。
6.package语句和 import语句。它们和类、对象有关
if条件分支语句
条件分支语句按着语法格式可细分为三种形式
if语句
if-else语句
if-else if- ……- else if -else 语句
for循环语句
for语句的语法格式:
for (表达式1; 表达式2; 表达式3) {
若干语句
}
for语句的执行规则是:
(1)计算“表达式1”,完成必要的初始化工作。
(2)判断“表达式2”的值,若“表达式2”的值为true,则进行(3),否则进行(4)。
(3)执行循环体,然后计算“表达式3”,以便改变循环条件,进行(2)。
(4)结束for语句的执行。
while 循环
while语句的语法格式:
while (表达式) {
若干语句
}
while语句的执行规则是:
(1)计算表达式的值,如果该值是true时,就进行(2),否则执行(3)。
(2)执行循环体,再进行(1)。
(3)结束while语句的执行。
do-while循环
do-while语句的语法格式:
do {
若干语句
} while(表达式);
do- while语句的执行规则是:
(1)执行循环体,再进行(2)。
(2)计算表达式的值,如果该值是true时,就进行(1),否则执行(3)。
(3)结束while语句的执行。
break和continue语句
break和continue语句是用关键break 或continue加上分号构成的语句。
在循环体中可以使用break语句和continue语句。
◆如果在某次循环中执行了break语句,那么整个循环语句就结束。
◆如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环。
for语句与数组
1.基于循环语句的遍历
JDK1.5对for语句的功能给予扩充、增强,以便更好地遍历数组。语法格式如下:
for(声明循环变量:数组的名字) {
… …
}
其中,声明的循环变量的类型必须和数组的类型相同。
这种形式的for语句类似自然语言中的“for each”语句,为了便于理解上述for语句,可以将这种形式的for语句中翻译成“对于循环变量依次取数组的每一个元素的值”。
枚举类型与for、switch语句
声明了一个枚举类型后,就可以用该枚举类型声明一个枚举变量,该枚举变量只能取值枚举类型中的常量。通过使用枚举名和“.”运算符获得枚举类型中的常量。例如: WeekDay day=WeekDay.mon;
枚举类型可以用如下形式返回一个数组:枚举类型的名字.values();
该数组元素的值和该枚举类型中常量依次相对应。例如,
WeekDay a[]=WeekDay.values();
那么,a[0]到a[6]的值依次为sun,mon,tue,wed,thu,fri,sat。
在3.7中我们已经学习了怎样用for语句遍历数组,因此,我们可以使用for语句遍历枚举类型中的常量。
允许switch语句中表达式的值是枚举类型。
小结
(1)Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。
(2) Java语言常用的控制语句和C语言的很类似。
(3) Java提供了遍历数组的循环语句。