最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中的數(shù)學計算函數(shù)的總結(jié)

 更新時間:2017年07月04日 11:58:44   作者:liuhmmjj  
這篇文章主要介紹了java中的數(shù)學計算函數(shù)的總結(jié)的相關資料,需要的朋友可以參考下

java中的數(shù)學計算函數(shù)

Math類:

 java.lang.Math類中包含基本的數(shù)字操作,如指數(shù)、對數(shù)、平方根和三角函數(shù)。
 java.math是一個包,提供用于執(zhí)行任意精度整數(shù)(BigInteger)算法和任意精度小數(shù)(BigDecimal)算法的類。
 
 java.lang.Math類中包含E和PI兩個靜態(tài)常量,以及進行科學計算的類(static)方法,可以直接通過類名調(diào)用。
 public static final Double E = 2.7182818284590452354 
 public static final Double PI = 3.14159265358979323846
 
 public static long abs(double x):傳回 x 的絕對值。X也可int long float
 public static long sin(double x): 傳回x徑度的正弦函數(shù)值 
 public static long cos(double x):傳回x徑度的余弦函數(shù)值  
 public static long tan(double x): 傳回x徑度的正切函數(shù)值 
 public static long asin(double x):傳回x值的反正弦函數(shù)值。
 public static long acos(double x):傳回x值的反余弦函數(shù)值。
 public static long atan(double x):傳回x值的反正切函數(shù)值。 
 public static long atan2(double x, double y):傳回極坐標(polar)的θ值 
 public static long floor(double x):傳回不大于x的最大整數(shù)值 
 public static long ceil(double x):傳回不小于x的最小整數(shù)值。 
 public static long exp(double x):傳回相當于ex值 
 public static long log(double x):傳回x的自然對數(shù)函數(shù)值 
 public static long max(double x,double y):傳回x、y較大數(shù) 
 public static long min(double x,double y):傳回x、y較小數(shù) 
 public static long pow(double x,double y):傳回x的y次冪值 
 public static long sqrt(double x): 傳回x開平方值 
 public static long rint(double x):傳回最接近x的整數(shù)值 
 public static long round(double x):傳回x的四舍五入值 
 public static long toDegrees(double angrad):傳回將angrad徑度轉(zhuǎn)換成角度 
 public static long toRadians(double angdeg): 傳回將angdeg角度轉(zhuǎn)換成徑度
 public static long random():傳回隨機數(shù)值,產(chǎn)生一個0-1之間的隨機數(shù)(不包括0和1)
 

NumberFormat類:

(public abstract class NumberFormat extends Format)
用java.text.NumberFormat類對輸出的數(shù)字結(jié)果進行必要的格式化。

 使用該類如下方法類實例化一個NumberFormat對象:
  public static final NumberFormat getInstance()
 然后用該對象調(diào)用如下方法可以格式化數(shù)字number(返回字符串對象):
  public final String format(double number)
 
 NumberFormat類有如下常用方法:
 public void setMaximumFractionDigits(int newValue)//設置數(shù)的小數(shù)部分所允許的最大位數(shù)。
 public void setMaximumIntegerDigits(int newValue)//設置數(shù)的整數(shù)部分所允許的最大位數(shù)。
 public void setMinimumFractionDigits(int newValue)//設置數(shù)的小數(shù)部分所允許的最小位數(shù)。
 public void setMinimumIntegerDigits(int newValue)//設置數(shù)的整數(shù)部分所允許的最小位數(shù)。
 (更多方法及用法看JDK6API參考。)

  BigInteger類、BigDecimal類:

 java.math包中的BigInteger類和BigDecimal類分別提供任意精度的整數(shù)和小數(shù)運算。
 兩個類設計思想一樣,這里只對BigInterger類稍做介紹,細節(jié)可以查看JDK6API參考。
 
 構造方法如下:
  BigInteger(String val) //將 BigInteger 的十進制字符串表示形式轉(zhuǎn)換為 BigInteger。
  還有很多考慮周全的構造函數(shù),建議要準備寫特殊需求的BigInteger前先認真翻下JDK。
 
 常用方法:
  abs() //返回其值是此BigInteger的絕對值的BigInteger。
  add(BigInteger val) //返回其值為(this+val)的BigInteger。
  subtract(BigInteger val) //返回其值為(this-val)的BigInteger。
  multiply(BigInteger val) // 返回其值為(this*val)的BigInteger。
  divide(BigInteger val) //返回其值為(this/val)的BigInteger。
  remainder(BigInteger val) //返回其值為(this%val)的BigInteger。
  compareTo(BigInteger val) //將此BigInteger與指定的BigInteger進行比較。返回值1、0、-1分別表示大于、等于、小于
  pow(int exponent) //返回當前大數(shù)的exponent次冪。
  toString() //返回此BigInteger的十進制字符串表示形式。
  toString(int radix) //返回此BigInteger的給定基數(shù)(radix進制)的字符串表示形式。

