关系运算符、布尔逻辑运算符、位运算符。位运算符除了简单
的按位操作外,还有移位操作。按位操作返回布尔值。
表达式是由常量、变量、对象、方法调用和操作符组成的
式子。表达式必须符合一定的规范,才可被系统理解、编译和
运行。表达式的值就是对表达式自身运算后得到的结果。
根据运算符的不同,表达式相应地分为以下几类:算术表
达式、关系表达式、逻辑表达式、赋值表达式,这些都属于数
值表达式。
2.3.1算术运算符及算术表达式
Java中常用的算术运算符如下:
+加运算符
- 减运算符
* 乘运算符
/ 除运算符
% 取模运算(除运算的余数)
++ 增量运算符
-- 减量运算符
[例2.3]
程序代码如下测试运算符及表达式,程序输出如图所示。
//程序文件名称为NumberOper. j ava
public class NumberOper
{
public static void main(String args[])
{
//变量初始化
int a=30;
int b=20;
//定义结果变量
int r 1,r2,r3,r4,r5,r6,r7,r8,r9;
//计算结果
r1=a+b;
r2=a-b;
r3=a*b;
r4=a/b;
r5=
r6=
a%b;
a++;
r7=b一;
r8=++a;
r9=一b;
//输出结果
System.out.println(”a="+a+'' b="+b);
}System.out.println(”a+b="+r1);
System.out.println(”a-b="+r2);
System.out.println(”a*b="+r3);
System.out.println(”a/b="+r4);
System.out.println(”a%b="+r5);
System.out.println(”a++ ="+r6)
System.out.println("b-- ="+r7);
System.out.println(”++a="+r8);
System.out.println(”--b="+r9);
}
2.3.2关系运算符
关系运算符用于比较两个数据之间的大小关系,关系运算
表达式返回布尔值,即“真”或“假”。Java中的常用关系运
算符如下:
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
[例2.4]编写程序,测试关系运算符及其表达式,程序输
出如图2.4所示。源程序代码如下:
//程序文件名称为TestRelation.java
public class TestRelation
{
public static void main(String args[])
{
//变量初始化
int a=30;
int b=20;
//定义结果变量
boolean r1,r2,r3,r4,r5,r6;
//计算结果
r1=a==b;
r2=a!=b;
r3=a>b;
r4=a<b;
r5=a>=b;
r6=a<=b;
//输出结果
System.out.println("a=”+a+”b=”+b);
System.out.println("a==b=”+r1);
System.out.println("a!=b=”+r2);
System.out.println("a>b=”+r3);
System.out.println("a<b=”+r4);
System.out.println("a>=b=”+r5);
}System.out.println("a<=b=”+r6);
}
2.3.3布尔逻辑运算符
表2.3布尔运算符及规则
图2.3为布尔逻辑运算符及其规则示例等。其中简洁与和简
洁或的执行结果分别与非简洁与和非简洁或的执行结果是一致
的,不同在于简洁与检测出符号左端的值为假时,不再判断符
号右端的值,直接将运算结果置为假;而简洁或与非简洁或的
不同在于简洁或检测出符号左端为真时,不再判断符号右端的
值,直接将运算结果置为真。
例如:
B oolean a=false;
B oolean b=true;
a&&b检测到a为假,则无需判断b的值,直接将值置为假;
而blla时检测到b为真,则无需判断a的值,直接将值置为真。
【例2.5 7测试布尔表达式,程序输出结果如图2.5所示。源
程序代码如下:
//程序文件名称为TestLogic.java
public class TestLogic
{
public static void main(String args[])
{
//变量初始化
Boolean a=false;
Boolean b=true;
//定义结果变量
Boolean r 1,r2,r3,r4,r5,r6;
//计算结果
r1=!a;
r2=a&b;
r3=a}b;
r4=a^b;
r5=a&&b;
r6=a日b;
//输出结果
System.out.println(”a=”+a+”b=”+b);
System.out.println(”!a=”+r1);
System.out.println(”a&b=”+r2);
System.out.println(”alb=”+r3);
System.out.println(”a^b=”+r4);
System.out.println(”a&&b=”+r5);
}System.out.println(”allb=”+r6);
}