JavaSE-æ°ç»
# JavaSE-æ°ç»
# æ°ç»æ¦è¿°
å ³äºæ°ç»æä»¬å¯ä»¥æå®ç使¯ä¸ä¸ªç±»åçæææ°æ®çä¸ä¸ªéåï¼å¹¶ç¨ä¸ä¸ªæ°ç»ä¸æ æ¥åºåææå®æ¯ä¸ä¸ªæ°ï¼ä¾å¦ä¸ä¸ªè¶³çéé叏伿å å个人ï¼ä½æ¯æä»¬æ¥è®¤è¯ä»ä»¬çæ¶åé¦å 伿ä»ä»¬ç使¯ææå¯¹çæåï¼ç¶ååå©ç¨ä»ä»¬çå·ç æ¥åºåæ¯ä¸ä¸ªéåï¼è¿æ¶åï¼çéå°±æ¯ä¸ä¸ªæ°ç»ï¼èå·ç å°±æ¯æ°ç»ç䏿 ï¼ å½æä»¬æææ¯å å·éåçæ¶åå°±æ¾å°äºè¿ä¸ªéåã åæ ·å¨ç¼ç¨ä¸ï¼å¦ææä»¬æä¸ç»ç¸åæ°æ®ç±»åçæ°æ®ï¼ä¾å¦æ10个æ°åï¼è¿æ¶å妿æä»¬è¦ç¨å鿥忾å®ä»¬çè¯ï¼å°±è¦åå«ä½¿ç¨10个åéï¼èä¸è¦è®°ä½è¿10个åéçååï¼è¿ä¼ååç麻ç¦ï¼è¿æ¶åæä»¬å°±å¯ä»¥ç¨ä¸ä¸ªæ°ç»å鿥忾ä»ä»¬ï¼ä¾å¦å¨VB䏿们 å°±å¯ä»¥ä½¿ç¨dim a(9) as integerï¼æ³¨æï¼æ°ç»ç䏿 æ¯ä»0å¼å§çï¼æä»¥ç¬¬10个æ°çè¯ï¼ä¸æ å°±æ¯ 9ï¼a(0)=1ï¼ã ä½¿ç¨æ°ç»ä¼è®©ç¨åºåçç®åï¼èä¸é¿å äºå®ä¹å¤ä¸ªåéç麻ç¦ã
æ°ç»çå®ä¹ï¼
- æ°ç»æ¯ç¸åç±»åæ°æ®çæåºéå
- æ°ç»æè¿°çæ¯ç¸åç±»åçè¥å¹²ä¸ªæ°æ®,æç §ä¸å®çå 忬¡åºæåç»åèæ
- å ¶ä¸,æ¯ä¸ä¸ªæ°æ®ç§°ä½ä¸ä¸ªæ°ç»å ç´ ,æ¯ä¸ªæ°ç»å ç´ å¯ä»¥éè¿ä¸ä¸ªä¸æ æ¥è®¿é®å®ä»¬.
æ°ç»çåä¸ªåºæ¬ç¹ç¹ï¼
- å ¶é¿åº¦æ¯ç¡®å®çãæ°ç»ä¸æ¦è¢«å建ï¼å®ç大å°å°±æ¯ä¸å¯ä»¥æ¹åçã
- å ¶å ç´ å¿ é¡»æ¯ç¸åç±»åï¼ä¸å 许åºç°æ··åç±»åã
- æ°ç»ä¸çå ç´ å¯ä»¥æ¯ä»»ä½æ°æ®ç±»åï¼å æ¬åºæ¬ç±»ååå¼ç¨ç±»åã
- æ°ç»åéå±å¼ç¨ç±»åï¼æ°ç»ä¹å¯ä»¥çææ¯å¯¹è±¡ï¼æ°ç»ä¸çæ¯ä¸ªå ç´ ç¸å½äºè¯¥å¯¹è±¡çæååéãæ°ç»æ¬èº«å°±æ¯å¯¹è±¡ï¼Javaä¸å¯¹è±¡æ¯å¨å ä¸çï¼å æ¤æ°ç»æ 论ä¿ååå§ç±»åè¿æ¯å ¶ä»å¯¹è±¡ç±»åï¼æ°ç»å¯¹è±¡æ¬èº«æ¯å¨å ä¸çã
# æ°ç»å£°æå建
# 1ãå£°ææ°ç»
é¦å å¿ é¡»å£°ææ°ç»åéï¼æè½å¨ç¨åºä¸ä½¿ç¨æ°ç»ãä¸é¢æ¯å£°ææ°ç»åéçè¯æ³ï¼
dataType[] arrayRefVar; // é¦éçæ¹æ³
dataType arrayRefVar[]; // ææç¸åï¼ä½ä¸æ¯é¦éæ¹æ³
2
3
å»ºè®®ä½¿ç¨ dataType[] arrayRefVar ç声æé£æ ¼å£°ææ°ç»åéã dataType arrayRefVar[] 飿 ¼æ¯æ¥èª C/C++ è¯è¨ ï¼å¨Javaä¸éç¨æ¯ä¸ºäºè®© C/C++ ç¨åºåè½å¤å¿«éçè§£javaè¯è¨ã
double[] myList; // é¦éçæ¹æ³
double myList[]; // ææç¸åï¼ä½ä¸æ¯é¦éæ¹æ³
2
# 2ãå建æ°ç»
Javaè¯è¨ä½¿ç¨newæä½ç¬¦æ¥å建æ°ç»ï¼è¯æ³å¦ä¸ï¼
arrayRefVar = new dataType[arraySize];
ä¸é¢çè¯æ³è¯å¥åäºä¸¤ä»¶äºï¼
- ä½¿ç¨ dataType[arraySize] å建äºä¸ä¸ªæ°ç»ã
- ææ°åå»ºçæ°ç»çå¼ç¨èµå¼ç»åé arrayRefVarã
æ°ç»åéç声æï¼åå建æ°ç»å¯ä»¥ç¨ä¸æ¡è¯å¥å®æï¼å¦ä¸æç¤ºï¼
dataType[] arrayRefVar = new dataType[arraySize];
//ä¾å¦ï¼å建ä¸ä¸ªç±»åiniï¼å¤§å°ä¸º10çæ°ç»
int[] myList = new int[10];
2
3
è·åæ°ç»é¿åº¦ï¼arrayRefVar.length
æ°ç»çå ç´ æ¯éè¿ç´¢å¼è®¿é®çãæ°ç»ç´¢å¼ä» 0 å¼å§ï¼æä»¥ç´¢å¼å¼ä» 0 å° arrayRefVar.length-1
ãæ¼ç¤ºå建ä¸ä¸ªæ°ç»ï¼å¹¶èµå¼ï¼è¿è¡è®¿é®ã
public static void main(String[] args) {
//1.声æä¸ä¸ªæ°ç»
int[] myList = null;
//2.å建ä¸ä¸ªæ°ç»
myList = new int[10];
//3.åæ°ç»ä¸åå¼
myList[0] = 1;
myList[1] = 2;
myList[2] = 3;
myList[3] = 4;
myList[4] = 5;
myList[5] = 6;
myList[6] = 7;
myList[7] = 8;
myList[8] = 9;
myList[9] = 10;
// è®¡ç®ææå
ç´ çæ»å
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("æ»åä¸ºï¼ " + total);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 3ãå ååæ
Javaå ååæ ï¼

声æçæ¶å并没æå®ä¾åä»»ä½å¯¹è±¡ï¼åªæå¨å®ä¾åæ°ç»å¯¹è±¡æ¶ï¼JVMæåé 空é´ï¼è¿æ¶æä¸é¿åº¦æå ³ãå æ¤ï¼å£°ææ°ç»æ¶ä¸è½æå®å ¶é¿åº¦(æ°ç»ä¸å ç´ ç个æ°)
ä¾å¦ï¼ int a[5]; //éæ³
声æä¸ä¸ªæ°ç»çæ¶åå¹¶æ²¡ææ°ç»è¢«çæ£çå建ã
æé ä¸ä¸ªæ°ç»ï¼å¿ é¡»æå®é¿åº¦
//1.声æä¸ä¸ªæ°ç»
int[] myList = null;
2

//2.å建ä¸ä¸ªæ°ç»
myList = new int[10];
2

//3.åæ°ç»ä¸åå¼
myList[0] = 1;
myList[1] = 2;
myList[2] = 3;
myList[3] = 4;
myList[4] = 5;
myList[5] = 6;
myList[6] = 7;
myList[7] = 8;
myList[8] = 9;
myList[9] = 10;
2
3
4
5
6
7
8
9
10
11

# 4ãä¸ç§åå§å
1ãéæåå§å
é¤äºç¨newå ³é®åæ¥äº§çæ°ç»ä»¥å¤,è¿å¯ä»¥ç´æ¥å¨å®ä¹æ°ç»çåæ¶å°±ä¸ºæ°ç»å ç´ åé 空é´å¹¶èµå¼ã
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
2
2ã卿åå§å
æ°ç»å®ä¹ã为æ°ç»å ç´ åé 空é´ãèµå¼çæä½ãåå¼è¿è¡ã
int[] a = new int[2];
a[0]=1;
a[1]=2;
2
3
3ãæ°ç»çé»è®¤åå§å
æ°ç»æ¯å¼ç¨ç±»åï¼å®çå ç´ ç¸å½äºç±»çå®ä¾åéï¼å æ¤æ°ç»ä¸ç»åé 空é´ï¼å ¶ä¸çæ¯ä¸ªå ç´ ä¹è¢«æç §å®ä¾åéåæ ·çæ¹å¼è¢«éå¼åå§åã
public static void main(String[] args) {
int[] a=new int[2];
boolean[] b = new boolean[2];
String[] s = new String[2];
System.out.println(a[0]+":"+a[1]); //0,0
System.out.println(b[0]+":"+b[1]); //false,false
System.out.println(s[0]+":"+s[1]); //null, null
}
2
3
4
5
6
7
8
# 5ãæ°ç»è¾¹ç
䏿 çåæ³åºé´ï¼[0, length-1]ï¼å¦æè¶ç就伿¥éï¼
public static void main(String[] args) {
int[] a=new int[2];
System.out.println(a[2]);
}
2
3
4
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
ArrayIndexOutOfBoundsException : æ°ç»ä¸æ è¶çå¼å¸¸ï¼
# 6ãå°ç»
æ°ç»æ¯ç¸åæ°æ®ç±»å(æ°æ®ç±»åå¯ä»¥ä¸ºä»»æç±»å)çæåºéå
æ°ç»ä¹æ¯å¯¹è±¡ãæ°ç»å ç´ ç¸å½äºå¯¹è±¡çæååé(详æ 请è§å åå¾)
æ°ç»é¿åº¦çç¡®å®çï¼ä¸å¯åçã妿è¶çï¼åæ¥ï¼ArrayIndexOutofBounds
# æ°ç»ä½¿ç¨
æ°ç»çå ç´ ç±»ååæ°ç»ç大å°é½æ¯ç¡®å®çï¼æä»¥å½å¤çæ°ç»å ç´ æ¶åï¼æä»¬é常使ç¨åºæ¬å¾ªç¯æè ForEach 循ç¯ã
ã该å®ä¾å®æ´å°å±ç¤ºäºå¦ä½å建ãåå§ååæçºµæ°ç»ã
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// æå°æææ°ç»å
ç´
for (int i = 0; i < myList.length; i++) {
System.out.println(myList[i] + " ");
}
// è®¡ç®ææå
ç´ çæ»å
double total = 0;
for (int i = 0; i < myList.length; i++) {
total += myList[i];
}
System.out.println("Total is " + total);
// æ¥æ¾æå¤§å
ç´
double max = myList[0];
for (int i = 1; i < myList.length; i++) {
if (myList[i] > max) {
max = myList[i];
}
}
System.out.println("Max is " + max);
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 1ãFor-Each 循ç¯
JDK 1.5 å¼è¿äºä¸ç§æ°ç循ç¯ç±»åï¼è¢«ç§°ä¸º For-Each å¾ªç¯æè å 强å循ç¯ï¼å®è½å¨ä¸ä½¿ç¨ä¸æ çæ åµä¸éåæ°ç»ã
for(type element: array){
System.out.println(element);
}
2
3
ã示ä¾ã
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// æå°æææ°ç»å
ç´
for (double element: myList) {
System.out.println(element);
}
}
2
3
4
5
6
7
8
# 2ãæ°ç»ä½æ¹æ³å ¥å
æ°ç»å¯ä»¥ä½ä¸ºåæ°ä¼ éç»æ¹æ³ã
ä¾å¦ï¼ä¸é¢çä¾åå°±æ¯ä¸ä¸ªæå° int æ°ç»ä¸å ç´ çæ¹æ³ :
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
2
3
4
5
# 3ãæ°ç»ä½è¿åå¼
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
2
3
4
5
6
7
8
以ä¸å®ä¾ä¸ result æ°ç»ä½ä¸ºå½æ°çè¿åå¼ã
# å¤ç»´æ°ç»
å¤ç»´æ°ç»å¯ä»¥çææ¯æ°ç»çæ°ç»ï¼æ¯å¦äºç»´æ°ç»å°±æ¯ä¸ä¸ªç¹æ®çä¸ç»´æ°ç»ï¼å ¶æ¯ä¸ä¸ªå ç´ é½æ¯ä¸ä¸ªä¸ç»´æ°ç»ã
1ãå¤ç»´æ°ç»ç卿åå§åï¼ï¼ä»¥äºç»´æ°ç»ä¸ºä¾ï¼
ç´æ¥ä¸ºæ¯ä¸ç»´åé 空é´ï¼æ ¼å¼å¦ä¸ï¼
type[][] typeName = new type[typeLength1][typeLength2];
type å¯ä»¥ä¸ºåºæ¬æ°æ®ç±»ååå¤åæ°æ®ç±»åï¼arraylenght1 å arraylenght2 å¿ é¡»ä¸ºæ£æ´æ°ï¼ arraylenght1 ä¸ºè¡æ°ï¼arraylenght2 ä¸ºåæ°ã
æ¯å¦å®ä¹ä¸ä¸ªäºç»´æ°ç»ï¼
int a[][] = new int[2][5];
è§£æï¼äºç»´æ°ç» a å¯ä»¥çæä¸ä¸ªä¸¤è¡ä¸åçæ°ç»ã
2ãå¤ç»´æ°ç»çå¼ç¨ï¼ä»¥äºç»´æ°ç»ä¸ºä¾ï¼
对äºç»´æ°ç»ä¸çæ¯ä¸ªå ç´ ï¼å¼ç¨æ¹å¼ä¸º arrayName[index1] [index2]ï¼ä¾å¦ï¼
num[1] [0];
å ¶å®äºç»´çè³å¤ç»´æ°ç»åå好çè§£ï¼æä»¬æä¸¤ä¸ªæè å¤ä¸ªå¼å½åå®ä½å°±å¥½ã
åæ¥çæ°ç»å°±æ¯ä¸æ¡çº¿ï¼æä»¬ç¥éä¸ä¸ªä½ç½®å°±å¥½
äºç»´å°±æ¯ä¸ä¸ªé¢ï¼ä¸¤ç¹ç¡®å®ä¸ä¸ªä½ç½®
ä¸ç»´å¢ï¼å°±éè¦ä¸ä¸ªç¹æ¥ç¡®å®
3ãè·åæ°ç»é¿åº¦ï¼
a.lengthè·åçäºç»´æ°ç»ç¬¬ä¸ç»´æ°ç»çé¿åº¦ï¼a[0].lengthææ¯è·å第äºç»´ç¬¬ä¸ä¸ªæ°ç»é¿åº¦ã
# Arrays ç±»
æ°ç»çå·¥å ·ç±»java.util.Arrays
ç±äºæ°ç»å¯¹è±¡æ¬èº«å¹¶æ²¡æä»ä¹æ¹æ³å¯ä»¥ä¾æä»¬è°ç¨,ä½API䏿ä¾äºä¸ä¸ªå·¥å ·ç±»Arraysä¾æä»¬ä½¿ç¨,ä» èå¯ä»¥å¯¹æ°æ®å¯¹è±¡è¿è¡ä¸äºåºæ¬çæä½ã
ææ¡£ç®ä»ï¼
â 
è¿ä¸ªææ¡£ï¼ç¾åº¦å³å¯ä¸è½½ï¼jdk1.8ä¸æææ¡£
Arraysç±»ä¸çæ¹æ³é½æ¯static修饰çéææ¹æ³,å¨ä½¿ç¨çæ¶åå¯ä»¥ç´æ¥ä½¿ç¨ç±»åè¿è¡è°ç¨ï¼è"ä¸ç¨"使ç¨å¯¹è±¡æ¥è°ç¨(注æï¼æ¯"ä¸ç¨" è䏿¯ "ä¸è½")
java.util.Arrays ç±»è½æ¹ä¾¿å°æä½æ°ç». 使ç¨ä¹åéè¦å¯¼å ï¼
å ·æä»¥ä¸å¸¸ç¨åè½ï¼
- ç»æ°ç»èµå¼ï¼éè¿ fill æ¹æ³ã
- 对æ°ç»æåºï¼éè¿ sort æ¹æ³,æååºã
- æ¯è¾æ°ç»ï¼éè¿ equals æ¹æ³æ¯è¾æ°ç»ä¸å ç´ å¼æ¯å¦ç¸çã
- æ¥æ¾æ°ç»å ç´ ï¼éè¿ binarySearch æ¹æ³è½å¯¹æåºå¥½çæ°ç»è¿è¡äºåæ¥æ¾æ³æä½ã
å ·ä½è¯´æè¯·æ¥çä¸è¡¨ï¼
| åºå· | æ¹æ³å说æ |
|---|---|
| 1 | public static int binarySearch(Object[] a, Object key) ç¨äºåæ¥æ¾ç®æ³å¨ç»å®æ°ç»ä¸æç´¢ç»å®å¼ç对象(Byte,Int,doubleç)ãæ°ç»å¨è°ç¨åå¿ é¡»æåºå¥½çãå¦ææ¥æ¾å¼å å«å¨æ°ç»ä¸ï¼åè¿åæç´¢é®çç´¢å¼ï¼å¦åè¿å (-(æå ¥ç¹) - 1)ã |
| 2 | public static boolean equals(long[] a, long[] a2) å¦æä¸¤ä¸ªæå®ç long åæ°ç»å½¼æ¤ç¸çï¼åè¿å trueãå¦æä¸¤ä¸ªæ°ç»å å«ç¸åæ°éçå ç´ ï¼å¹¶ä¸ä¸¤ä¸ªæ°ç»ä¸çææç¸åºå ç´ å¯¹é½æ¯ç¸ççï¼å认为è¿ä¸¤ä¸ªæ°ç»æ¯ç¸ççãæ¢å¥è¯è¯´ï¼å¦æä¸¤ä¸ªæ°ç»ä»¥ç¸å顺åºå å«ç¸åçå ç´ ï¼å两个æ°ç»æ¯ç¸ççãåæ ·çæ¹æ³éç¨äºææçå ¶ä»åºæ¬æ°æ®ç±»åï¼Byteï¼shortï¼Intçï¼ã |
| 3 | public static void fill(int[] a, int val) å°æå®ç int å¼åé ç»æå® int åæ°ç»æå®èå´ä¸çæ¯ä¸ªå ç´ ãåæ ·çæ¹æ³éç¨äºææçå ¶ä»åºæ¬æ°æ®ç±»åï¼Byteï¼shortï¼Intçï¼ã |
| 4 | public static void sort(Object[] a) 对æå®å¯¹è±¡æ°ç»æ ¹æ®å ¶å ç´ çèªç¶é¡ºåºè¿è¡ååºæåãåæ ·çæ¹æ³éç¨äºææçå ¶ä»åºæ¬æ°æ®ç±»åï¼Byteï¼shortï¼Intçï¼ã |
æ¥æºèé¸æç¨ (opens new window)ï¼ä¸ä¸ªç¼ç¨çåºç¡ææ¯æç¨ç½ç«ï¼éååå¦è æ¥çèµæï¼æPHPåºç¡å°±æ¯å¨è¿éå¦çã
# 1ãæå°æ°ç»
public static void main(String[] args) {
int[] a = {1,2};
System.out.println(a); //[I@1b6d3586
System.out.println(Arrays.toString(a)); //[1, 2]
}
2
3
4
5
# 2ãæ°ç»æåº
对æå®ç int åæ°ç»ææ°åååºè¿è¡æåº
public static void main(String[] args) {
int[] a = {1,2,323,23,543,12,59};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
}
2
3
4
5
6
# 3ãäºåæ³æ¥æ¾
卿°ç»ä¸æ¥æ¾æå®å ç´ å¹¶è¿åå ¶ä¸æ
注æï¼ä½¿ç¨äºåæç´¢æ³æ¥æç´¢æå®çæ°ç»ï¼ä»¥è·å¾æå®çå¼ãå¿ é¡»å¨è¿è¡æ¤è°ç¨ä¹å对æ°ç»è¿è¡æåº(éè¿sortæ¹æ³ç)ãå¦ææ²¡æå¯¹æ°ç»è¿è¡æåºï¼åç»ææ¯ä¸ç¡®å®çã
妿æ°ç»å å«å¤ä¸ªå¸¦ææå®å¼çå ç´ ï¼åæ æ³ä¿è¯æ¾å°çæ¯åªä¸ä¸ªã
public static void main(String[] args) {
int[] a = {1,2,323,23,543,12,59};
Arrays.sort(a); //使ç¨äºåæ³æ¥æ¾ï¼å¿
é¡»å
对æ°ç»è¿è¡æåº
System.out.println("该å
ç´ çç´¢å¼ï¼"+Arrays.binarySearch(a, 12));
}
2
3
4
5
# 4ãå ç´ å¡«å
public static void main(String[] args) {
int[] a = {1,2,323,23,543,12,59};
Arrays.sort(a); //使ç¨äºåæ³æ¥æ¾ï¼å¿
é¡»å
对æ°ç»è¿è¡æåº
Arrays.fill(a, 2, 4, 100); //å°2å°4ç´¢å¼çå
ç´ æ¿æ¢ä¸º100
System.out.println(Arrays.toString(a));//[1, 2, 100, 100, 59, 323, 543]
}
2
3
4
5
6
# 5ãæ°ç»è½¬æ¢ä¸ºListéå
int[] a = {3,5,1,9,7};
List<int[]> list = Arrays.asList(a);
2
æä»¬å代ç çæ¶åï¼å¯ä»¥ä¸ç¨å»æå»è®°ä½List<int[]> å¨ideaä¸ï¼è¾å
¥Arrays.asList(a); æä¸alt + å车é®ï¼ä¼èªå¨è¡¥å
¨å
¨é¢çä¿¡æ¯ï¼é常æ¹ä¾¿ã
妿 ¡ä¸æå¦ä¸è¬ç¨çæ¯eclipseï¼å«é®ä¸ºå¥ï¼é®å°±æ¯è¿ä¸ªå è´¹ï¼ideaè¦é±ãæ³ç¨çå°ä¼ä¼´èªè¡ç¾åº¦è§£å³ðªï¼å¦è®¡ç®æºç人ï¼pojieççèµæºæ¾ä¸å°å°±è¯´ä¸è¿å»äºãð
# å¸¸è§æåºç®æ³
# 1ãåæ³¡æåº
åæ³¡æåºï¼Bubble Sortï¼ï¼æ¯ä¸ç§è®¡ç®æºç§å¦é¢åçè¾ç®åçæåºç®æ³ã
å®éå¤å°èµ°è®¿è¿è¦æåºçå ç´ åï¼ä¾æ¬¡æ¯è¾ä¸¤ä¸ªç¸é»çå ç´ (opens new window)ï¼å¦æé¡ºåºï¼å¦ä»å¤§å°å°ãé¦åæ¯ä»Zå°Aï¼é误就æä»ä»¬äº¤æ¢è¿æ¥ã走访å ç´ ç工使¯éå¤å°è¿è¡ç´å°æ²¡æç¸é»å ç´ éè¦äº¤æ¢ï¼ä¹å°±æ¯è¯´è¯¥å ç´ åå·²ç»æåºå®æã
è¿ä¸ªç®æ³çååç±æ¥æ¯å 为è¶å°çå ç´ ä¼ç»ç±äº¤æ¢æ ¢æ ¢âæµ®âå°æ°åç顶端ï¼ååºæéåºæåï¼ï¼å°±å¦åç¢³é ¸é¥®æä¸äºæ°§å碳 (opens new window)çæ°æ³¡æç»ä¼ä¸æµ®å°é¡¶ç«¯ä¸æ ·ï¼æ åâåæ³¡æåºâã
åæ³¡æåºç®æ³çåçå¦ä¸ï¼
- æ¯è¾ç¸é»çå ç´ ãå¦æç¬¬ä¸ä¸ªæ¯ç¬¬äºä¸ªå¤§ï¼å°±äº¤æ¢ä»ä»¬ä¸¤ä¸ªã
- 对æ¯ä¸å¯¹ç¸é»å ç´ ååæ ·çå·¥ä½ï¼ä»å¼å§ç¬¬ä¸å¯¹å°ç»å°¾çæåä¸å¯¹ãå¨è¿ä¸ç¹ï¼æåçå ç´ åºè¯¥ä¼æ¯æå¤§çæ°
- é对ææçå ç´ éå¤ä»¥ä¸çæ¥éª¤ï¼é¤äºæåä¸ä¸ªã
- æç»æ¯æ¬¡å¯¹è¶æ¥è¶å°çå ç´ éå¤ä¸é¢çæ¥éª¤ï¼ç´å°æ²¡æä»»ä½ä¸å¯¹æ°åéè¦æ¯è¾ã
åæ³¡æåºââãå¾è§£ç®æ³ã (opens new window)
class Bubble {
public int[] sort(int[] array) {
int temp = 0;
// å¤å±å¾ªç¯ï¼å®å³å®ä¸å
±èµ°å è¶ //-1为äºé²æ¢æº¢åº
for (int i = 0; i < array.length - 1; i++) {
int flag = 0; //éè¿ç¬¦å·ä½å¯ä»¥åå°æ è°çæ¯è¾ï¼å¦æå·²ç»æåºäºï¼å°±éåºå¾ªç¯
//å
å±å¾ªç¯ï¼å®å³å®æ¯è¶èµ°ä¸æ¬¡
for (int j = 0; j < array.length - i - 1; j++) {
//妿åä¸ä¸ªå¤§äºåä¸ä¸ª,忢ä½
if (array[j + 1] > array[j]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = 1;
}
}
if (flag == 0) {
break;
}
}
return array;
}
public static void main(String[] args) {
Bubble bubble = new Bubble();
int[] array = {2, 5, 1, 6, 4, 9, 8, 5, 3, 1, 2, 0};
int[] sort = bubble.sort(array);
for (int num : sort) {
System.out.print(num + "\t");
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 2ãéæ©æåº
éæ©æåºï¼Selection sortï¼æ¯ä¸ç§ç®åç´è§çæåºç®æ³ãå®çå·¥ä½åçæ¯æ¯ä¸æ¬¡ä»å¾ æåºçæ°æ®å ç´ ä¸ éåºæå°ï¼ææå¤§ï¼çä¸ä¸ªå ç´ ï¼åæ¾å¨åºåçèµ·å§ä½ç½®ï¼ç¶åï¼åä»å©ä½æªæåºå ç´ ä¸ç»§ç»å¯»æ¾æå° ï¼å¤§ï¼å ç´ ï¼ç¶åæ¾å°æåºåºåçæ«å°¾ã以æ¤ç±»æ¨ï¼ç´å°å ¨é¨å¾ æåºçæ°æ®å ç´ æå®ã éæ©æåºæ¯ä¸ç¨³ å®çæåºæ¹æ³ã
class SelectSort {
public int[] sort(int arr[]) {
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
// 认为ç®åçæ°å°±æ¯æå°ç, è®°å½æå°æ°ç䏿
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[minIndex] > arr[j]) {// ä¿®æ¹æå°å¼ç䏿
minIndex = j;
}
}// å½éåºforå°±æ¾å°è¿æ¬¡çæå°å¼,å°±éè¦äº¤æ¢ä½ç½®äº
if (i != minIndex) {//交æ¢å½åå¼åæ¾å°çæå°å¼çä½ç½®
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
return arr;
}
public static void main(String[] args) {
SelectSort selectSort = new SelectSort();
int[] array = {2, 5, 1, 6, 4, 9, 8, 5, 3, 1, 2, 0};
int[] sort = selectSort.sort(array);
for (int num : sort) {
System.out.print(num + "\t");
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 3ãç´æ¥æå ¥æåº
æåºåçï¼åºæ¬æä½æ¯å°ä¸æ¡è®°å½æå ¥å°å·²æå¥½çæåºè¡¨ä¸ï¼ä»èå¾å°ä¸ä¸ªæ°çãè®°å½æ°éå¢1çæåºè¡¨ã
ä¾å¦ï¼
åå§æ°æ®ï¼ 49,38,65,97,76,13,27
[49],38,65,97,76,13,27 ä»1ç´¢å¼å¼å§æå
¥
[38,49],65,97,76,13,27
[38,49,65],97,76,13,27
[38,49,65,97],76,13,27
[38,49,65,76,97],13,27
[13,38,49,65,76,97],27
[13,27,38,49,65,76,97]
2
3
4
5
6
7
8
9
代ç å®ç°ï¼
int arr[]={49,38,65,97,76,13,27};
for (int i = 1; i < arr.length; i++) {
for(int j=i; j>0;j--){
if(arr[j]<arr[j-1]){
int f=arr[j];
arr[j]=arr[j-1];
arr[j-1]=f;
}
}
}
System.out.println(Arrays.toString(arr));
2
3
4
5
6
7
8
9
10
11
# 4ãå¸å°æåº
# 5ãå¿«éæåº
# 6ãå½å¹¶æåº
# 7ãåºæ°æåº
# 8ãå æåº
# ç¨çæ°ç»
https://blog.csdn.net/baolingye/article/details/99943083
â æ¹æ³ å¼å¸¸æºå¶â