從屌絲到架構(gòu)師的飛越(API篇)-Math類

一、介紹

Java 的 Math 包含了用于執(zhí)行基本數(shù)學(xué)運(yùn)算的屬性和方法晌砾,如初等指數(shù)、對(duì)數(shù)烦磁、平方根和三角函數(shù)养匈。

Math類位于Java.lang包中,包含用于執(zhí)行基本數(shù)學(xué)運(yùn)算的方法都伪!Math類的所有執(zhí)行方法都是靜態(tài)方法呕乎,可以直接使用類名.方法名調(diào)用。

Math類是一個(gè)唯一(final)類或工具類,他提供了我們所需要的所有的數(shù)學(xué)方法及屬性陨晶,比如:我們的筆記本電腦猬仁,他就是一個(gè)工具,我們擁有了他就可以直接去使用先誉,我們可以使用他里面的office軟件逐虚、聊天軟件、聽歌軟件等谆膳,還有他本身的顯示器叭爱,鍵盤,鼠標(biāo)等漱病。

二买雾、知識(shí)點(diǎn)介紹

1、Math類中的常用方法

三杨帽、上課對(duì)應(yīng)視頻的說明文檔

1漓穿、Math類中的常用方法

public static final Double E = 2.7182818284590452354

public static final Double PI = 3.14159265358979323846

public static long abs(double x):傳回 x 的絕對(duì)值。X也可int long float

public static long pow(double x,double y):傳回x的y次冪值

public static long sqrt(double x): 傳回x開平方值

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 floor(double x):傳回不大于x的最大整數(shù)值 ,向下取整

public static long ceil(double x):傳回不小于x的最小整數(shù)值老客,向上取整

public static long round(double x):傳回x的四舍五入值

public static long random():傳回隨機(jī)數(shù)值,產(chǎn)生一個(gè)0-1之間的隨機(jī)數(shù)(不包括0和1)

public static long exp(double x):傳回相當(dāng)于e^x

public static long log(double x):傳回x的自然對(duì)數(shù)函數(shù)值

public static long rint(double x):傳回最接近x的整數(shù)值

public static long toDegrees(double angrad):傳回將angrad徑度轉(zhuǎn)換成角度

public static long toRadians(double angdeg): 傳回將angdeg角度轉(zhuǎn)換成徑度

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):傳回極坐標(biāo)(polar)的θ值

案例一:

public class Demo{

public static void main(String args[]){?

/**

*Math.sqrt()//計(jì)算平方根

*Math.cbrt()//計(jì)算立方根

*Math.pow(a, b)//計(jì)算a的b次方

*Math.max( , );//計(jì)算最大值

*Math.min( , );//計(jì)算最小值

*/?

System.out.println(Math.sqrt(16));? //4.0

System.out.println(Math.cbrt(8));? ? //2.0

System.out.println(Math.pow(3,2));? ? //9.0

System.out.println(Math.max(2.3,4.5));//4.5

System.out.println(Math.min(2.3,4.5));//2.3

/**

* abs求絕對(duì)值

*/?

System.out.println(Math.abs(-10.4));? ? //10.4?

System.out.println(Math.abs(10.1));? ? //10.1?

/**

* ceil天花板的意思鳍鸵,就是返回大的值

*/?

System.out.println(Math.ceil(-10.1));? //-10.0?

System.out.println(Math.ceil(10.7));? ? //11.0?

System.out.println(Math.ceil(-0.7));? ? //-0.0?

System.out.println(Math.ceil(0.0));? ? //0.0?

System.out.println(Math.ceil(-0.0));? ? //-0.0?

System.out.println(Math.ceil(-1.7));? ? //-1.0

/**

* floor地板的意思,就是返回小的值

*/?

System.out.println(Math.floor(-10.1));? //-11.0?

System.out.println(Math.floor(10.7));? //10.0?

System.out.println(Math.floor(-0.7));? //-1.0?

System.out.println(Math.floor(0.0));? ? //0.0?

System.out.println(Math.floor(-0.0));? //-0.0?

/**

* random 取得一個(gè)大于或者等于0.0小于不等于1.0的隨機(jī)數(shù)

*/?

System.out.println(Math.random());? //小于1大于0的double類型的數(shù)

System.out.println(Math.random()*2);//大于0小于1的double類型的數(shù)

System.out.println(Math.random()*2+1);//大于1小于2的double類型的數(shù)

/**

* rint 四舍五入尉间,返回double值

* 注意.5的時(shí)候會(huì)取偶數(shù)? ? 異常的尷尬=偿乖。=

*/?

System.out.println(Math.rint(10.1));? ? //10.0?

System.out.println(Math.rint(10.7));? ? //11.0?

System.out.println(Math.rint(11.5));? ? //12.0?

System.out.println(Math.rint(10.5));? ? //10.0?

System.out.println(Math.rint(10.51));? //11.0?

System.out.println(Math.rint(-10.5));? //-10.0?

System.out.println(Math.rint(-11.5));? //-12.0?

System.out.println(Math.rint(-10.51));? //-11.0?

System.out.println(Math.rint(-10.6));? //-11.0?

System.out.println(Math.rint(-10.2));? //-10.0?

/**

* round 四舍五入击罪,float時(shí)返回int值,double時(shí)返回long值

*/?

System.out.println(Math.round(10.1));? //10?

System.out.println(Math.round(10.7));? //11?

System.out.println(Math.round(10.5));? //11?

System.out.println(Math.round(10.51));? //11?

System.out.println(Math.round(-10.5));? //-10?

System.out.println(Math.round(-10.51)); //-11?

System.out.println(Math.round(-10.6));? //-11?

System.out.println(Math.round(-10.2));? //-10?

}?

}

