javafor遍歷
㈠ java for循環用法
java for循環用法如下:
javafor循環語句語法:for(初始化; 布爾表達式; 更新) {// 代碼語句}。最先執行初始化步驟,可以聲明一種類型,但可初始畢旦化一個或多個循環控制變數,也可以是空語句。然後,檢測布爾表達式的值:1、如果為 true,循環體被執行。2、如果為 false,循環終止,開始執行循環體伍薯後面的語句。執行一次循環後,更新循環控制變數。再次檢測布爾表達式,循環執行上面的過程。
㈡ java中for循環的幾種寫法
以下為for循環的幾種寫法:
/***
方法一:最普通的不加思考的寫法
* <p>*優點:較常見,易於理解
* <p>* 缺點:每次都要計算list.size()*/
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
/***
方法二:數組長度提取出來
* <p>* 優點:不必每次都計算
* <p>* 缺點:
1、m的作用域不夠小,違反了最小作用域原則
2、不能在for循環中操作list的大小,比如除去或新加一個元素*/
int m = list.size();
for (int i = 0; i < m; i++) {
System.out.println(list.get(i));
}
/***
方法三:數組長度提取出來
* <p>* 優點:
1、不必每次都計算
2、所有變數的作用域都遵循了最小范圍原則
* <p>* 缺點:
1、m的作用域不夠小,違反了最小作用域原則
2、不能在for循環中操作list的大小,比如除去或新加一個元素*/
for (int i = 0, n = list.size(); i < n; i++) {
System.out.println(list.get(i));
}
/***
方法四:採用倒序的寫法
* <p>* 優點:
1、不必每次都計算
2、所有變數的作用域都遵循了最小范圍原則
* <p>* 缺點:
1、結果的順序會反
2、看起來不習慣,不易讀懂
* <p>* 適用場合:與顯示結果順序無關的地方:比如保存之前數據的校驗*/
for (int i = list.size() - 1; i >= 0; i--) {
System.out.println(list.get(i));
}
/***
方法五:Iterator遍歷
* <p>* 優點:簡潔
* <p>* 缺點:*/
for (Iterator<String> it = list.iterator(); it.hasNext();) {
System.out.println(it.next());
}
/*** 方法六:
jdk1.5新寫法
* <p>* 優點:簡潔結合泛型使用更簡潔*
<p>* 缺點:jdk1.4向下不兼容*/
for (Object o : list) {
System.out.println(o);
}
㈢ java中for或foreach是如何遍歷數組的
String[]array={"1","2","3","4","5"};
//for循環
for(inti=0;i<array.length;i++){
System.out.println(array[i]);
}
//foreach不是java裡面的關鍵字,foreache循環一般是指這個
for(Stringstring:array){
System.out.println(string);
}
㈣ JAVA for循環遍歷我二維數組怎麼計算,求高手解答!
public class Sz {
public static void main(String[] args) {
int b [] [] =new int [] [] {{1,2},{2,3,4},{4,5,6,7}};
for(int k = 0;k<b.length;k++){
for(int c=0;c<b[k].length;c++){
System.out.print(b[k][c]);
}
System.out.println();//輸出
System.out.println("b["+k+"].length:"+b[k].length);
}
}
}。
K =0; b.length=3;
for(int k = 0;k<b.length;k++) 當K=0時候K<b.length也就是3所以進入for執行第二次循環,當第二次執行完畢然後給K進行++也就是0+1賦值給K第二次的時候K=1然後還小於3也繼續進入循環完畢後在進行++此時K=2同上在進行循環,循環完畢後K++=3此時K ==b.length(3) 所以就不進入循環了
註:在for循環裡面是先進行比較,也就是中間代碼比如:k<b.length比較完畢後執行循環體裡面的代碼,代碼執行完畢才進行++
for(int c=0;c<b[k].length;c++)
當外層循環第一次進入循環體,執行第二層循環也就是for(int c=0;c<b[k].length;c++)當第一次執行外層循環是K=0;所以b[k].length=2他是取的{1,2}裡面的長度然後對比是c是否<2如果小於則進入循環執行System.out.print(b[k][c]);輸出結果分別為1和2
㈤ java for循環的執行順序和幾種常用寫法
1:遍歷數組的傳統方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int j = 0; j<integers.length; j++){
int i = integers[j];
System.out.println(i);
}
2:遍歷Collection對象的傳統方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}
3:遍歷數組的簡單方式
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
4:遍歷數組的簡單方式的等價代碼
/* 建立一個數組 */
int[] integers = {1, 2, 3, 4};
/* 開始遍歷 */
for (int 變數名甲 = 0; 變數名甲<integers.length; 變數名甲++) {
System.out.println(integers[變數名甲]);/* 依次輸出「1」、「2」、「3」、「4」 */
}
5:遍歷Collection的簡單方式
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection list = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
6:遍歷Collection的簡單方式的等價代碼
/* 建立一個Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 開始遍歷 */
for (Iterator 變數名乙 = list.iterator(); 變數名乙.hasNext();) {
Object str = 變數名乙.next();
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
7:禁止重新賦值
int[] integers = {1, 2, 3, 4};
for (final int i : integers) {
i = i / 2; /* 編譯時出錯 */
}
8:允許修改狀態
Random[] randoms = new Random[]{new Random(1), new Random(2), new Random(3)};
for (final Random r : randoms) {
r.setSeed(4);/* 將所有Random對象設成使用相同的種子 */
System.out.println(r.nextLong());/* 種子相同,第一個結果也相同 */
}
9:使用和要被遍歷的數組中的元素相同類型的循環變數
int[] integers = {1, 2, 3, 4};
for (int i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}
10:使用和要被遍歷的Collection中的元素相同類型的循環變數
Collection< String> strings = new ArrayList< String>();
strings.add("A");
strings.add("B");
strings.add("C");
strings.add("D");
for (String str : integers) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
11:使用要被遍歷的對象中的元素的上級類型的循環變數
String[] strings = {"A", "B", "C", "D"};
Collection< String> list = java.util.Arrays.asList(strings);
for (Object str : list) {
System.out.println(str);/* 依次輸出「A」、「B」、「C」、「D」 */
}
12:使用能和要被遍歷的對象中的元素的類型自動轉換的類型的循環變數
int[] integers = {1, 2, 3, 4};
for (Integer i : integers) {
System.out.println(i);/* 依次輸出「1」、「2」、「3」、「4」 */
}