Java表达式

分享到:

Java表达式是变量、常量、各种运算符组合起来的一组代码,这组代码通过特定的规则完成计算从而得到结果。其中,运算符按操作数的数目有:一元运算符(++、--)、二元运算符(+、-、>等等)和三元运算符(? :),它们分别对应一到三个操作数。

为了便于了解Java表达式,我们把表达式按不同的功能简单进行分类:
(1)算术表达式,由变量或常量通过算术运算符组合的语句,主要用来完成数学运算,例如 10+20 , a+b, a*10 这些都是算术表达式
(2)布尔逻辑表达式 ,由变量或常量通过逻辑关系运算符组合的语句,这种表达式返回一个布尔值(true 或 false)。例如 a>b, 1<5 , 5>10
(3)位运算表达式, 由变量或常量通过位运算符组合的语句,用于二进制运算,例如 3 >> 1
(4)赋值表达式,由变量或常量通过赋值算符组合的语句,用于给变量赋值,例如 a=10, str="abc"
(5)复合表达式,由多种表达式组合而成的语句, 例如 a=a+1, 同有有算术运算和赋值运算
(6)正则表达式 ,是一种比较复杂的表达式有自己的体系规范,可以把它理解成用来搜索字符串的模板,
例如 \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 可以用来匹配某段文字中的Email地址

以上是按功能来区分各种表达式的,下面我们看所谓的一元运算表达式,二元运算表达式,三元运算表达分别是什么意思
(1) 一元运算表达式,先看例子:a++ ,整个表达式中只有一个变量 a 和一个 ++ 运算符, 再例如 a-- 也是这样
(2) 二元运算表达式,先看例子:a+b, 或者 10-5, 每个表达式中都两操作数(操作数可以是变量也可以是常量)和一个运算符
(3) 三元运算表达式,先看例子 a ? b : c ,表达中有三个操作数,和一组?:运算符
通过以上内容可以得到一个结论,表达式中的运算符能作用在几个操作数上这个表达式就是几元的。

例子中的一元和二元运算比较简单,主要介绍一下三元运算表达式,先看一张图:

三元表达式通常是以上面这种形式出现的,X是一个等待赋值的变量,A是一个布尔值(也可以是一个布尔表达式), B 是一个值(可以是变量也可以是常量), C 也是一个值(可以是变量也可以是常量),当A为true时X=B, 当A为false时 X=C。这是三元运算表达式的基本规则。看一个实例:

int a = (10<1) ? 100 : 200;
		
System.out.println("a=" + a);

//输出结果 a=200

首先系统会判断"?"前面的内容是true还是false, 如果是true就返回100,否则返回200
例如:本例中(10<1) 10是大于1的以所会返回fasle,这样第二个值也就是200就赋值给前面的变量a了,以所a=200
简单的说三元运算就是:如果?前面是true就取第一个值,否则取第二个值。相当于if else语句的一个变形,例如我们可以把上面的代码改成这样:

int a = 0;
if(10 < 1){
	a = 100;
} else {
	a = 200;
}
		
System.out.println("a=" + a);


//输出结果 a=200
昵    称:
验证码:

相关文档: