求e的近似值java_JAVA脱水学习——java运算符位操作及常用数学函数

JAVA 运算符相关特性。

一、运算符

Java 程序语言支持算术运算、关系运算、逻辑运算和位运算。

1.算术运算,操作对象必须是数字

b67dd72f9e5b4c5469bb81a009205d1a.png

2.关系运算符,比较两个数字的大小,运算结果返回布尔型 boolean

c0e15aaf0ffc3f3acfedb5397c6e4420.png

3.逻辑运算符,操作数据必须是布尔型,或结果为布尔型的表达式,结果返回布尔型 boolean

6f50cc8681a1d49de3e867fe6da595a8.png

注:&& 与 & 和 || 与 | 运算结果相同,区别在于 && 与 || 支持短路计算,而 & 与 | 不支持短路计算。

短路计算如:

&& 当左边表达式结果为 false 时,则不计算右边,直接返回 false。

|| 当左边表达式为 true 时,则不计算右边,直接返回 true。

&、| 不支持短路计算,始终会计算完两边的表达式。

4.位运算,操作二进制数,结果返回二进制对应的整形

547ce247f37288aa4797bda1af94c75e.png

注意:11 的 二进制数 1011 取非 ~1011 的值并不等于 -11。从前面的章节可知 Java 定义的整型占 2 个字节即 32 位,11 的二进制就是 00000000 00000000 00000000 00001011,~11 得到 11111111 11111111 11111111 11110100。又知 Java 的最高位为符号位,0是正整1是负数,所以取反得到的是负数。而在计算机中负数的表示是通过补码来实现,也就是数的绝对值取反加1。那么可知 ~11 的值就是 11 取非后减 1 再取反的绝对值的负数。11111111 11111111 11111111 11110100 减 1 得 11111111 11111111 11111111 11110011,取反得 00000000 00000000 00000000 00001100 值位 12,最后取其负数得 -12。也就是 ~1011 = -12,如图:

5dc7d66cca3c521abad3da3e7e08cedc.png

5.运算符与赋值运算符一同使用

运算符后边跟赋值操作,如:a += b; 表示:a = a + b; 其他运算符操作类似。

支持的运算符有:+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>=

其中 +=、-=、*=、/=、%= 操作的对象必须是数值类型;&=、|=、^= 操作对象必须是逻辑类型或整形;<<=、>>=、>>>= 操作对象必须是整数。

值得注意的是没有 &&=、||= 运算符。

6.字符串加(+)运算

将两个字符窜类型值相连。如果数据中有一个是字符串,一个是数字,默认将数字转为字符窜,再做字符串相连操作。

7.条件运算符(三目运算符)

格式:表达式1 ? 表达式2 :表达式3;

先计算表达式1,如果结果为 true 则再计算表达式2,并返回计算结果;若表达式1计算结果为 false 则计算表达式3,并返回表达式3的结果。

8.方括号 [] 和 括号 () 运算符

[] 用于取数组对应下标的值,如:arr[1];

() 用于优先计算、强制类型转换、方法调用执行,如:

优先计算:(1 + 2 ) / 3; 先计算 1 + 2。

强制类型转换如:(int)1.5; 将浮点型强制转化为整形。

方法调用:func();

9.点(.)运算符

取对象的成员属性或方法。

Person p = new Person("name");String name = p.getName();

10.对象运算符 instanceof

判断一个对象是不是指定类的实例。

Person p = new Person("name");if (p instanceof Person) { System.out.println("p 是 Person 类的实例");}

二、运算符优先级

优先级由高到低,不用可以记忆,不确定时用 () 提高运算优先级。

a59dcd3d804f42dcc6c4eff5ad827898.png

三、强制类型转换

数字类型转换时,由高精度类型转为低精度类型时可能会由精度丢失,反之不会。如:

public class Test { public static void main(String[] args) { double d = 3.1415; int a = (int) d; System.out.println(a); // 得到 3 小数位后丢失 int i = 1; float f = (float) i; System.out.println(f); // 转为浮点型 1.0 String s = String.valueOf(i); // 数字转字符串 System.out.println(s); String str1 = "123"; String str2 = "3.14"; int m = Integer.parseInt(str1, 10); // 字符窜转位数字,这里的 10 表示转为十进制数 float n = Float.parseFloat(str2); // 字符窜转位数字,这里的 10 表示转为十进制数 System.out.println(n); }}

四、数学函数与常量

Java 中的 Math 包提供常见的数学函数计算。并提供可执行任意精度整数(BigInteger)算法和任意精度小数(BigDecimal)算法的类。Math 中还定义了 π 和 e 常量的近似值:

Math.PI = 3.141592653589793

Math.E = 2.718281828459045

常用的数学函数:

public static long abs(double x) // 反回 x 的绝对值。x 也可 int long floatpublic static long sin(double x) // 反回 x 径度的正弦函数值 public static long cos(double x) // 反回 x 径度的余弦函数值 public static long tan(double x) // 反回 x 径度的正切函数值 public static long asin(double x) // 反回 x 值的反正弦函数值public static long acos(double x) // 反回 x 值的反余弦函数值public static long atan(double x) // 反回 x 值的反正切函数值 public static long atan2(double x, double y) // 反回极坐标(polar)的 θ 值 public static long floor(double x) // 反回不大于 x 的最大整数值 public static long ceil(double x) // 反回不小于 x 的最小整数值。 public static long exp(double x) // 反回相当于 ex 值 public static long log(double x) // 反回x的自然对数函数值 public static long max(double x,double y) // 反回 x、y 较大数 public static long min(double x,double y) // 反回 x、y 较小数 public static long pow(double x,double y) // 反回 x 的 y 次幂值 public static long sqrt(double x) // 反回 x 开平方值 public static long rint(double x) // 反回最接近 x 的整数值 public static long round(double x) // 反回 x 的四舍五入值 public static long toDegrees(double angrad) // 反回将 angrad 径度转换成角度 public static long toRadians(double angdeg) // 反回将 angdeg 角度转换成径度public static long random() // 反回随机数值,产生一个 0-1 之间的随机数(不包括 0 和 1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值