學習筆記02

shaonianbz發表於2018-03-31

1、substring(n):擷取字串,字串下標從0開始

2、substring(n,m):擷取n到m的字串,包含n,不包含m

3、string.format():字串的轉換(如轉換為幾位小數)

4、Java中字串中子串的查詢共有四種方法
      4.1、int indexOf(String str) :返回第一次出現的指定子字串在此字串中的索引。
      4.2、int indexOf(String str, int startIndex):從指定的索引處開始,返回第一次出現的指定子字串在此字串中的索引。
      4.3、int lastIndexOf(String str) :返回在此字串中最右邊出現的指定子字串的索引。
      4.4、int lastIndexOf(String str, int startIndex) :從指定的索引處開始向後搜尋,返回在此字串中最後一次出現的指定子字串的索引。

5、(a+b)^n的展開式中的各項係數依次對應楊輝三角的第(n+1)行中的每一項。
由此可通過排列組合式來求得其對應的每一項係數,即楊輝三角的對應位置的值。
組合公式為:c(n,m)=p(n,m)/m!=n!/((n-m)!*m!)

6、Arrays.sort()
Arrays.sort(int[] a):
這種形式是對一個陣列的所有元素進行排序,並且是按從小到大的順序

Arrays.sort(int[] a, int fromIndex, int toIndex):
    這種形式是對陣列部分排序,也就是對陣列a的下標從fromIndex到toIndex-1的元素排序,
    注意:下標為toIndex的元素不參與排序哦

7、StringBuffer的方法:insert插入字串

8、char a=’0’ 轉化為int型時為48,不是0

9、210 x 6 = 1260 判斷等式左邊的元素與右邊的元素是否都有;先把它轉化為一個陣列,再呼叫Arrays.sort()方法對陣列排序,再比較

10、BigDecimal java的大數處理(浮點數有效位超過16位的)
add:大數加法
subtract:大數減法
divide:除法
multiply:乘法

11、日期計算1779-12-15過3天是1779-12-17;不能加3而是加3-1。注意題目要求比如1779-02-01,不要寫成1779-2-1

12、大數迴圈
for(BigInteger i=one;i.compareTo(n)<=0;i=i.add(BigInteger.ONE)){
sum=sum.add(i.pow(2));
}

13、java除法
舍掉小?取整:Math.floor(2.9)=2
整:Math.ceil(2.9)=3

14、計算星期數的公式
Week=(Day + 2*Month + 3*(Month+1)/5 + Year + Year/4 - Year/100 + Year/400) % 7
其中的Year是4位數的,如2009。“%”號是等式除7取餘數
該公式中要把1月和2月分別當成上一年的13月和14月處理
例如:2008年1月4日要換成 2007年13月4日帶入公式
該式對應的與蔡勒公式有點區別:“0”為星期1,……,“6”為星期日

15、java的四捨五入
Math.round()

16、String型別轉化為double
Double.parseDouble(String)

17、注意:for迴圈的時候,每個迴圈不要把變數搞混了,比如這層迴圈的j寫成了上次迴圈的i

18、最大公約數:
遞迴實現:
public int GCD(int a,int b) {
if(b==0)
return a;
else
return GCD(b,a%b);
}

19、最大公約數:
基本輾轉相除演算法
public int GCD_base(int a,int b)
{
int r;
while(b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}

20、幾個for迴圈時,儲存每個for迴圈的變數值的方法
int[] a={x1,x2,x3};

21、for迴圈做加減法的時候,比如1+2+3;注意是2個符號,3個數字

相關文章