赋值运算符是最常用的运算符

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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));

相关文档
最新文档