Math類
java.lang.Math提供了一系列靜態(tài)方法用于科學(xué)計(jì)算;其方法的參數(shù)和返回值類型一般為double型。如果需要更加強(qiáng)大的數(shù)學(xué)運(yùn)算能力,計(jì)算高等數(shù)學(xué)中的相關(guān)內(nèi)容,可以使用apache commons下面的Math類庫(kù)。?
常用方法:
?abs?絕對(duì)值
?acos,asin,atan,cos,sin,tan
?sqrt?平方根
?pow(double a, double b) a的b次冪
??max(double a, double b)?取大值
??min(double a, double b)?取小值
??ceil(double a)???????大于a的最小整數(shù)
?floor(double a)??????小于a的最大整數(shù)
?random()?返回?0.0?到?1.0?的隨機(jī)數(shù)
?long round(double a) double型的數(shù)據(jù)a轉(zhuǎn)換為long型(四舍五入)
?toDegrees(double angrad)?弧度->角度
?toRadians(double angdeg)?角度->弧度
枚舉
JDK5.0引入了枚舉類型。枚舉類型的定義包括枚舉聲明和枚舉體。格式如下:
enum??枚舉名?{
???????????常量列表
}
枚舉體就是放置一些常量。我們可以寫出我們的第一個(gè)枚舉類型:
enum?Season {
??SPRING,SUMMER,?AUTUMN,WINDER
}
所有的枚舉類型隱性地繼承自?java.lang.Enum。(枚舉實(shí)質(zhì)上還是類!而每個(gè)被枚舉的成員實(shí)質(zhì)就是一個(gè)枚舉類型的成員變量,他們默認(rèn)都是public static final的。可以直接通過(guò)枚舉類型名直接使用它們。)?
老鳥(niǎo)建議
?當(dāng)你需要定義一組常量時(shí),使用枚舉類型。
?盡量不要使用枚舉的高級(jí)特性,事實(shí)上高級(jí)特性都可以使用普通類來(lái)實(shí)現(xiàn),沒(méi)有必要引入復(fù)雜性!
【示例1】枚舉的使用
import?? java.util.Random;
public?class?? FileTree {
????public?static?void?? main(String[] args) {
???????//枚舉遍歷
???????for(Week ? k:Week.values()){
?????????? System.out.println(k);
?????? }
???????//switch語(yǔ)句中使用枚舉
???????int? a =?new?? Random().nextInt(4);?//生成0,1,2,3的隨機(jī)數(shù)
???????switch?? (Season.values()[a]) {
???????case?SPRING:
?????????? System.out.println("春天");
???????????break;
???????case?SUMMER:
?????????? System.out.println("夏天");
???????????break;
???????case?AUTUMN:
?????????? System.out.println("秋天");
???????????break;
???????case?WINDTER:
?????????? System.out.println("冬天");
???????????break;
?????? }
??? }
}
enum?? Season{
????SPRING,SUMMER,AUTUMN,WINDTER
}
enum?? Week {
????星期一,星期二,星期三,星期四,星期五,星期六,星期日
}
「全棧Java筆記」是一部能幫大家從零到一成長(zhǎng)為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G,10年Java研發(fā)經(jīng)驗(yàn),曾在神州數(shù)碼、航天院某所研發(fā)中心從事軟件設(shè)計(jì)及研發(fā)工作,從小白逐漸做到工程師、高級(jí)工程師、架構(gòu)師。精通Java平臺(tái)軟件開(kāi)發(fā),精通JAVAEE,熟悉各種流行開(kāi)發(fā)框架。
筆記包含從淺入深的六大部分:
A-Java入門階段
B-數(shù)據(jù)庫(kù)從入門到精通
C-手刃移動(dòng)前端和Web前端
D-J2EE從了解到實(shí)戰(zhàn)
E-Java高級(jí)框架精解
F-Linux和Hadoop?