補充:

(1)abs():返回某數(shù)字的絕對值.參數(shù)可以是float、double、long或int。如果是byte或short類型,那么它們會被強制轉(zhuǎn)換成int類型。
(2)ceil()會找到下一個最大整數(shù)。例如參數(shù)為9.01時,返回10.0。為-0.1時,返回-0.0。返回比參數(shù)大的整數(shù),而且都是雙精度類型的。如果參數(shù)是整數(shù),則該方法會返回這個參數(shù)的雙精度型。
(3)floor()返回緊鄰的最小整數(shù)。作用與ceil()正好相反,返回的是比參數(shù)小的整數(shù),而且都是雙精度型。如果參數(shù)為整數(shù),則返回這個參數(shù)的雙精度型。
(4)max()返回兩個值中的最大值,只支持float double long int 不支持byte short。
(5)min()返回兩個值中的最小值,只支持float double long int 不支持byte short。
(6)random()返回一個隨機數(shù),一個在0.0到1.0之間的雙精度數(shù)。
(7)round()返回與某浮點數(shù)值最接近的整數(shù)值。參數(shù)可以為double和folat兩種,而且支持四舍五入。例如:參數(shù)為9.01時,返回9,參數(shù)為9.5時,返回10,參數(shù)為-9.5時,返回-9。
(8)sqrt()返回某數(shù)值的平方根。如果該參數(shù)是"非數(shù)字"類型(NaN),或者小于零,則返回是NaN。

需要注意的問題,類型自動提升,其實類型提升是在運算之前完成的 

加法運算 
  byte a = 1; 
  byte b = 2; 
  byte c = a+b; 
  報錯,因為a+b之前會將a,b自動提升為int 
  正確為: byte c = (byte)(a+b); 
減法運算 
  加法運算是一樣的 
乘法運算 
  同樣遵循類型自動提升 
  int a = 3*5;  結(jié)果為: 15 int類型 
  double b = 3*5.0;  結(jié)果為: 15.0 double類型 
除法運算 
  兩個整數(shù)相除結(jié)果為整數(shù),小數(shù)位截斷 
    int a = 10/4; 結(jié)果為2 
    int b 5/7; 結(jié)果為0 
  如果參與運算有浮點數(shù),則進行浮點數(shù)除 
    double a = 10.0/5.0;  結(jié)果為2.0 
    double b = 10.0/5;   結(jié)果為2.0 
    double c = 10.0/0;   結(jié)果為Infinity(正無窮大) 
    double d = -10.0/0;   結(jié)果為-Infinity(負無窮大) 
    double e = 0.0/0;    結(jié)果為NaN(不是數(shù)字) 
求余運算分3步 
  第一步: 左邊操作數(shù)的絕對值減去右邊操作數(shù)的絕對值,得到差 
  第二步: 得到的差兩種情況 
    如果差比右邊操作數(shù)的絕對值大,再執(zhí)行第一步 
    如果差比右邊操作數(shù)的絕對值小,將差返回 
  第三步: 結(jié)果的符號為左邊操作數(shù)的符號 
  需要注意的是: 整數(shù)進行求余時,右邊操作數(shù)為0,則報錯,浮點數(shù)進行求余時,右邊操作數(shù)為0,則為NaN 
    15%4 = 3; 
    -15%4 = -3; 
    15%0 報錯 
    15.0%0 = NaN 
