实现位数超过32bit的整数的加减乘除运算_Java 运算符

运算符

基础运算符比较常规 + - * / 代表加减乘除,以及整数的求余用 % 来表示

需要注意的是整数被 0 除将会产生一个异常, 浮点数被 0 除会得到无穷大 或 NaN

数学函数与常量

Math 类包含各种数学函数 比如求一个数值的平方根

double x = 4;double y = Math.sqrt(x); // 对 x 开方System.out.println(y); // 2.0

幂运算 Math.pow(参数,幂次数) Math 还提供了一些常用的三角函数 Math.sin Math.cos Math.tan Math.atan Math.atan2 指数函数以及它的反函数 自然对数以及以10为底的对数 Math.exp Math.log Math.log10

Java 还提供了两个用来表示 π 和 e 常量的近似值

Math.PI Math.E

在运算结果比运行速度更重要的时候 应该使用 StrictMath 这个库

数据类型之间的合法转换

实心箭头表示 无信息丢失的转换, 虚线箭头代表精度损失的转换

746dcf5811c43d4d2435b2c7a8b31545.png

强制类型转换

上图所示的 虚线精度损失需要通过强制类型转换(cast) 实现

double x = 9.997int nx = (int) x;

由于强制转换类型 假设超出了目标类型的表示范围,结果会是截断成一个完全不同的值.

(byte) 300 实际值为 44

结合赋值和运算符

x += 4; 等价于 x = x + 4; 类型与左侧操作数不同时会发生强制类型转换

int 1;x + 3.5 // 4.5 强制转换了类型

自增与自减运算

前缀与 后缀的区别

int m = 7;int n = 7;int a = 2 * ++m // a is 16, m is 8int b = 2 * n++ // b is 14 , n is 8

在表达式中谨慎使用自增/自减运算

关系运算和 Boolean 运算符

== 相等 != 不等 < > <= >= &&(与运算 运算符两侧运算均成立则为true 其他为false) || 或则表示 运算符两侧其中有一个成立就返回 那个值 从左至右判断 三元操作符 ? Java x < y ? x:y // 这里如果 x比y小这个情况为真 则返回 x,不然则返回y ### 位运算符 & | ^ ~ and or xor(exclusive + OR 异或运算) not

括号与运算级别

从左至右 有括号先运算括号里面的

70e0ff1c5b907613f93a0e3b2f4eabf9.png
a539e6e401722eea14253d4bb6a64b16.png

枚举类型

变量的取值只能在一个有限集合内 enum Size {S,M,L}; 现在可以直接声明这个枚举类型的变量

Size s =Size.M; // 只能给定 s 某个枚举值 也可以是 null 表示这个变量没有设置任何值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值