Java核心技術(shù)8總結(jié)(一)
1、常量
(1) main中的常量 final int a=1;
(2) 類常量 private final int a=1; 同一個類的其他方法中也可以使用這個常量.如果聲明為:public ,剛其它類的方法也可以使用這個常量。
2、Java數(shù)據(jù)類型
float 4 字節(jié) 32位IEEE 754單精度有效數(shù)字6-7位
double 8 字節(jié) 64位IEEE 754雙精度有效數(shù)字15位
byte 1字節(jié) 8位 -128到127
short 2 字節(jié) 16位 -32,768到32,767
int 4 字節(jié) 32位 -2,147,483,648到2,147,483,647
long 8 字節(jié) 64位-9,223,372,036,854,775,808到9,223,372,036, 854,775,807
char 2 字節(jié) 整個Unicode字符集
boolean 1 位 True或者false
3、代碼點與代碼單元
(1)Length 代碼單元數(shù)量 如:
(2)實際的長度,即代碼點數(shù)量 codepointcount
(3)s.charAt(n) 將返回位置n的代碼單元,n介于0~s.length()-1之間
(4)要想得到第i個代碼點,應(yīng)該使用下列語句
也可直接使用 int cp=greeting.codePointAt(i); i介于0~s.length()-1之間
4、構(gòu)建字符串
用字符串連接的方式達到此目的效率比較低。每次連接字符串,都會構(gòu)建一個新的String對象,既耗時,又浪費空間。使用StringBuilder類就可以避免這個問題的發(fā)生
StringBuilder builder=new StringBuilder();
builder.append(a);
builder.append(b);
System.out.println(builder.toString());
構(gòu)造一個空的字符串構(gòu)建器。
返回構(gòu)建器或緩沖器中的代碼單元數(shù)量。
StringBuilder append(String str)
|
追加一個字符串并返回this。
StringBuilder append(char c)
|
追加一個代碼單元并返回this。
StringBuilder appendCodePoint(int cp)
|
追加一個代碼點,并將其轉(zhuǎn)換為一個或兩個代碼單元并返回this。
void setCharAt(int i,char c)
|
將第i個代碼單元設(shè)置為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。
返回一個與構(gòu)建器或緩沖器內(nèi)容相同的字符串。
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( )
|
檢測是否還有表示整數(shù)或浮點數(shù)的下一個字符序列。
6、大數(shù)的計算
如果基本的整數(shù)和浮點數(shù)精度不能夠滿足需求,那么可以使用java.math包中的兩個很有用的類:BigInteger和BigDecimal。這兩個類可以處理包含任意長度數(shù)字序列的數(shù)值。BigInteger類實現(xiàn)了任意精度的整數(shù)運算,BigDecimal實現(xiàn)了任意精度的浮點數(shù)運算。
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、數(shù)組
(1) 將一個數(shù)組變量拷貝給另一個數(shù)組變量。這時,兩個變量將引用同一個數(shù)組。
(2) 如果希望將一個數(shù)組的所有值拷貝到一個新的數(shù)組中去,就要使用Arrays類的copyOf方法:
System.arrycopy(a,0,b,2,1) //將a數(shù)組從0開始的值復(fù)制到b數(shù)組從2開始的值,共復(fù)制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基礎(chǔ)