自增自減運算  
  int b = a++; 先把a的值賦給b,a再+1  
  int b = ++a; 先給a+1,再把a的值賦給b  
關系運算符 
  ==,!=,>,>=,<,<= 
邏輯運算符 
  短路與: 使用&&表示,雙目運算符,只要第一個操作數(shù)為false,就發(fā)生短路,后面不執(zhí)行 
    短路或: 使用||表示,雙目運算符,只要第一個操作數(shù)為true,就發(fā)生短路,后面不執(zhí)行 
    非短路與: 使用&表示,雙目運算符,如果第一個操作數(shù)為false,第二個操作數(shù)還會執(zhí)行 
  非短路或: 使用|表示,雙目運算符,如果第一個操作數(shù)為true,第二個操作數(shù)還會執(zhí)行 
    String str = null; 
    if(str != null & !str.equals("")){} 報錯,空指針異常,因為第二個操作數(shù)也執(zhí)行了 
    if(str != null & !str.equals("")){} 不報錯,因為第二個操作數(shù)沒有執(zhí)行 
  非運算 
三目運算符 
  5>10?true:false; 
位運算 
  位運算cpu直接支持的,效率最高 
  位運算允許對整數(shù)中單個比特進行操作,為運算會對兩個操作數(shù)中對應比特執(zhí)行布爾代數(shù)運算,產(chǎn)生結(jié)果 
  & 與: 二者比特都是1,則結(jié)果為1,否則為0 
  | 或: 二者比特都是0,則結(jié)果為0,否則為1 
  ^ 異或: 二者比特相同,則結(jié)果為0,否則為1 
  ~ 非: 講被操作數(shù)按位取反 
    int a = 12|2; // 1100|0010 打印結(jié)果14 
      1100 
    |  0010 
    -------- 
      1110 
<< 左移 
  int a = 8<<1; //打印16 
  int為32bit 
    8的二進制位:         0000 0000 0000 0000 0000 0000 0000 1000 
    左移動1bit,在右邊填充0: 0000 0000 0000 0000 0000 0000 0001 0000 
>> 右移 
  int a = 8>>1; //打印4 
  int為32bit 
    8的二進制位:         0000 0000 0000 0000 0000 0000 0000 1000 
    右移動1bit,在右邊填充0: 0000 0000 0000 0000 0000 0000 0000 0100 

數(shù)學常量

Math.PI: 圓周率常量 
Math.E: 自然常量 
數(shù)學函數(shù)
[java] view plaincopy 
abs() 
  返回絕對值 
ceil() 
  返回一個大于等于操作數(shù)的最近整數(shù)值 
  Math.ceil(8.7); //9.0 
  Math.ceil(9.0); //9.0 
  Math.ceil(9.0); //9.0 
floor() 
  返回一個不大于操作數(shù)的最近整數(shù)值 
  Math.floor(8.7); //8.0 
  Math.floor(9.0); //8.0 
  Math.floor(9.0); //9.0 
max() 
  返回兩個操作數(shù)的最大一個 
  Math.max(1,2); 
min() 
  返回兩個操作數(shù)的最小一個 
  Math.min(1,2); 
random() 
  返回大于等于0.0小于1.0的隨機double型 
round() 
  返回最接近操作數(shù)的整數(shù)(四舍五入) 
toRadians() 
  轉(zhuǎn)換為弧度 
  Math.toRadians(90.0); //1.57079... 
sin() 
  返回給定角度的正弦,操作數(shù)是double型 
  Math.sin(Math.toRadians(90.0)); //求90度角的正弦值,返回1.0 
cos() 
  返回給定角度的余弦,操作數(shù)是double型 
  Math.cos(Math.toRadians(0.0)); //求0度角的余弦值,返回1.0 
tan() 
  返回給定角度的正切,操作數(shù)是double型 
  Math.tan(Math.toRadians(45.0)); //求45度角的正切值,返回1.0 
sqrt() 
  返回給定值的平方根,,操作數(shù)是double型 
  Math.sqrt(4.0); //2.0 
  Math.sqrt(-4.0); //Nan 
