Java Number類java
一般,當要在Java編程中使用數字時,可使用原始數據類型,如:byte
,int
,long
,double
等。git
示例 int i = 5000; float gpa = 13.65; double mask = 0xaf;
可是,在開發過程當中,咱們遇到的是須要使用對象而不是原始數據類型的狀況。要實現這一點,可以使用Java提供的包裝類。面試
全部包裝類(如:Integer
,Long
,Byte
,Double
,Float
,Short
)都是抽象類Number
的子類。正則表達式
包裝類的對象包含或包裝其各自的基本數據類型。將原始數據類型轉換爲對象稱爲裝箱,編譯器會對此進行處理。 所以,在使用包裝器類時,只需將原始數據類型的值傳遞給包裝類的構造函數就能夠對它進行對應的操做。spring
而且包裝對象將轉換回原始數據類型,而且此過程稱爲拆箱。 Number
類是java.lang
包的一部分。編程
如下是裝箱和拆箱的示例 -設計模式
public class Test { public static void main(String args[]) { Integer x = 5; // 裝箱:將 int 添加到 Integer 對象 x = x + 1000; // 拆箱:將Integer 對象轉爲 int System.out.println(x); } }
執行上面示例代碼,獲得如下結果:數組
1005
當x
賦予整數值時,編譯器將整數裝箱,由於x
是整數對象。 以後,x
又被拆箱,以便它們能夠做爲整數執行加法運算。微信
如下是Number
類的全部子類實現方法的列表 -dom
編號 | 方法 | 描述 |
---|---|---|
1 | xxxValue()方法 | 將此Number 對象的值轉換爲xxx 數據類型並返回它。 |
2 | compareTo()方法 | 將此Number 對象與參數進行比較。 |
3 | equals()方法 | 肯定此Number 對象是否等於參數。 |
4 | valueOf()方法 | 返回包含指定原始值的Integer 對象。 |
5 | toString()方法 | 返回表示指定int 或Integer 值的String 對象。 |
6 | parseInt()方法 | 返回某個String 的原始數據類型值。 |
7 | abs()方法 | 返回參數的絕對值。 |
8 | ceil()方法 | 返回大於或等於參數的最小整數,結果整數爲double 類型。 |
9 | floor()方法 | 返回小於或等於參數的最大整數,結果整數爲double 類型。 |
10 | rint()方法 | 返回與參數值最接近的整數,結果整數爲double 類型。 |
11 | round()方法 | 返回最接近long 或int 值,由方法返回類型指示參數的返回類型。 |
12 | min()方法 | 返回兩個參數中最小的那一個。 |
13 | max()方法 | 返回兩個參數中最大的那一個。 |
14 | exp()方法 | 返回 e 的 x 次冪。e 表明天然對數的底數,其值近似爲 2.71828 。 |
15 | log()方法 | 返回參數的天然對數。 |
16 | pow()方法 | 返回第一個參數的第二個參數的指數冪(乘方)值。 |
17 | sqrt()方法 | 返回參數的平方根。 |
18 | sin()方法 | 返回指定double 值的正弦值。 |
19 | cos()方法 | 返回指定double 值的餘弦值。 |
20 | tan()方法 | 返回指定double 值的正切值。 |
21 | asin()方法 | 返回指定double 值的反正弦值。 |
22 | acos()方法 | 返回指定double 值的反餘弦值。 |
23 | atan()方法 | 返回指定double 值的反正切值。 |
24 | atan2()方法 | 將直角座標(x,y)轉換爲極座標(r,theta)並返回theta。 |
25 | toDegrees()方法 | 將參數轉換爲度數。 |
26 | toRadians()方法 | 將參數轉換爲弧度。 |
27 | random()方法 | 返回一個隨機數。 |
一般,當處理字符時,使用原始數據類型char
。
示例 char ch = 'a'; // Unicode的大寫字符 char uniChar = '\u039A'; // 字符數組 char[] charArray ={ 'a', 'b', 'c', 'd', 'e' };
可是在開發過程當中,常常遇到的是須要使用對象而不是原始數據類型的狀況。 爲了實現這一點,Java爲原始數據類型char
提供了包裝類Character
。
Character
類提供了許多用於操做字符的有用類(即靜態)方法。 可使用Character
構造函數建立Character
對象,例如 -
Character ch = new Character('a');
在某些狀況下,Java編譯器還會建立一個Character
對象。 例如,若是將原始字符傳遞給須要對象的方法,則編譯器會自動將char
轉換爲Character
。此功能稱爲自動裝箱或拆箱。
示例 // 這裏是原始的char類型值:'a' // 它被裝入`Character`對象ch Character ch = 'a'; // 這裏原始char值'x',裝箱用於方法test, // 拆箱到char類型值:'c' char c = test('x');
以反斜槓(\
)開頭的字符是轉義序列,對編譯器具備特殊含義。
在本教程中System.out.println()
語句中常用換行符(\n
),以便在打印字符串後前進到下一行。
下表中列出了Java轉義序列 -
編號 | 轉義序列 | 描述 |
---|---|---|
1 | \t |
表示在文本中插入一個製表符。 |
2 | \b |
表示在文本中插入退格符。 |
3 | \n |
表示在文本中插入換行符。 |
4 | \r |
表示在文本中插入回車符。 |
5 | \f |
表示在文本中插入換頁符。 |
6 | \ ' |
表示在文本中插入單引號字符。 |
7 | \" |
表示在文本中插入雙引號字符。 |
8 | \\ |
表示在文本中插入反斜槓字符。 |
當在print
語句中遇到轉義序列時,編譯器會相應地解釋它。
示例
若是要在引號內加引號,則必須在內部引號上使用轉義序列\"
-
public class Test { public static void main(String args[]) { System.out.println("She said \"Hello!\" to me."); } }
執行上面示例代碼,獲得如下結果:
She said "Hello!" to me.
如下是Character
類的全部子類實現的方法列表 -
編號 | 方法 | 描述 |
---|---|---|
1 | isLetter()方法 | 肯定指定的char 值是否爲字母。 |
2 | isDigit()方法 | 肯定指定的char 值是否爲數字。 |
3 | isWhitespace()方法 | 肯定指定的char 值是否爲空格。 |
4 | isUpperCase()方法 | 肯定指定的char 值是否爲大寫字母。 |
5 | isLowerCase()方法 | 肯定指定的char 值是否爲小寫字母。 |
6 | toUpperCase()方法 | 返回指定char 值的大寫形式。 |
7 | toLowerCase()方法 | 返回指定char 值的小寫形式。 |
8 | toString()方法 | 返回表示指定字符值的String 對象,即一個字符的字符串。 |
有關方法的完整列表,請參閱java.lang.Character
API規範。
字符串在Java編程中普遍使用,字符串就是一系列字符(由一個個的字符組成)。 在Java編程語言中,字符串被視爲對象。
Java平臺提供String
類來建立和操做字符串。
建立字符串的最直接方法是 -
String str = "Hello world!";
每當它在代碼中遇到字符串文字時,編譯器就會建立一個String
對象,在本例中str
對象的值爲Hello world!
。
與其餘對象同樣,可使用new
關鍵字和構造函數來建立String
對象。String
類有11
個構造函數,方便使用不一樣的源(例如:字符數組)提供字符串的初始值。
示例
public class StringDemo { public static void main(String args[]) { char[] helloArray = { 'Y', 'i', 'i', 'b', 'a', 'i' }; String helloString = new String(helloArray); System.out.println( helloString ); } }
執行上面示例代碼,獲得下結果:
Yiibai
注 -
String
類是不可變的,所以一旦建立,就沒法更改String
對象。 若是想要對字符串進行大量修改,則應使用StringBuffer和StringBuilder。
用於獲取對象信息的方法稱爲訪問器方法。 能夠與字符串一塊兒使用來獲取字符串長度的一個訪問器方法是length()
方法,它返回字符串對象中包含的字符數。
如下程序是String
類的length()
方法的示例。
public class StringDemo { public static void main(String args[]) { String greeting = "Hi,Welcome to Yiibai.com"; int len = greeting.length(); System.out.println( greeting+" 字符串的長度是: " + len ); } }
執行上面示例代碼,獲得下結果:
Hi,Welcome to Yiibai.com 字符串的長度是: 24
String
類包含一個用於鏈接兩個字符串的方法 -
string1.concat(string2);
這將返回一個新字符串:string1
,而且string1
在結尾處添加了string2
。 還能夠將concat()
方法與字符串文字一塊兒使用,例如 -
"My name is ".concat("Maxsu");
字符串一般使用+
運算符鏈接,如 -
"Hello," + " world" + "!"
上面代碼執行後獲得的結果是:
"Hello, world!"
下面再來看另外一個例子 -
public class StringDemo { public static void main(String args[]) { String string1 = "Bai"; System.out.println("Yii" + string1 + ".com"); } }
上面代碼執行後獲得的結果是:
YiiBai.com
Java中使用printf()
和format()
方法來打印帶有格式化數字的輸出。 String
類有一個等效的類方法format()
,它返回一個String
對象而不是一個PrintStream
對象。
使用String
的static format()
方法能夠建立重用的格式化字符串,而不是一次性打印語句。 例如 -
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
上面打印語句可以使用格式化寫爲:
String fs; fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar); System.out.println(fs);
如下是String
類定義的方法列表 -
編號 | 方法 | 描述 |
---|---|---|
1 | char charAt(int index) | 返回指定索引處的字符。 |
2 | int compareTo(Object o) | 將此String 對象與另外一個對象進行比較。 |
3 | int compareTo(String anotherString) | 按字典順序比較兩個字符串。 |
4 | int compareToIgnoreCase(String str) | 按字典順序比較兩個字符串,但不區分大小寫。 |
5 | String concat(String str) | 將指定的字符串鏈接到此字符串的末尾。 |
6 | boolean contentEquals(StringBuffer sb) | 當且僅當此String 表示的字符串與指定的StringBuffer 相同的字符序列時,才返回true 。 |
7 | static String copyValueOf(char[] data) | 返回表示指定數組中字符序列的String 對象形式。 |
8 | static String copyValueOf(char[] data, int offset, int count) | 返回表示指定數組中字符序列的String 對象形式。 |
9 | boolean endsWith(String suffix) | 判斷此字符串是否以指定的字符做爲後綴結尾。 |
10 | boolean equals(Object anObject) | 將此字符串與指定的對象進行比較。 |
11 | boolean equalsIgnoreCase(String anotherString) | 將此String 與另外一個String 進行比較,忽略大小寫。 |
12 | byte getBytes() | 使用平臺的默認字符集將此String 編碼爲字節序列,將結果存儲到新的字節數組中。 |
13 | byte[] getBytes(String charsetName) | 使用指定的字符集將此String編碼爲字節序列,將結果存儲到新的字節數組中。 |
14 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | 將此字符串中的字符複製到目標字符數組中。 |
15 | int hashCode() | 返回此字符串的哈希碼。 |
16 | int indexOf(int ch) | 返回指定字符在此字符串中第一次出現的索引。 |
17 | int indexOf(int ch, int fromIndex) | 返回指定字符在此字符串中第一次出現的索引,它從指定索引處開始搜索。 |
18 | int indexOf(String str) | 返回指定子字符串在此字符串中第一次出現的索引。 |
19 | int indexOf(String str, int fromIndex) | 從指定的索引處開始,返回指定子字符串在此字符串中第一次出現的索引。 |
20 | String intern() | 返回字符串對象的規範表示。 |
21 | int lastIndexOf(int ch) | 返回指定字符在此字符串中最後一次出現的索引。 |
22 | int lastIndexOf(int ch, int fromIndex) | 返回指定字符在此字符串中最後一次出現的索引,它從指定的索引開始向後搜索。 |
23 | int lastIndexOf(String str) | 返回指定子字符串在些字符串中最後出現的索引。 |
24 | int lastIndexOf(String str, int fromIndex) | 返回指定子字符串在此字符串中最後一次出現的索引,它從指定索引開始向後搜索。 |
25 | int length() | 返回此字符串的長度。 |
26 | boolean matches(String regex) | 判斷此字符串是否與給定的正則表達式匹配。 |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) | 判斷兩個字符串區域是否相等。 |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len) | 判斷兩個字符串區域是否相等。 |
29 | String replace(char oldChar, char newChar) | 返回一個新字符串,該字符串是使用newChar 替換此字符串中出現的全部oldChar 後的字符串。 |
30 | String replaceAll(String regex, String replacement) | 將替換此字符串中匹配給定正則表達式的每一個子字符串。 |
31 | String replaceFirst(String regex, String replacement) | 將替換此字符串中第一個匹配給定正則表達式的子字符串。 |
32 | String[] split(String regex) | 將此字符串拆分爲給定正則表達式的匹配項。 |
33 | String[] split(String regex, int limit) | 將此字符串拆分爲給定正則表達式的匹配項。 |
34 | boolean startsWith(String prefix) | 判斷此字符串是否以指定的字符串前綴開頭。 |
35 | boolean startsWith(String prefix, int toffset) | 判斷此字符串在指定的索引是否以指定的前綴開始。 |
36 | CharSequence subSequence(int beginIndex, int endIndex) | 返回一個新的字符序列,它是該序列的子序列。 |
37 | String substring(int beginIndex) | 返回一個新字符串,該字符串是此字符串的子字符串。 |
38 | String substring(int beginIndex, int endIndex) | 返回一個新字符串,該字符串是此字符串的子字符串。 |
39 | char[] toCharArray() | 將此字符串轉換爲新的字符數組。 |
40 | String toLowerCase() | 使用默認語言環境的規則將此String 中的全部字符轉換爲小寫。 |
41 | String toLowerCase(Locale locale) | 使用給定Locale 的規則將此String 中的全部字符轉換爲小寫。 |
42 | String toString() | 將這個對象(已是一個字符串)自己返回。 |
43 | String toUpperCase() | 使用默認語言環境的規則將此String 中的全部字符轉換爲大寫。 |
44 | String toUpperCase(Locale locale) | 使用給定Locale 的規則將此String 中的全部字符轉換爲大寫。 |
45 | String trim() | 返回字符串的副本,移除前導和尾隨空格。 |
46 | static String valueOf(primitive data type x) | 返回傳遞的數據類型參數的字符串表示形式。 |
有完整的Java初級,高級對應的學習路線和資料!專一於java開發。分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分佈式及面試資料、開源項目,助力開發者成長!
歡迎關注微信公衆號:碼邦主