1.once a day , 一個不聽話的小朋友發了一段代碼,一眼看成了C++,第二眼看成了Python, 果然好久沒碰就傷了仲永哈。
最後還是無恥的打開了myeclipse; 好吧我承認我已經成了外行;
現在貼出來被大家批評一下哈,順便藉此複習一下 foreach 循環;
int[] index = new int[]{2, 1, 1, 0, 0, 2, 1, 3, 2, 0, 4};
String tel = "";
for(int i: index){tel+= arr[i];
}
System.out.println(tel);
}
}
我沒騙你吧,是不是很像C++,new對象竟然不釋放,差評!、
是不是很像python,for i in range(5, -1): ....
哈哈,看我myeclipse大法:
package beta_test;
public class bate_test {
public static void main(String[] args){
int[] arr = new int[]{5, 8, 1, 2, 4}; // 數組
int[] index = new int[]{2, 1, 1, 0, 0, 2, 1, 3, 2, 0, 4}; // 索引
String tel = ""; // 結果
System.out.println(tel);
for(int element: index){ //遍歷every element in index[]
System.out.println(element);
System.out.println(arr[element]);
tel+= arr[element];
//空串+arr[element] 也就是把索引中的元素作爲下標,在第一個數組中查找 對應元素; ****
System.out.println(tel);
System.out.println();
}
System.out.println(tel);
System.out.println(""+ 2);
}
}
運行結果:
2
0
0
0
8
08
3
1
081
2
0
0810
4
3
08103
0
8
081038
1
2
0810382
3
1
08103821
2
0
081038210
3
1
0810382101
3
1
08103821011
08103821011
2
so,所有的foreach語義可理解爲 for i in set(); 是其中的一個元素,而不是遊標iter,這明顯就是python\js嘛...
foreach都可以很容易改寫爲一般 for循環;
for (int i = 0; i < index[].length; ++i)
tel += arr[index[i]];
System.out.println(tel); //如此即可;
//相比之下,直接進行元素級別的foreach遍歷還是很簡潔的,不過自然也就犧牲了效率,編譯器替你買了辛苦單;
//來個python版
'''force to explore the wxId of the MM''' 2018 05 30 by monulix; def WxId_OF_monulix(world): Activecode = [5,8,1,2,4] Safekey = [2, 1, 1, 0, 0, 2, 1, 3, 2, 0, 4] WxId = "" for ele in Safekey: WxId += str(Activecode[ele]) print(WxId) print(world) WxId_OF_monulix('byebye,world')