案例二:

public class Test{?

public static void main(String[] args) {?

// TODO Auto-generated method stub?

System.out.println(Math.E);//比任何其他值都更接近 e(即自然對(duì)數(shù)的底數(shù))的 double 值贪薪。?

System.out.println(Math.PI);//比任何其他值都更接近 pi(即圓的周長(zhǎng)與直徑之比)的 double 值媳禁。?

/*

* 1.abs絕對(duì)值函數(shù)

* 對(duì)各種數(shù)據(jù)類型求絕對(duì)值

*/?

System.out.println(Math.abs(-10));//輸出10?

/*

* 2.三角函數(shù)與反三角函數(shù)

* cos求余弦

* sin求正弦

* tan求正切

* acos求反余弦

* asin求反正弦

* atan求反正切

* atan2(y,x)求向量(x,y)與x軸夾角

*/?

System.out.println(Math.acos(-1.0));//輸出圓周率3.14...?

System.out.println(Math.atan2(1.0, 1.0));//輸出 π/4 的小數(shù)值?

/*

* 3.開根號(hào)

* cbrt(x)開立方

* sqrt(x)開平方

* hypot(x,y)求sqrt(x*x+y*y)在求兩點(diǎn)間距離時(shí)有用sqrt((x1-x2)^2+(y1-y2)^2)

*/?

System.out.println(Math.sqrt(4.0));//輸出2.0?

System.out.println(Math.cbrt(8.0));//輸出2.0?

System.out.println(Math.hypot(3.0, 4.0));//輸出5.0?

/*

* 4.最值

* max(a,b)求最大值

* min(a,b)求最小值

*/?

System.out.println(Math.max(1, 2));//輸出2?

System.out.println(Math.min(1.9, -0.2));//輸出-0.2?

/*

* 5.對(duì)數(shù)

* log(a) a的自然對(duì)數(shù)(底數(shù)是e)

* log10(a) a 的底數(shù)為10的對(duì)數(shù)

* log1p(a) a+1的自然對(duì)數(shù)

* 值得注意的是,前面其他函數(shù)都有重載画切,對(duì)數(shù)運(yùn)算的函數(shù)只能傳double型數(shù)據(jù)并返回double型數(shù)據(jù)

*/?

System.out.println(Math.log(Math.E));//輸出1.0?

System.out.println(Math.log10(10));//輸出1.0?

System.out.println(Math.log1p(Math.E-1.0));//輸出1.0?

/*

* 6.冪

* exp(x) 返回e^x的值

* expm1(x) 返回e^x - 1的值

* pow(x,y) 返回x^y的值

* 這里可用的數(shù)據(jù)類型也只有double型

*/?

System.out.println(Math.exp(2));//輸出E^2的值?

System.out.println(Math.pow(2.0, 3.0));//輸出8.0?

/*

* 7.隨機(jī)數(shù)

* random()返回[0.0,1.0)之間的double值

* 這個(gè)產(chǎn)生的隨機(jī)數(shù)其實(shí)可以通過*x控制

* 比如(int)(random*100)后可以得到[0,100)之間的整數(shù)

*/?

System.out.println((int)(Math.random()*100));//輸出[0,100)間的隨機(jī)數(shù)?

/*

* 8.轉(zhuǎn)換

* toDegrees(a) 弧度換角度

* toRadians(a) 角度換弧度

*/?

System.out.println(Math.toDegrees(Math.PI));//輸出180.0?

System.out.println(Math.toRadians(180));//輸出 π 的值?

/*

* 9.其他

*/?

//copySign(x,y) 返回 用y的符號(hào)取代x的符號(hào)后新的x值?

System.out.println(Math.copySign(-1.0, 2.0));//輸出1.0?

System.out.println(Math.copySign(2.0, -1.0));//輸出-2.0?

//ceil(a) 返回大于a的第一個(gè)整數(shù)所對(duì)應(yīng)的浮點(diǎn)數(shù)(值是整的损话,類型是浮點(diǎn)型)?

//可以通過強(qiáng)制轉(zhuǎn)換將類型換成整型?

System.out.println(Math.ceil(1.3443));//輸出2.0?

System.out.println((int)Math.ceil(1.3443));//輸出2?

//floor(a) 返回小于a的第一個(gè)整數(shù)所對(duì)應(yīng)的浮點(diǎn)數(shù)(值是整的,類型是浮點(diǎn)型)?

System.out.println(Math.floor(1.3443));//輸出1.0?

//rint(a) 返回最接近a的整數(shù)的double值?

System.out.println(Math.rint(1.2));//輸出1.0?

System.out.println(Math.rint(1.8));//輸出2.0?

//nextAfter(a,b) 返回(a,b)或(b,a)間與a相鄰的浮點(diǎn)數(shù) b可以比a小?

System.out.println(Math.nextAfter(1.2, 2.7));//輸出1.2000000000000002?

System.out.println(Math.nextAfter(1.2, -1));//輸出1.1999999999999997? ?

//所以這里的b是控制條件?

//nextUp(a) 返回比a大一點(diǎn)點(diǎn)的浮點(diǎn)數(shù)?

System.out.println(Math.nextUp(1.2));//輸出1.2000000000000002?

//nextDown(a) 返回比a小一點(diǎn)點(diǎn)的浮點(diǎn)數(shù)?

System.out.println(Math.nextDown(1.2));//輸出1.1999999999999997? ?

}?

}?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末槽唾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子光涂,更是在濱河造成了極大的恐慌庞萍,老刑警劉巖廷痘,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玖媚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瘫絮,警方通過查閱死者的電腦和手機(jī)齐佳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門私恬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炼吴,你說我怎么就攤上這事本鸣。” “怎么了硅蹦?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵荣德,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我童芹,道長(zhǎng)涮瞻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任假褪,我火速辦了婚禮署咽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘生音。我一直安慰自己宁否,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布缀遍。 她就那樣靜靜地躺著家淤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瑟由。 梳的紋絲不亂的頭發(fā)上絮重,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天冤寿,我揣著相機(jī)與錄音,去河邊找鬼青伤。 笑死督怜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的狠角。 我是一名探鬼主播号杠,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼丰歌!你這毒婦竟也來了姨蟋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤立帖,失蹤者是張志新(化名)和其女友劉穎眼溶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晓勇,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堂飞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绑咱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绰筛。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖描融,靈堂內(nèi)的尸體忽然破棺而出铝噩,到底是詐尸還是另有隱情,我是刑警寧澤窿克,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布薄榛,位于F島的核電站,受9級(jí)特大地震影響让歼,放射性物質(zhì)發(fā)生泄漏敞恋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一谋右、第九天 我趴在偏房一處隱蔽的房頂上張望硬猫。 院中可真熱鬧,春花似錦改执、人聲如沸啸蜜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衬横。三九已至,卻和暖如春终蒂,著一層夾襖步出監(jiān)牢的瞬間蜂林,已是汗流浹背遥诉。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留噪叙,地道東北人矮锈。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像睁蕾,于是被迫代替她去往敵國(guó)和親苞笨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容