static double abs(double a) 返回 double 值的絕對值。
static float abs(float a) 返回 float 值的絕對值。 static int abs(int a) 返回 int 值的絕對值。
static long abs(long a) 返回 long 值的絕對值。 static double acos(double a) 返回角的反余弦,范圍在 0.0 到 pi 之間。
static double asin(double a) 返回角的反正弦,范圍在 -pi/2 到 pi/2 之間。 static double atan(double a) 返回角的反正切,范圍在 -pi/2 到 pi/2 之間。
static double atan2(double y, double x) 將矩形坐標 (x, y) 轉換成極坐標 (r, theta)。 static double cbrt(double a) 返回 double 值的立方根。
static double ceil(double a) 返回最小的(最接近負無(wú)窮大)double 值,該值大于或等于參數,并且等于某個(gè)整數。 static double cos(double a) 返回角的三角余弦。
static double cosh(double x) 返回 double 值的雙曲線(xiàn)余弦。 static double exp(double a) 返回歐拉數 e 的 double 次冪的值。
static double expm1(double x) 返回 ex -1。 static double floor(double a) 返回最大的(最接近正無(wú)窮大)double 值,該值小于或等于參數,并且等于某個(gè)整數。
static double hypot(double x, double y) 返回 sqrt(x2 +y2),沒(méi)有中間溢出或下溢。 static double IEEEremainder(double f1, double f2) 按照 IEEE 754 標準的規定,對兩個(gè)參數進(jìn)行余數運算。
static double log(double a) 返回(底數是 e)double 值的自然對數。 static double log10(double a) 返回 double 值的底數為 10 的對數。
static double log1p(double x) 返回參數與 1 的和的自然對數。 static double max(double a, double b) 返回兩個(gè) double 值中較大的一個(gè)。
static float max(float a, float b) 返回兩個(gè) float 值中較大的一個(gè)。 static int max(int a, int b) 返回兩個(gè) int 值中較大的一個(gè)。
static long max(long a, long b) 返回兩個(gè) long 值中較大的一個(gè)。 static double min(double a, double b) 返回兩個(gè) double 值中較小的一個(gè)。
static float min(float a, float b) 返回兩個(gè) float 值中較小的一個(gè)。 static int min(int a, int b) 返回兩個(gè) int 值中較小的一個(gè)。
static long min(long a, long b) 返回兩個(gè) long 值中較小的一個(gè)。 static double pow(double a, double b) 返回第一個(gè)參數的第二個(gè)參數次冪的值。
static double random() 返回帶正號的 double 值,大于或等于 0.0,小于 1.0。 static double rint(double a) 返回其值最接近參數并且是整數的 double 值。
static long round(double a) 返回最接近參數的 long。 static int round(float a) 返回最接近參數的 int。
static double signum(double d) 返回參數的符號函數;如果參數是零,則返回零;如果參數大于零,則返回 1.0;如果參數小于零,則返回 -1.0。 static float signum(float f) 返回參數的符號函數;如果參數是零,則返回零;如果參數大于零,則返回 1.0;如果參數小于零,則返回 -1.0。
static double sin(double a) 返回角的三角正弦。 static double sinh(double x) 返回 double 值的雙曲線(xiàn)正弦。
static double sqrt(double a) 返回正確舍入的 double 值的正平方根。 static double tan(double a) 返回角的三角正切。
static double tanh(double x) 返回 double 值的雙曲線(xiàn)余弦。 static double toDegrees(double angrad) 將用弧度測量的角轉換為近似相等的用度數測量的角。
static double toRadians(double angdeg) 將用度數測量的角轉換為近似相等的用弧度測量的角。 static double ulp(double d) 返回參數的 ulp 大小。
static float ulp(float f) 返回參數的 ulp 大小。 從api上截的,更詳細的還是推薦查看api。
Java的技術(shù)體系是非常龐大的,需要我們學(xué)習的技術(shù)非常多,往往很多初學(xué)的人,通過(guò)互聯(lián)網(wǎng)查閱了一個(gè)龐大的學(xué)習列表,然后不知道如何下手。網(wǎng)上很多大牛列的技術(shù)不是不重要,但是掌握住企業(yè)應用的Java的核心技術(shù),快速上手,是一種高效的學(xué)習手段。結合本人十余年的項目研發(fā)和帶人經(jīng)驗,整理出如下方面。
首先JavaSE是核心,這是初學(xué)Java人員應最先接觸學(xué)習的部分。Java的運行原理,jdk的配置,與jre的區別,基本數據類(lèi)型,流程控制(順序結構、選擇結構、循環(huán)結構),數組、集合框架,異常處理等,這些都是比較容易學(xué)習的,需要多練習,在練習過(guò)程中加強理解。面向對象部分是Java初學(xué)者,尤其是沒(méi)有任何編程語(yǔ)言基礎的學(xué)起來(lái)有些難度,類(lèi)、對象、繼承、封裝、多態(tài)等技術(shù)點(diǎn)需要多參照些現有的設計模型,學(xué)習設計的思路。諸如工廠(chǎng)模式、觀(guān)察者模式、代理模式等重要的設計模式也是需要學(xué)習的,否則在將來(lái)應用框架時(shí)就會(huì )只知其然,不知其所以然。IO流、多線(xiàn)程也一定需要學(xué)習,尤其是XML、JSON等文件格式一定要掌握,這在數據交互時(shí)常用。
其次是數據庫知識,作為初級Java程序員必須要掌握一種常用的關(guān)系型書(shū)庫的應用,如MySQL或oracle等,數據庫對象諸如表、視圖等的創(chuàng )建、增刪改查語(yǔ)句,尤其是查詢(xún),在企業(yè)中經(jīng)常需要從十幾張表、或幾十張表中查詢(xún)數據,所以對于如何進(jìn)行內連接、外連接、以及聯(lián)合查詢(xún)等一定要掌握,另外對于索引、事務(wù)等也要掌握。
第三是Java Web部分,由于Java主要做web開(kāi)發(fā),一些前端技術(shù)HTML3、CSS5,javaScript,jQuery等這些不見(jiàn)得要學(xué)得有多深入,但是必須要掌握,tomcat、jsp,以及和數據庫的交互這些都是必須要掌握的。
第四是框架部分,主流的ORM框架有Mybatis、hibernate,MVC框架有Spring MVC、Struts2等,可以?xún)?yōu)先掌握主流的SSM框架組合,框架的學(xué)習有人認為很簡(jiǎn)單,就按照規定、規范調用、使用唄,初學(xué)者可以先學(xué)習如何使用這些框架,然后慢慢的探究?jì)炔吭恚驗榭蚣苁羌夹g(shù)封裝、簡(jiǎn)化的產(chǎn)物。
這里面有些同類(lèi)型的技術(shù)比如hibernate,如果會(huì )使用Mybatis了,那么上手就會(huì )很容易,同理如果Spring MVC框架應用熟練了,那么Struts2框架其實(shí)就可以現學(xué)現賣(mài)了。
一個(gè)web程序包含的模塊很多,不一定包括所有模塊。
系統模塊:Windows、Linux系統等。
存儲模塊:這里既包括關(guān)系型數據庫MySQL、oracle等,也包括內存數據庫redis、memcached等。
程序模塊:還可以細化成持久化模塊、業(yè)務(wù)邏輯模塊、表現層模塊,MVC框架的實(shí)現。
搜索模塊:應用solr或Elasticsearch等。
服務(wù)器模塊:tomcat、weblogic、Resion等
中間件模塊:nginx、MQ消息隊列技術(shù)等。
在這里額外說(shuō)一下技術(shù)和技能的區別,初學(xué)者學(xué)一個(gè)技術(shù)可能很容易,但是這個(gè)技術(shù)如何在企業(yè)開(kāi)發(fā)環(huán)境中應用這就是技能了,所以在學(xué)習的同時(shí),要多應用,最好通過(guò)一些案例項目來(lái)學(xué)習,這樣既高效,學(xué)習的還扎實(shí)。
補充一點(diǎn),現在的應用級別越來(lái)越大,海量數據、高并發(fā)是處理的重點(diǎn),單應用的程序已經(jīng)無(wú)法滿(mǎn)足要求,分布式是趨勢,Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技術(shù),包括上面系統模塊里提到的一些技術(shù)都要學(xué)習的。
給你一個(gè)中文的吧。
你不想看英文的API;File類(lèi)是直接繼承Object類(lèi)的。Object類(lèi)的方法我就不不寫(xiě)了:字段摘要 static String pathSeparator 與系統有關(guān)的路徑分隔符,為了方便,它被表示為一個(gè)字符串。
static char pathSeparatorChar 與系統有關(guān)的路徑分隔符。 static String separator 與系統有關(guān)的默認名稱(chēng)分隔符,為了方便,它被表示為一個(gè)字符串。
static char separatorChar 與系統有關(guān)的默認名稱(chēng)分隔符。 構造方法摘要 File(File parent, String child) 根據 parent 抽象路徑名和 child 路徑名字符串創(chuàng )建一個(gè)新 File 實(shí)例。
File(String pathname) 通過(guò)將給定路徑名字符串轉換為抽象路徑名來(lái)創(chuàng )建一個(gè)新 File 實(shí)例。 File(String parent, String child) 根據 parent 路徑名字符串和 child 路徑名字符串創(chuàng )建一個(gè)新 File 實(shí)例。
File(URI uri) 通過(guò)將給定的 file: URI 轉換為一個(gè)抽象路徑名來(lái)創(chuàng )建一個(gè)新的 File 實(shí)例。 方法摘要 boolean canExecute() 測試應用程序是否可以執行此抽象路徑名表示的文件。
boolean canRead() 測試應用程序是否可以讀取此抽象路徑名表示的文件。 boolean canWrite() 測試應用程序是否可以修改此抽象路徑名表示的文件。
int compareTo(File pathname) 按字母順序比較兩個(gè)抽象路徑名。 boolean createNewFile() 當且僅當不存在具有此抽象路徑名指定名稱(chēng)的文件時(shí),不可分地創(chuàng )建一個(gè)新的空文件。
static File createTempFile(String prefix, String suffix) 在默認臨時(shí)文件目錄中創(chuàng )建一個(gè)空文件,使用給定前綴和后綴生成其名稱(chēng)。 static File createTempFile(String prefix, String suffix, File directory) 在指定目錄中創(chuàng )建一個(gè)新的空文件,使用給定的前綴和后綴字符串生成其名稱(chēng)。
boolean delete() 刪除此抽象路徑名表示的文件或目錄。 void deleteOnExit() 在虛擬機終止時(shí),請求刪除此抽象路徑名表示的文件或目錄。
boolean equals(Object obj) 測試此抽象路徑名與給定對象是否相等。 boolean exists() 測試此抽象路徑名表示的文件或目錄是否存在。
File getAbsoluteFile() 返回此抽象路徑名的絕對路徑名形式。 String getAbsolutePath() 返回此抽象路徑名的絕對路徑名字符串。
File getCanonicalFile() 返回此抽象路徑名的規范形式。 String getCanonicalPath() 返回此抽象路徑名的規范路徑名字符串。
long getFreeSpace() 返回此抽象路徑名指定的分區中未分配的字節數。 String getName() 返回由此抽象路徑名表示的文件或目錄的名稱(chēng)。
String getParent() 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒(méi)有指定父目錄,則返回 null。 File getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒(méi)有指定父目錄,則返回 null。
String getPath() 將此抽象路徑名轉換為一個(gè)路徑名字符串。 long getTotalSpace() 返回此抽象路徑名指定的分區大小。
long getUsableSpace() 返回此抽象路徑名指定的分區上可用于此虛擬機的字節數。 int hashCode() 計算此抽象路徑名的哈希碼。
boolean isAbsolute() 測試此抽象路徑名是否為絕對路徑名。 boolean isDirectory() 測試此抽象路徑名表示的文件是否是一個(gè)目錄。
boolean isFile() 測試此抽象路徑名表示的文件是否是一個(gè)標準文件。 boolean isHidden() 測試此抽象路徑名指定的文件是否是一個(gè)隱藏文件。
long lastModified() 返回此抽象路徑名表示的文件最后一次被修改的時(shí)間。 long length() 返回由此抽象路徑名表示的文件的長(cháng)度。
String[] list() 返回一個(gè)字符串數組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。 String[] list(FilenameFilter filter) 返回一個(gè)字符串數組,這些字符串指定此抽象路徑名表示的目錄中滿(mǎn)足指定過(guò)濾器的文件和目錄。
File[] listFiles() 返回一個(gè)抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中的文件。 File[] listFiles(FileFilter filter) 返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿(mǎn)足指定過(guò)濾器的文件和目錄。
File[] listFiles(FilenameFilter filter) 返回抽象路徑名數組,這些路徑名表示此抽象路徑名表示的目錄中滿(mǎn)足指定過(guò)濾器的文件和目錄。 static File[] listRoots() 列出可用的文件系統根。
boolean mkdir() 創(chuàng )建此抽象路徑名指定的目錄。 boolean mkdirs() 創(chuàng )建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。
boolean renameTo(File dest) 重新命名此抽象路徑名表示的文件。 boolean setExecutable(boolean executable) 設置此抽象路徑名所有者執行權限的一個(gè)便捷方法。
boolean setExecutable(boolean executable, boolean ownerOnly) 設置此抽象路徑名的所有者或所有用戶(hù)的執行權限。 boolean setLastModified(long time) 設置此抽象路徑名指定的文件或目錄的最后一次修改時(shí)間。
boolean setReadable(boolean readable) 設置此抽象路徑名所有者讀權限的一個(gè)便捷方法。 boolean setReadable(boolean readable, boolean ownerOnly) 設置此抽象路徑名的所有者或所有用戶(hù)的讀權限。
boolean setReadOnly() 標記此抽象路徑名。
方法摘要 char charAt(int index) 返回指定索引處的 char 值。
int codePointAt(int index) 返回指定索引處的字符(Unicode 代碼點(diǎn))。 int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代碼點(diǎn))。
int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范圍中的 Unicode 代碼點(diǎn)數。 int compareTo(String anotherString) 按字典順序比較兩個(gè)字符串。
int compareToIgnoreCase(String str) 不考慮大小寫(xiě),按字典順序比較兩個(gè)字符串。 String concat(String str) 將指定字符串聯(lián)到此字符串的結尾。
boolean contains(CharSequence s) 當且僅當此字符串包含 char 值的指定序列時(shí),才返回 true。 boolean contentEquals(CharSequence cs) 當且僅當此 String 表示與指定序列相同的 char 值時(shí),才返回 true。
boolean contentEquals(StringBuffer sb) 當且僅當此 String 表示與指定的 StringBuffer 相同的字符序列時(shí),才返回 true。 static String copyValueOf(char[] data) 返回指定數組中表示該字符序列的字符串。
static String copyValueOf(char[] data, int offset, int count) 返回指定數組中表示該字符序列的字符串。 boolean endsWith(String suffix) 測試此字符串是否以指定的后綴結束。
boolean equals(Object anObject) 比較此字符串與指定的對象。 boolean equalsIgnoreCase(String anotherString) 將此 String 與另一個(gè) String 進(jìn)行比較,不考慮大小寫(xiě)。
static String format(Locale l, String format, Object。 args) 使用指定的語(yǔ)言環(huán)境、格式字符串和參數返回一個(gè)格式化字符串。
static String format(String format, Object。 args) 使用指定的格式字符串和參數返回一個(gè)格式化字符串。
byte[] getBytes() 使用平臺默認的字符集將此 String 解碼為字節序列,并將結果存儲到一個(gè)新的字節數組中。 void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已過(guò)時(shí)。
該方法無(wú)法將字符正確轉換為字節。從 JDK 1.1 起,完成該轉換的首選方法是通過(guò) getBytes() 構造方法,該方法使用平臺的默認字符集。
byte[] getBytes(String charsetName) 使用指定的字符集將此 String 解碼為字節序列,并將結果存儲到一個(gè)新的字節數組中。 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 將字符從此字符串復制到目標字符數組。
int hashCode() 返回此字符串的哈希碼。 int indexOf(int ch) 返回指定字符在此字符串中第一次出現處的索引。
int indexOf(int ch, int fromIndex) 從指定的索引開(kāi)始搜索,返回在此字符串中第一次出現指定字符處的索引。 int indexOf(String str) 返回第一次出現的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex) 從指定的索引處開(kāi)始,返回第一次出現的指定子字符串在此字符串中的索引。 String intern() 返回字符串對象的規范化表示形式。
int lastIndexOf(int ch) 返回最后一次出現的指定字符在此字符串中的索引。 int lastIndexOf(int ch, int fromIndex) 從指定的索引處開(kāi)始進(jìn)行后向搜索,返回最后一次出現的指定字符在此字符串中的索引。
int lastIndexOf(String str) 返回在此字符串中最右邊出現的指定子字符串的索引。 int lastIndexOf(String str, int fromIndex) 從指定的索引處開(kāi)始向后搜索,返回在此字符串中最后一次出現的指定子字符串的索引。
int length() 返回此字符串的長(cháng)度。 boolean matches(String regex) 通知此字符串是否匹配給定的正則表達式。
int offsetByCodePoints(int index, int codePointOffset) 返回此 String 中從給定的 index 處偏移 codePointOffset 個(gè)代碼點(diǎn)的索引。 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 測試兩個(gè)字符串區域是否相等。
boolean regionMatches(int toffset, String other, int ooffset, int len) 測試兩個(gè)字符串區域是否相等。 String replace(char oldChar, char newChar) 返回一個(gè)新的字符串,它是通過(guò)用 newChar 替換此字符串中出現的所有 oldChar 而生成的。
String replace(CharSequence target, CharSequence replacement) 使用指定的字面值替換序列替換此字符串匹配字面值目標序列的每個(gè)子字符串。 String replaceAll(String regex, String replacement) 使用給定的 replacement 字符串替換此字符串匹配給定的正則表達式的每個(gè)子字符串。
String replaceFirst(String regex, String replacement) 使用給定的 replacement 字符串替換此字符串匹配給定的正則表達式的第一個(gè)子字符串。 String[] split(String regex) 根據給定的正則表達式的匹配來(lái)拆分此字符串。
String[] split(String regex, int limit) 根據匹配給定的正則表達式來(lái)拆分此字符串。 boolean startsWith(String prefix) 測試此字符串是否以指定的前綴開(kāi)始。
boolean startsWith(String prefix, int toffset) 測試此字符串是否以指定前綴開(kāi)始,該前綴以指定索引開(kāi)始。 CharSequence subSequence(int beginIndex, int endIndex) 返回一個(gè)新的字符序列,它是此序列的一個(gè)子序列。
String substring(int beginIndex) 返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。 。
這個(gè)從關(guān)鍵字來(lái)理解啊,
1. 如果方法定義前面加final,說(shuō)明你已經(jīng)知道這個(gè)方法提供的功能已經(jīng)滿(mǎn)足你要求,不需要進(jìn)行擴展,并且也不允許任何從此類(lèi)繼承的類(lèi)來(lái)覆寫(xiě)這個(gè)方法,但是繼承仍然可以繼承這個(gè)方法,也就是說(shuō)可以直接使用。
2. 如果方法定義前面加static,表示靜態(tài)方法,方法和類(lèi)關(guān)聯(lián),直接由類(lèi)名來(lái)調用。
3. 如果方法定義前面加abstract,表示抽象方法,由繼承類(lèi)來(lái)實(shí)現。
4. 對于方法前面的public, private,protected等這些是控制方法可以被調用的范圍。
5. 如果方法定義前面有native,Native方法是由另外一種語(yǔ)言(如c/c++,FORTRAN,匯編)實(shí)現的本地方法。因為在外部實(shí)現了方法,所以在java代碼中,就不需要聲明了,有點(diǎn)類(lèi)似于借口方法,一般用不著(zhù)。
6.如果方法定義前面加synchronized,表示當前方法體是一個(gè)臨界區,通過(guò)鎖機制來(lái)控制多個(gè)線(xiàn)程同步,在多線(xiàn)程應用里面經(jīng)常使用。
友情提示:
1. 字符串 str 中字符的索引從0開(kāi)始,范圍為 0 到 str.length()-1
2. 使用 indexOf 進(jìn)行字符或字符串查找時(shí),如果匹配返回位置索引;如果沒(méi)有匹配結果,返回 -1
3. 使用 substring(beginIndex , endIndex) 進(jìn)行字符串截取時(shí),包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
1、冒泡排序
冒泡排序是一個(gè)比較簡(jiǎn)單的排序方法。在待排序的數列基本有序的情況下排序速度較快。若要排序的數有n個(gè),則需要n-1輪排序,第j輪排序中,從第一個(gè)數開(kāi)始,相鄰兩數比較,若不符合所要求的順序,則交換兩者的位置;直到第n+1-j個(gè)數為止,第一個(gè)數與第二個(gè)數比較,第二個(gè)數與第三個(gè)數比較,。。,第n-j個(gè)與第n+1-j個(gè)比較,共比較n-1次。此時(shí)第n+1-j個(gè)位置上的數已經(jīng)按要求排好,所以不參加以后的比較和交換操作。例如:第一輪排序:第一個(gè)數與第二個(gè)數進(jìn)行比較,若不符合要求的順序,則交換兩者的位置,否則繼續進(jìn)行二個(gè)數與第三個(gè)數比較。。。直到完成第n-1個(gè)數與第n個(gè)數的比較。此時(shí)第n個(gè)位置上的數已經(jīng)按要求排好,它不參與以后的比較和交換操作;第二輪排序:第一個(gè)數與第二個(gè)數進(jìn)行比較,。。直到完成第n-2個(gè)數與第n-1個(gè)數的比較;。。第n-1輪排序:第一個(gè)數與第二個(gè)數進(jìn)行比較,若符合所要求的順序,則結束冒泡法排序;若不符合要求的順序,則交換兩者的位置,然后結束冒泡法排序。
共n-1輪排序處理,第j輪進(jìn)行n-j次比較和至多n-j次交換。
從以上排序過(guò)程可以看出,較大的數像氣泡一樣向上冒,而較小的數往下沉,故稱(chēng)冒泡法。
2、選擇排序
選擇法的原理是先將第一個(gè)數與后面的每一個(gè)數依次比較,不斷將將小的賦給第一個(gè)數,從而找出最小的,然后第二個(gè)數與后面的每一個(gè)數依次比較,從而找出第二小的,然后第三個(gè)數與后面的
3、插入排序
插入排序的原理是對數組中的第i個(gè)元素,認為它前面的i-1個(gè)已經(jīng)排序好,然后將它插入到前面的i-1個(gè)元素中。插入排序對少量元素的排序較為有效.
4、快速排序
快速排序是對冒泡排序的一種改進(jìn)。它的基本思想是:通過(guò)一次排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按次方法對這兩部分數據分別進(jìn)行快速排序,整個(gè)排序過(guò)程可以遞歸進(jìn)行,以此大道整個(gè)數據變成有序序列。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.821秒