`
aksese
  • 浏览: 3052 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Java学习之路04--JavaSE基础( 三)

    博客分类:
  • Java
阅读更多


java的运算符

1.1算术运算符


单目: ++(自增1) - -(自减1)

++:

a、 i++:先使用i当前的值,然后i=i+1

b、 ++i:    先i=i+1,再使用i(加完以后的值)

 

 

 

--:

a、 i--:先使用i当前的值,然后i=i-1

b、 --i:先i =i-1,再使用i(减完以后的值)

 

 

 

双目:+, -, *, / ,%(取余或取模)

 

1、操作的时候,只能操作同一个类型的数字

2、返回结果也必须是一个类型的(否则可能产生溢出、损失精度)

3、%----->是取两数相除的余数。如12%7=5

 

 

 

三目(条件运算赋或三元运算符):

格式:条件表达式? 表达式1 : 表达式2

如果条件表达式为true,则整个运算表达式的值为表达式1,反之为false,则为表达式2




1.2关系运算符

 

 

关系运算符的表达式返回值都是boolean类型的值。

 == , != ,>,<,>=,<=

!=是不等于

 

 

 

 

 

 

1.3逻辑运算符

a.短路运算:||&&


如果满足某一条件,另外一个就会被跳过,不会执行。


如:条件1||条件2,如果条件1为真(true),则表达式为真,条件2就不用运行判断

     条件3&&条件4,如果条件3为假(false),则表达式为假,条件4就跳过,不做判断。

 

 

 

 

b.非短路运算:|&


不管条件是什么,两个条件都会执行。


如:条件1 | 条件2,不管条件是否为真(true),条件2都会执行判断

 

 

 

 

 

 

1.4赋值运算符

=, += ,-=, *=, /= ,%=, &= ,^=, |=, <<=, >>=

例:+=

int a =1; a += 2;等效于a = a + 2

 

 

 

 

 

 

 

1.5位移运算符

位移就是将数的二进制数往左或右移动

<< 带符号左移

>>带符号右移

>>> 无号右移

例: int a1 = 8; // 0000 0000 0000 1000

System.out.println(a1>>>2); //// 0000 0000 0000 0010

 

 

输出为 2

 

移动有一定规律可循的:如向右移动数值就会变小,向左移的话数值变大。

 

例子:十进制8的二进制数,向右移动2位,就变小了,变为2

 

移动前:0000 0000 0000 1000(8)

移动后:0000 0000 0000 0010(2)

 

又或二进制数8,向左移动2位,就变大为32

 

 

移动前:0000 0000 0000 1000(8)

 

移动后:0000 0000 0010 0000(32)

 

所以,总结就是

移动N位,就是除以2的N次幂(2^N),8向右移两位就是8除以2的2次幂,就等于2

移动N位,就是乘以2的N次幂(2^N),8向右移两位就是8乘以2的2次幂,就等于32

  • 大小: 22.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics