资讯专栏INFORMATION COLUMN

java学习笔记- 运算符

JellyBool / 1600人阅读

摘要:中的运算符按功能划分主要分类。算术运算符的优先级浮点数比较在中,一般不建议直接比较两个浮点数是否相等。还有与二元运算符相结合的赋值运算符。与二元运算符相结合的赋值运算符有其运算即为先两者进行二元操作再赋值给前者。

java中的运算符按功能划分主要分7类。

算术运算符

+, -, *, /, ++, --, %

关系运算符

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

布尔逻辑运算符

&&, &, ||, |, !, ^

位运算符

&, |, ~, ^, >>, >>>, <<

赋值运算符

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

条件运算符

?:

其它运算符

(类型), ., [], (), instanceof, new

下面罗列一下一些运算符中需要注意的点。

1. 整数除法

整数除法的结果也是一个整数。
例如:

int i = 2/4*100; //i的计算结果为0
2. 自增自减运算符

自增自减运算符载操作数的前面或者后面是不同的。
例如

int n = 100;
int x = n++; // ++放在n后,即先将n的值附给x,然后让n自增1。
int y = ++100; // ++放在n前面,先让n自增1,然后再赋给y。

自减符号类似。

3. 算术运算符的优先级

++,-- > *,/,% > +,-

4.浮点数比较

在java中,一般不建议直接比较两个浮点数是否相等。根据IEEE 754标准,float和double数据类型都无法精确表示你想要的某一个值,即计算机在表示的时候会有一定的误差。
一个有理数,除非分母是足够小的2的整数次幂,否则它就不能被精确表示。

因此需要慎重对浮点数做直接的等于或者不等于操作。

常用的判断两个浮点数是否相等的方法如下:

(d1>d2-epsilon) && (d1

epsilon就是浮点数的容差,其取值多少与实际的应用嘻嘻相关。一般在财务与网络应用中,epsilon一般取1e-5。在计算机辅助设计系统中通常取值1e-8.

5. 布尔值运算符短路规则

&&||具有短路规则。即第一个操作数已经成立,则不再计算后一个操作数。
&&是如果前一个操作数已经为false,则后一个操作数也不再计算判断直接判定为false。
||是如果前一个操作数已经是true,则后一个操作数也不在计算判断直接判定为true。

6. 赋值类运算符
赋值类运算符包括最基础的`=`。还有与二元运算符相结合的赋值运算符。
与二元运算符相结合的赋值运算符有:
    +=, -=, *=, /=, &=, |=, %=, <<=, >>=, >>>=
其运算即为先两者进行二元操作再赋值给前者。
7. 位运算符

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66375.html

相关文章

  • java程序员的c语言学习笔记,一文快速了解

    摘要:结构体也可以包含结构体,就像内部类访问结构的属性和一样。。我觉得这个需要学下数据结构才能更好理解给数据类型起一个新名字则可以通过对于结构体我可以这样再通过变量名就可以简便的声明结构体变量。文件暂时过了一遍预处理器头文件就是扩展名为的文件。 ...

    FuisonDesign 评论0 收藏0
  • java学习笔记-位运算

    摘要:位运算符位运算符与逻辑运算符类似,但是位运算符是对每一位进行计算。上面说到的按位取反加,就可以写成移位运算符右移与无符号右移相似,是将整数所有的位向右移动位,抛弃个低位。空出来的低位用的最高位值补全。 定点数据再计算机中的表示方法 例如一个整数类型(int)的数据在内存中占用了32位。通俗的讲就是在内存中挖了32个坑,每一个坑里可以放一个0或者1. 00000000 11111111 ...

    galaxy_robot 评论0 收藏0
  • java学习笔记-java算符号的优先顺序

    摘要:中各种运算符具有优先级顺序,一般会先计算优先级高的,再计算优先级低的。在算术运算中,优先级为在在逻辑运算中的优先级是取反在位运算中的优先级记住中所有的运算顺序比较繁琐,建议使用来简化书写,增强可读性。 java中各种运算符具有优先级顺序,一般会先计算优先级高的,再计算优先级低的。可以使用()使得优先级变为最高。在算术运算中,优先级为 ++ -- * / + - 在在逻辑运算中的优先...

    XanaHopper 评论0 收藏0
  • Java各种数据类型,自己学习写的笔记!!!

    摘要:局部变量声明在函数内部的变量。在作用域范围内不能出现命名冲突。 java编程规范: 1.良好的标识符的命名 保留字不能作为标识符命名: class、public、static..., goto,const 区分大小写:helloWorld、HelloWorld 2.良好的注释习惯 3.良好的缩进:没遇到一个代码块缩进一次(一个tab键) 变量:代...

    stefanieliang 评论0 收藏0
  • Java零基础入门笔记|原来学Java可以这么简单

    摘要:刚开始学习的时候,可能是一头雾水,不知道从何学起。这个教程总体来说就像列文虎克教学,细到极致,妙到毫巅。适合绝对零基础的,每个知识点掰开了揉碎了讲解。 刚开始学习java的时候,可能是一头雾水,不知道从何学起。还有很多Java小白,在刚自学Java的时候玩命的学习,玩命的记住Java原理,天天早上五点起床背Java的一些英...

    2bdenny 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<