赋值运算符是最常用的运算符
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
public static void main(String [] arg)
{
int a=0,b=1;
float x=5f,y=10f;
float s0,s1;
s0=x*a++; //5*0=0
s1=++b*y; //2*10=20
System.out.println("a="+a+" b="+b+" s0="+s0+" s1="+s1);
s0=a+b; //1+2=3
s1++; //20+1=21
System.out.println("x%s0="+x%s0+" s1%y="+s1%y);
}
}
程序运行结果如下:
2.3.2关系运算符和关系表达式
关系运算符用于两个量的比较运算,它们是:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)。
关系运算符组成的关系表达式(或称比较表达式)产生一个布尔值。若关系表达式成立产生一个true值,否则产生一个false值。
x>y 产生true值;
x==y 产生false值。
2.3.3 布尔逻辑运算符和布尔表达式
布尔逻辑运算符用于布尔量的运算,有3个布尔逻辑运算符:
1. !(逻辑非)
!是一元运算符,用于单个逻辑或关系表达式的运算。
!运算的一般形式是:! A
其中:A 是布尔逻辑或关系表达式。若A的值为true,则!A的值false,否则为true。
例如:若x=90,y=80,则表达式:
! (x>y) 的值为false(由于x>y产生true值)。
!(x==y) 的值为true(由于x==y产生false值)。
2. &&(逻辑与)
&& 用于两个布尔逻辑或关系表达式的与运算。
&&运算的一般形式是:A&&B
其中:A、B 是布尔逻辑或关系表达式。若A和B的值均为true,则A&&B的值为true,否则为false。
例如:若x=50,y=60,z=70,则表达式:
(x>y) && (y>z) 的值为false(由于两个表达式x>y、y>z的关系均不成立)。
(y>x)&&(z>y)的值为true(由于两个表达式y>x、z>y的关系均成立)。
(y>x)&&(y>z)的值为false(由于表达式y>z的关系不成立)。
|| 用于两个布尔逻辑或关系表达式的运算。
|| 运算的一般形式是:A || B
其中:A、B 是布尔逻辑或关系表达式。若A和B的值只要有一个为true,则A||B的值为true;若A和B的值均为false时,A||B的值为false。
例如:若x=50,y=60,z=70,则表达式:
(x>y)|| y>z)的值为false(由于两个表达式x>y、y>z的关系均不成立)。
(y>x)||(z>y)的值为true(由于两个表达式y>x、z>y的关系均成立)。
(y>x)||(y>z)的值为true(由于表达式y>x的关系成立)。
下边举一个例子看一下布尔逻辑运算符及表达式的使用。
例2.3 布尔逻辑运算符及表达式的示例。
class LogicExam2_3
{
public static void main(String [] arg)
{
int a=0,b=1;
float x=5f,y=10f;
boolean l1,l2,l3,l4,l5;
l1=(a==b)||(x>y); //l1=false
l2=(x l4=l1||l2||l3; //l4=true l5=!l4; //l5=false System.out.println("l1="+l1+" l2="+l2+" l3="+l3+" l4="+l4+" l5="+l5); } } 程序的执行结果如下: 2.3.4 位运算符及表达式 位运算符主要用于整数的二进制位运算。可以把它们分为移位运算和按位运算。 移位运算 1) 位右移运算(>>) >> 用于整数的二进制位右移运算,在移位操作的过程中,符号位不变,其他位右移。 例如,将整数a进行右移2位的操作:a>>2 2) 位左移运算(<<) << 用于整数的二进制位左移运算,在移位操作的过程中,左边的位移出(舍弃),右边位补0。 例如,将整数a进行左移3位的操作:a<<3 不带符号右移运算(>>>) >>> 用于整数的二进制位右移运算,在移位操作的过程中,右边位移出,左边位补0。 例如,将整数a进行不带符号右移2位的操作:a>>>2 按位运算 1)&(按位与) & 运算符用于两个整数的二进制按位与运算,在按位与操作过程中,如果对应两位的值均为1,则该位的运算结果为1,否则为0。 2) |(按位或) | 运算符用于两个整数的二进制按位或运算,在按位或操作过程中,如果对应两位的值只要有一个为1,则该位的运算结果为1,否则为0。 例如,将整数a和b进行按位或操作:a|b 3) ^(按位异或) ^ 运算符用于两个整数的二进制按位异或运算,在按位异或操作过程中,如果对应两位的值相异(即一个为1,另一个为0),则该位的运算结果为1,否则为0。 例如,将整数a和b进行按位异或操作:a^b 4) ~(按位取反) ~ 是一元运算符,用于单个整数的二进制按位取反操作(即将二进制位的1变为0,0变为1)。 例如,将整数a进行按位取反操作:~a 下边举一个例子简要说明位运算的使用。 例 2.4 整数二进制位运算的示例。为了以二进制形式显示,程序中使用Integer类的方法toBinaryString()将整数值转换为二进制形式的字符串,程序代码如下: class BitExam2_4 { public static void main(String [] arg) { int i1=-128,i2=127; System.out.println(" i1="+Integer.toBinaryString(i1));