藍橋杯演算法基礎知識彙總

2021-10-25 02:28:45 字數 4128 閱讀 3625

2、字串

3、biginteger

4、bigdecimal

5、陣列

6、eclipse快捷鍵

格式1:scanner sc =

newscanner

(new

bufferedinputstream

(system.in)

)格式2:scanner sc =

newscanner

(system.in)

;在讀入資料量大的情況下,格式1的速度會快些。

讀乙個整數: int n = sc.

nextint()

;讀乙個浮點數:double t = sc.

nextdouble()

; 讀乙個字串:string s = sc.

next()

; 或 string s = sc.

nextline()

;

注意:

in.next() 從緩衝區接收字元遇到空格後停止。

in.nextline() 從緩衝區接收字元,並且接收空格,遇到換行才停止,並且會自動捨棄換行。

判斷是否有下乙個輸入可以用:

sc.hasnext()

sc.hasnextint()

sc.hasnextdouble()

sc.hasnextline

()

system.out.

printf()

;// 可使用格式控制符進行格式化輸出。

// 例如: 輸出乙個int型別變數 system.out.printf("%d",a);

system.out.

print()

//不能使用格式控制符進行格式化輸出,僅輸出變數

system.out.

println()

//不能使用格式控制符進行格式化輸出,僅輸出變數,但會自動輸出乙個換行。

關於「輸入輸出」詳情請移步至:

幾大常用方法

字串直接轉字元陣列 tochararray()

獲取字串指定索引處字元 charat

(index)

字串的擷取方法 substring

(begin,over)

//:前閉後開

字串中是否含某個字元 contains(""

)字串比較相等 equals()

字串連線 concat()

字串中按空格分成多個字串 並放進陣列

string s =

"asdf sdfgsd fghgdf ghjfgh"

string[

] srr = s.

split

(" "

)//[asdf, sdfgsd, fghgdf, ghjfgh]

型別轉換

一、string轉為int

int i = integer.parseint(s);

int i = integer.

valueof

(s); 記這個

二、int轉為string

string s = integer.

tostring

(i);

string s = string.

valueof

(i); 記這個

string s = 「」 + i;

更改integer為double或者float

更改parseint為parsefloat()或者parsedouble()

就能實現其他型別間的轉換

int最大值:2147483647 2後面9個0

long最大值:9223372036854775807 9後面18個0

int 和 long放不下時,用biginteger

biginteger bi =

newbiginteger

("1234567890");

system.out.

println

(bi.

pow(5)

);// 2867971860299718107233761438093672048294900000

常用方法:add()、subtract()、mutiply()、divide() 例a.mutiply(b)

bigdecimal可以表示乙個任意大小且精度完全準確的浮點數。

bigdecimal bd =

newbigdecimal

("123.4567");

system.out.

println

(bd.

multiply

(bd));

// 15241.55677489

常用方法:add()、subtract()、mutiply()、divide() 例a.mutiply(b)

保留小數:

bigdecimal a =

newbigdecimal

("4.5635");

a = a.

setscale(3

, roundingmode.half_up)

;//保留3位小數,且四捨五入

陣列的建立

int

arr1=

newint[3

];int

arr =

newint

[m][n];

陣列的輸出

一維陣列

int[

] arr1=

;system.out.

println

(arrays.

tostring

(arr1));

//[1, 2, 3, 4]

二維陣列

int[

] b=,}

;system.out.

println

(arrays.

deeptostring

(b))

;//[[1, 2, 3, 4], [5, 6, 7, 8]]

陣列的長度

一維陣列:a.length 表示有多少行

二維陣列:a[i].length表示第i行列有多少列

陣列排序

arrays.sort(arr) 預設公升序

降序:

int

arr=

;int

arr2=

newint[6

];arrays.

sort

(arr)

;//排序預設公升序

for(

int i=

0,j=arr.length-

1; i<=arr.length-

1& j>=

0; i++

,j--

)

陣列轉殖

int

arr1=

;int

arr2=arr1.

clone()

;//[1, 2, 3, 4]

動態陣列

arraylist

list1 =

newarraylist()

;arraylist

list2 =

newarraylist()

;增 list1.

add(element)

;刪 list1.

remove

(index)

;改 list1.

set(index,element)

;查 list1.

get(index)

;

基礎知識彙總

整型int,浮點型float,複合型complex 基本不使用 字串string,布林型bool,列表list,字典dict,集合set,元組tuple 可變資料型別 list dict set 當刪除第乙個元素的時候,後面的元素向前一定了一次,而for迴圈還是要向後走一步,這樣就錯過了在沒有刪除前...

《演算法筆記》基礎知識彙總(2)

1.getchar 輸入,可以識別換行符,把換行符當成元素輸入 疑問 putchar換行怎麼整?2.typedef 給複雜資料型別起別名,如 typedef long long ll 3.常用 math 函式 fabs double x 對double變數取絕對值 abs int x 對 int 型...

ios AutoLayout基礎知識 彙總

三大部分 二 storyboard 三 code to autolayout 一 autolayout簡介 autolayout 是乙個描述各種約束的行為,比如,乙個view 距離父view上邊距多少,相鄰之間的間隔,各個view之間的寬高關係等等 二 storyboard 第一部分 1.什麼是約束...