toDegrees() 
  返回給定弧度的角度值 
  Math.toDegrees(Math.PI*0.5); //90.0 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關文章

  • SpringBoot AOP AspectJ切面技術介紹與實現(xiàn)方式

    SpringBoot AOP AspectJ切面技術介紹與實現(xiàn)方式

    這篇文章主要介紹了Springboot如何使用Aspectj實現(xiàn)AOP面向切面編程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java如何獲得泛型類中的泛型類型T.class

    Java如何獲得泛型類中的泛型類型T.class

    獲取泛型符號E的Class對象的方法,1.反射方案利用匿名子類實例化,但該方法有特殊限制,2.反射方案2直接指定泛型類型,但不靈活,3.構造方法方案在初始化時傳入泛型類,但有寫錯風險
    2024-12-12
  • Android開發(fā)簡單計算器實現(xiàn)代碼

    Android開發(fā)簡單計算器實現(xiàn)代碼

    這篇文章主要介紹了Android開發(fā)簡單計算器實現(xiàn),本文放置了完整的Android開發(fā)電腦,通過部署項目可以直接按到效果,希望本篇文章可以對你有所幫助
    2021-06-06
  • 淺談Spring Data如何簡化數(shù)據(jù)操作的方法

    淺談Spring Data如何簡化數(shù)據(jù)操作的方法

    這篇文章主要介紹了看Spring Data如何簡化數(shù)據(jù)操作的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • java的異常與處理機制分析【附面試題】

    java的異常與處理機制分析【附面試題】

    這篇文章主要介紹了java的異常與處理機制,結(jié)合實例形式分析了Java異常與處理機制的概念、原理、相關操作技巧與注意事項,并附帶面試題分析供大家參考,需要的朋友可以參考下
    2019-05-05
  • 淺談Java生成唯一標識碼的三種方式

    淺談Java生成唯一標識碼的三種方式

    我們經(jīng)常會遇到這樣的場景,需要生成一個唯一的序列號來表明某一個數(shù)據(jù)的唯一性,本文主要介紹了淺談Java生成唯一標識碼的三種方式,感興趣的可以來了解一下
    2022-01-01
  • Java實現(xiàn)對中文字符串的排序功能實例代碼

    Java實現(xiàn)對中文字符串的排序功能實例代碼

    這篇文章主要介紹了Java實現(xiàn)中文字符串的排序功能實例代碼的相關資料,需要的朋友可以參考下
    2016-04-04
  • java中Consumer接口的使用教程詳解

    java中Consumer接口的使用教程詳解

    Java?8?引入了?java.util.function?包,其中包含了一些常用的函數(shù)式接口,Consumer?接口是其中一個函數(shù)式接口,用于表示接受一個輸入?yún)?shù)并執(zhí)行某種操作的操作者,下面我們就來學習一下他的具體使用吧
    2023-12-12
  • Spring boot 連接多數(shù)據(jù)源過程詳解

    Spring boot 連接多數(shù)據(jù)源過程詳解

    這篇文章主要介紹了Spring boot 連接多數(shù)據(jù)源過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 使用synchronized關鍵字實現(xiàn)信號量的方法

    使用synchronized關鍵字實現(xiàn)信號量的方法

    在Java中,信號量(Semaphore)是一種常用的同步工具,它可以用來控制對共享資源的訪問數(shù)量,下面,我們將使用Synchronized關鍵字來實現(xiàn)一個簡單的信號量,我們的目標是實現(xiàn)一個計數(shù)信號量,其中信號量的計數(shù)指示可以同時訪問某一資源的線程數(shù),需要的朋友可以參考下
    2024-04-04

最新評論

贵溪市| 宁河县| 天水市| 攀枝花市| 辉南县| 芜湖市| 永新县| 罗平县| 科尔| 沧源| 蒙自县| 曲麻莱县| 林周县| 乌兰县| 文昌市| 龙口市| 通榆县| 西吉县| 瑞金市| 新乐市| 湘乡市| 大名县| 桐梓县| 平利县| 化州市| 柳河县| 黎平县| 内黄县| 金秀| 平和县| 静海县| 怀远县| 兴义市| 高雄县| 湘阴县| 玛沁县| 杭锦后旗| 买车| 罗源县| 石首市| 天全县|