Java 有六种语言结构,有时当成运算符,有时只当成基本句法的一部分。【第05部分:表达式和运算符】 也列出了这些“运算符”,以便说明相对于其他真正运算符的优先级。下面进行简要说明。
访问对象成员(.)
对象由一些数据和处理这些数据的方法组成。对象的数据字段和方法称为这个对象的成员。点号运算符(.)用来访问这些成员。如果 o 是一个表达式,而且计算结果为对象引用,f 是这个对象的字段名称,那么,o.f 的计算结果是字段 f 中的值。如果 m 是一个方法的名称,那么,o.m 指向这个方法,而且能使用后面介绍的 () 运算符调用。
访问数组中的元素([])
数组是由编号的值组成的列表。数组中的每个元素都能使用各自的编号(或叫索引)引用。[ ] 运算符能指向数组中的单个元素。如果 a 是一个数组,i 是能计算为 int 类型的表达式,那么,a[i] 指向 a 中的一个元素。这个运算符不像其他处理整数的运算符,它强制要求数组的索引必须是 int 类型或者取值范围更窄的类型。
调用方法(())
方法是一些有名称的 Java 代码,在这个名称的后面加上括号,并在括号中放零个或多个以逗号分隔的表达式,可以运行(或叫调用)方法。括号中的表达式计算得到的值是方法的参数。方法会处理这些参数,有时还会返回一个值,这个值是方法调用表达式的返回值。如果 o.m 是一个没有参数的方法,那么这个方法可以使用 o.m() 调用。假设这个方法有三个参数,那么可以使用表达式 o.m(x,y,z) 调用。Java 解释器调用方法之前,会先计算传入的参数。这些表达式始终从左至右计算(如果参数有副作用,就能体现顺序的重要性)。
lambda表达式( )
lambda 表达式是一些匿名的 Java 可执行代码,其实就是方法的主体,由方法的参数列表(零个或多个以逗号分隔的表达式,放在括号中)、lambda 箭头运算符和一段 Java 代码组成。如果代码段只有一个语句,可以省略标识块边界常用的花括号。
创建对象(new)
在 Java 中,对象和数组使用 new 运算符创建。运算符后面跟着想创建的对象类型,括号中还可以指定一些传给对象构造方法的参数。构造方法是一种特殊的代码块,用于实例化新建的对象。创建对象的句法和调用方法的句法类似。例如:
new ArrayList();
new Point(1,2)
类型转换或校正(())
前面已经介绍过,括号还可以当成执行缩小类型转换(或叫校正)的运算符。这个运算符的第一个操作数是想转换的类型,放在括号里;第二个操作数是要转换的值,跟在括号后面。例如:
(byte) 28 // 把整数字面量校正成byte类型
(int) (x + 3.14f) // 把浮点数之和校正成整数
(String)h.get(k) // 把泛型对象校正成字符串