Java核心技術8總結(一)
1、常量
(1) main中的常量 final int a=1;
(2) 類常量 private final int a=1; 同一個類的其他方法中也可以使用這個常量.如果聲明為:public ,剛其它類的方法也可以使用這個常量。
2、Java數據類型
float 4 字節 32位IEEE 754單精度有效數字6-7位
double 8 字節 64位IEEE 754雙精度有效數字15位
byte 1字節 8位 -128到127
short 2 字節 16位 -32,768到32,767
int 4 字節 32位 -2,147,483,648到2,147,483,647
long 8 字節 64位-9,223,372,036,854,775,808到9,223,372,036, 854,775,807
char 2 字節 整個Unicode字符集
boolean 1 位 True或者false
3、代碼點與代碼單元
(1)Length 代碼單元數量 如:
(2)實際的長度,即代碼點數量 codepointcount
(3)s.charAt(n) 將返回位置n的代碼單元,n介于0~s.length()-1之間
(4)要想得到第i個代碼點,應該使用下列語句
也可直接使用 int cp=greeting.codePointAt(i); i介于0~s.length()-1之間
4、構建字符串
用字符串連接的方式達到此目的效率比較低。每次連接字符串,都會構建一個新的String對象,既耗時,又浪費空間。使用StringBuilder類就可以避免這個問題的發生
StringBuilder builder=new StringBuilder();
builder.append(a);
builder.append(b);
System.out.println(builder.toString());
構造一個空的字符串構建器。
返回構建器或緩沖器中的代碼單元數量。
StringBuilder append(String str)
|
追加一個字符串并返回this。
StringBuilder append(char c)
|
追加一個代碼單元并返回this。
StringBuilder appendCodePoint(int cp)
|
追加一個代碼點,并將其轉換為一個或兩個代碼單元并返回this。
void setCharAt(int i,char c)
|
將第i個代碼單元設置為c。
StringBuilder insert(int offset,String str)
|
在offset位置插入一個字符串并返回this。
StringBuilder insert(int offset,Char c)
|
在offset位置插入一個代碼單元并返回this。
StringBuilder delete(int startIndex,int endIndex)
|
刪除偏移量從startIndex到-endIndex-1的代碼單元并返回this。
返回一個與構建器或緩沖器內容相同的字符串。
5、使用掃描器
Scanner scanner=new Scanner(System.in);
System.out.println("please add you name:");
String name=scanner.nextLine();
System.out.println("how old are you:");
int age=scanner.nextInt();
System.out.println("hello,"+name+",you age is "+age);
檢測輸入中是否還有其他單詞。
boolean hasNextInt( )
boolean hasNextDouble( )
|
檢測是否還有表示整數或浮點數的下一個字符序列。
6、大數的計算
如果基本的整數和浮點數精度不能夠滿足需求,那么可以使用java.math包中的兩個很有用的類:BigInteger和BigDecimal。這兩個類可以處理包含任意長度數字序列的數值。BigInteger類實現了任意精度的整數運算,BigDecimal實現了任意精度的浮點數運算。
BigInteger add(BigInteger other) 和
BigInteger subtract(BigInteger other) 差
BigInteger multiply(BigInteger other) 積
BigInteger divide(BigInteger other) 商
BigInteger mod(BigInteger other) 余
int compareTo(BigInteger other) 相等返回0,小于返負,大于返正
7、數組
(1) 將一個數組變量拷貝給另一個數組變量。這時,兩個變量將引用同一個數組。
(2) 如果希望將一個數組的所有值拷貝到一個新的數組中去,就要使用Arrays類的copyOf方法:
System.arrycopy(a,0,b,2,1) //將a數組從0開始的值復制到b數組從2開始的值,共復制1個。
(3)彩票原理
Int n=???
Int[] num=new int[n];
For(int i=0;i<n;i++)
{
Num[i]=i+1;
}
Int[] res=new int[k];
For(int i=0;i<res.length;i++){
Int r=(int)(math.random)*n;
Res[i]=num[r];
Num[r]=num[n-1];
n--;
}
Arrays.sort(res);
For(int r:res){
System.out.println(r);
}
posted on 2009-04-13 13:02
重慶理工小子 閱讀(365)
評論(0) 編輯 收藏 所屬分類:
JAVA基礎