一、要能够熟练区分运算符、表达式和语句

    运算符与表达式

 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提供了遍历数组的循环语句。