分享
 
 
 

Java学习笔记(三)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

第二章Java的数据类型

======================================

===>>> 第三章 Java的运算符和表达式 <<<===

======================================

§3-1 运算符

一、对于C/C++来说,Java中的运算符号并没有做多大改动,在称谓上面,由C/C++里面的“目”改成

了“元”。比如说:在C++里面叫做“三目运算符”的?:,在Java里面叫做“三元运算符”。

同样,Java是允许进行自加(i++或者++i)和自减(j--或者--j)运算的。

二、Java的运算符归纳如下:

1、算术运算符 ( + 、- 、* 、/ 、% 、++ 、-- )

2、关系运算符 ( > 、< 、>= 、<= 、== 、!= )

3、布尔逻辑运算符 ( ! 、&& 、|| )

4、位运算符 ( >> 、<<、>>> 、& 、| 、^ 、~ )

5、赋值运算符 ( = 、及其扩展赋值运算符如:+= )

6、条件运算符 ( ?: )

7、其它(包括分量运算符·,下标运算符[],实例运算符instance of,内存分配运算符new,强制

类型转换运算符(类型),方法调用运算符()等)

§3-2 算术运算符

一、一元算术运算符

运算符 用法 描述

+ +op 正值

- -op 负值

++ ++op,op++ 加1

-- --op,op-- 减1

二、二元算术运算符

运算符 用法 描述

+ op1+op2 加

- op1-op2 减

* op1*op2 乘

/ op1/op2 除

% op1%op2 取模(求余)

Java对加运算符进行了扩展,使它能够进行字符串的连接,如"abc"+"de",得到串"abcde"。

与C/C++不同,对取模运算符%来说,其操作数可以为浮点数37.2%10=7.2。

下面的例子说明了算术运算符的使用:

public class ArithmaticOp

{

public static void main( String args[] )

{

int a=5+4; //a=9

int b=a*2; //b=18

int c=b/4; //c=4

int d=b-c; //d=14

int e=-d; //e=-14

int f=e%4; //f=-2

double g=18.4;

double h=g%4; //h=2.4

int i=3;

int j=i++; //i=4,j=3

int k=++i; //i=5,k=5

System.out.println("a = "+a);

System.out.println("b = "+b);

System.out.println("c = "+c);

System.out.println("d = "+d);

System.out.println("e = "+e);

System.out.println("f = "+f);

System.out.println("g = "+g);

System.out.println("h = "+h);

System.out.println("i = "+i);

System.out.println("j = "+j);

System.out.println("k = "+k);

}

}

其结果为:

C:\>java ArithmaticOp

a = 9

b = 18

c = 4

d = 14

e = -14

f = -2

g = 18.4

h = 2.4

i = 5

j = 3

k = 5

§ 3-3 关系运算符

运算符 用法 返回true的情况

> op1>op2 op1大于op2

>+ op1>=op2 op1大于或等于op2

< op1<op2 op1小于op2

<= op1<=op2 op1小于或等于op2

== op1==op2 op1与op2相等

!= op1!=op2 op1与op2不等

和C/C++相比,Java中的何数据类型的数据(包括基本类型和组合类型)都可以通过“==”或“!=”

来比较是否相等。

关系运算的结果返回true或false,而不是C/C++中的1或0。

关系运算符常与布尔逻辑运算符一起使用,作为流控制语句的判断条件。如:if( a>b && b==c)

§ 3-4 布尔逻辑运算符

op1 op2 op1&&op2 op1||op2 !op1

false false false false true

false true false true true

true false false true false

true true true true false

·&&、‖为二元运算符,实现逻辑与、逻辑或。

·!为一元运算符,实现逻辑非。

·对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false。

下面的例子说明了关系运算符和布尔逻辑运算符的使用。

public class RelationAndConditionOp{

public static void main( String args[] ){

int a=25,b=3;

boolean d=a<b; //d=false

System.out.println("a<b = "+d);

int e=3;

if(e!=0 && a/e>5)

System.out.println("a/e = "+a/e);

int f=0;

if(f!=0 && a/f>5)

System.out.println("a/f = "+a/f);

else

System.out.println("f = "+f);

}

}

其运行结果为:

C:\>java RelationAndConditionOp

a<b = false

a/e = 8

f = 0

注意:上例中,第二个if语句在运行时不会发生除0溢出的错,因为e!=0为false,所以就不需要对a/e进行运算。

§ 3-5 位运算符

位运算符用来对二进制位进行操作,Java中提供了如下的位运算符:

位运算符中,除“~”以 外,其余均为二元运算符。

操作数只能为整型和字符型数据。

3-4-1 补码

Java使用补码来表示二进制数,在补码表示中,最高位为符号位,正数的符号位为0,负数为1。补码

的规定如下:

对正数来说,最高位为0,其余各位代表数值本身(以二进制提示),如+42的补码为00101010。

对负数而言,把该数绝对值的补码按位取反,然后对整个数

1、即得该数的补码。如:

-42的补码为11010110(00101010按位取反11010101 +1 11010110 )

用补码来表示数,0的补码是唯一的,都 为00000000。(而在原码,反码表示中,+0和-0的表示是不

唯一的,可参见相应的书籍)而且可以用111111表示-1的补码)这也是补码与原码和反码的区别)。

3-4-2 按位取反运算符 ~

~ 是一元运算法,对数据的每个二进制位取反,即把1变为0,把0变为1。

例如 :

0010101

1101010

注意,运算符与-运算符不同,~21≠-21。

3-4-3 按位与运算符&

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,例如:

0010101

1101010

注意,~运算符与-运算符不同,~21≠-21。

3-4-3 按位与运算符&

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。即:

0 & 0 = 0 ;0 & 1 = 0 ;1 & 0 = 0 ;1 & 1 = 1 ;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有