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類庫膀估。?
常用方法:
?abs?絕對值
?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的笤昨。可以直接通過枚舉類型名直接使用它們握恳。)?
老鳥建議
?當(dāng)你需要定義一組常量時(shí)瞒窒,使用枚舉類型。
?盡量不要使用枚舉的高級特性乡洼,事實(shí)上高級特性都可以使用普通類來實(shí)現(xiàn)崇裁,沒有必要引入復(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語句中使用枚舉
???????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筆記」是一部能幫大家從零到一成長為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G巴比,10年Java研發(fā)經(jīng)驗(yàn)术奖,曾在神州數(shù)碼、航天院某所研發(fā)中心從事軟件設(shè)計(jì)及研發(fā)工作轻绞,從小白逐漸做到工程師采记、高級工程師、架構(gòu)師政勃。精通Java平臺(tái)軟件開發(fā)唧龄,精通JAVAEE,熟悉各種流行開發(fā)框架奸远。
筆記包含從淺入深的六大部分:
A-Java入門階段
B-數(shù)據(jù)庫從入門到精通
C-手刃移動(dòng)前端和Web前端
D-J2EE從了解到實(shí)戰(zhàn)
E-Java高級框架精解
F-Linux和Hadoop?