Java入門學習-使用Math,實現lg、平方、開方、round、floor、ceil的演算法。
一、lg
使用方法:Math.log10()
public class MathMethod {
public static void main(String[] args) {
int a=100;
double b=100;
float c=100;
System.out.println("lg的實現:"+Math.log10(a));
System.out.println("lg的實現:"+Math.log10(b));
System.out.println("lg的實現:"+Math.log10(c));
}
}
//輸出:
//lg的實現:2.0
//lg的實現:2.0
//lg的實現:2.0
然後Math.log10()返回的是double型的,所以當它賦值給int時,會報錯。
還有兩種log方法:
Math.log():求以2為底的對數
Math.log1p():求Ln(X+ 1)
二、平方
使用方法:Math.pow(x,y):求x的y次方
同樣也是返回double型別
public class MathMethod {
public static void main(String[] args) {
int a=100;
System.out.println("100的平方:"+Math.pow(a,2));
}
}
//輸出100的平方:10000.0
三、開方
使用方法:
1、Math.sqrt(a):求a的開平方
2、Math.pow(a,1.0/b):求a的開b次方。
假設是開3次方,這裡需要注意的是1.0/3.0,不能寫1/3哦。因為前者返回的是double型別,保留了小數,後者是int型,會自動取整(向下取0了)。
同樣也是返回double型別
public class MathMethod {
public static void main(String[] args) {
int a=100;
System.out.println("100的開方(sqrt):"+Math.sqrt(a));
System.out.println("100的開方(pow):"+Math.pow(a, 0.5));
}
}
//輸出
//100的開方(sqrt):10.0
//100的開方(pow):10.0
四、round
四捨五入:演算法為Math.floor(x+0.5),即將原來的數字加上0.5後再向下取整(小數位<5就不加了),所以:
Math.round(98.5)的結果為99,
Math.round(-98.5)的結果為-98,
Math.round(-98.6)的結果為-99。
int java.lang.Math.round(float a) //float的入參返回int型
long java.lang.Math.round(double a) //double的入參返回long型
五、floor和ceil
我是這麼記憶的:floor是地板的意思,就是向下取整;ceil是天花板,就是向上取整。
double java.lang.Math.floor(double a)
double java.lang.Math.ceil(double a)
public class MathMethod {
public static void main(String[] args) {
int a=98;
double b=-98.1;
float c=98.8f;
System.out.println("floor(98):"+Math.floor(a));
System.out.println("floor(-98.1):"+Math.floor(b));
System.out.println("floor(98.8f):"+Math.floor(c));
System.out.println("ceil(98):"+Math.ceil(a));
System.out.println("ceil(-98.1):"+Math.ceil(b));
System.out.println("ceil(98.8f):"+Math.ceil(c));
}
}
//輸出:
//floor(98):98.0
//floor(-98.1):-99.0
//floor(98.8f):98.0
//ceil(98):98.0
//ceil(-98.1):-98.0
//ceil(98.8f):99.0
需要注意的是:負數呼叫Math的各方法
round(-98.5):-98
round(-98.6):-99。
floor(-98.1):-99.0
ceil(-98.1):-98.0
相關文章
- Java Math floor,ceil,rint及round用法簡介Java
- hive中round、floor、ceil區別及用法Hive
- Python教程:ceil、floor、round、int取整Python
- matlab中的fix,round,floor,ceil的區別與涵義Matlab
- php取整函式ceil,floor,round,intval函式的區別PHP函式
- JavaScript Math.ceil()JavaScript
- JavaScript Math.floor()JavaScript
- 演算法學習之路|四平方和演算法
- JavaScript Math.trunc vs Math.floor All In OneJavaScript
- lg-math4
- java學習之Math類Java
- Java學習--使用 Math 類運算元據Java
- Java入門學習-學習static的用法Java
- Java學習之Math類理解Java
- java中的Math.round(-1.5)等於多少Java
- Java開發學習(二)----IOC、DI入門案例Java
- Java Math類方法學習記錄Java
- iOS中round/ceil/floorf函式的應用iOS函式
- 學習Java怎麼入門?Java
- Java學習路線·入門Java
- JavaScript Math.round()JavaScript
- 【Mysql學習】mysql的使用入門MySql
- 【Mysql 學習】mysql 的使用入門MySql
- Java學習從入門到精通的學習建議Java
- 學習java怎麼入門?怎樣學Java?Java
- SpringMVC入門學習---使用註解開發SpringMVC
- 成都Java學習入門建議Java
- 【java】三大框架學習入門Java框架
- Java入門學習-理解I/OJava
- Java學習從入門到精通Java
- DSP開發入門學習
- 真正的Java學習從入門到精通Java
- Nacos入門學習&實踐
- Java語言入門:該如何學習JavaJava
- 如何開始使用Linux?入門學習運維Linux運維
- java學習筆記1(入門級)Java筆記
- java入門基礎學習----泛型Java泛型
- Java新手入門學習路線圖Java