java中的运算符

java中的运算符也就是基础的算法运算符+、-、*、/分别表示加、减、乘、除。虽然运算符很常见,但是其延伸出很多的用法,值得我们去好好研究下。

基本的运算大家都应该会,但是需要注意的是整数的运算有些特别,因为是整数,所以运算后的结果也要是整数。例如:15/2等于7、15%2等于1 ,这些例子就是这个道理了。

其实在java中需要注意的运算主要有如下:

1.自增运算符与自减运算符。

java借鉴了c和C++中的实现方式,也使用了自增、自减运算符。如:i++将变量i的当前值加1;i--将i的值减1.注意由于i的值是可以变动的,所以i不能是数值。

其实这两种运算符有两种形式。有后缀和前缀之分。如:后缀i++和前缀++i。其中i++的意思是如果有运算,那么就先运算后i再加1,而++i则相反,先对i加1后再进行运算。示例如下:

int i = 6;

int a = ++i+2;

int b = 2+i++;

结果:a:9;b:8;

自减与自加的规则相同,只是变为了减1。

2.关系运算符与boolean运算符

java中的比较常用的关系运算符主要有 ==、<、>、 <= 、>=。

逻辑运算符主要有&、&&、|、||、!。分别表示与、短路与、或、短路或和非。

其中与和短路与都是表示两边的表达式都为true时才为true。但是使用&&时还拥有第一个表达式值为false的时候,结果不为真,不进行第二个表达式验证,这样可以避免一些错误的发生。如:

(1)String test = null;

if(test!=null&&test.length>1)

test = "我是中国人";

(2)String test = null;

if(test!=null&test.length()>1)

test = "我是中国人";

结果:第一个不会报错,第一个就会报出NullPointerException异常。

另外,java还支持三元运算操作?:。很多时候,这个 表达式还是很有用的。

condition?expression1:expression2;

示例:

int x = true?1:6;

结果:x = 1;

但是三目运算符有一个比较难以理解的知识点就是当expression1和expression2都为数字类型时的转型问题。因为两个表达式最后要转化为同一类型。我总结了几个规则:

(1.当两个表达式有一个为int类型的常量,另一个为变量,如果该常量可以用变量表示就转化为该变量的类型。否则就都使用该int的类型。

(2.如果两个都是变量,那么就是低位转高位了如:byte转化为int。

3.位运算

在处理整型数值时,可以直接对组成整型的数值的各个位进行操作。

位运算包括:

&("与")、|("或")、^("异或")、~("非")

&  两个操作数的位中,相同则结果为1,不同则结果为0。

|   两个操作数的位中,只要有一个为1就为1,否则为0。

 两个操作数的位中,相同则结果为0,不同则结果为1。

~ 就是对一个数的各个位上的值取反,该位如果是0就变为1,如果为1就变为0;

然后就是位移运算符<<,>>,<<<。

<<      :     左移运算符,num << 1,相当于num乘以2

>>      :     右移运算符,num >> 1,相当于num除以2

>>>    :     无符号右移,忽略符号位,空位都以0补齐



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值