導航:首頁 > 編程語言 > javafor循環理解

javafor循環理解

發布時間:2021-02-25 20:06:05

1. java裡面的for循環的格式: for(String s : arr)是什麼意思,能否詳細解釋一下

for的循環語句for(String s : args)這個格式是foreach的形式,表示取出數組args[]中的每一個元素,就是循環一次就依次取出一個元素賦值給s,知道取完為止java中的foreach也是用for表示具體語法分兩種:

第一種-數組for(type var : arr) {//循環體}示例(這里以List為例):List<String> list = new ArrayList<String>();for(String item : list){System.out.println("循環元素:" + item);}

第二種-非數組類可迭代對象for(type var : coll) {//循環體}示例:Map<String, String> map = new HashMap<String, String>();for(Entry<String, String> item : map.entrySet()){System.out.println("循環元素 key:" + item.getKey() + " value:" + item.getValue());}

其實本質上和for(int i=0;i<length;i++)沒太大區別,但是for(String s : arr)中的arr一定是字元串數組,每次循環取一個字元串出來賦值給s,直到arr數組長度-1結束。

(1)javafor循環理解擴展閱讀:

Java for循環的幾種用法:

在Java程序中,要「逐一處理」或者說,「遍歷」某一個數組或Collection中的元素的時候,一般會使用一個for循環來實現(當然,用其它種類的循環也不是不可以,只是不知道是因為for這個詞的長度比較短,還是因為for這個詞的含義和這種操作比較配,在這種時候for循環比其它循環常用得多)。

對於遍歷數組,這個循環一般是採取這樣的寫法:

清單1:遍歷數組的傳統方式

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int j = 0; j < integers.length; j++) {

int i = integers[j];

System.out.println(i);

}

而對於遍歷Collection對象,這個循環則通常是採用這樣的形式:

清單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);

}

而在Java語言的最新版本――J2SE
1.5中,引入了另一種形式的for循環。藉助這種形式的for循環,現在可以用一種更簡單地方式來進行遍歷的工作。

1、 第二種for循環

不嚴格的說,Java的第二種for循環基本是這樣的格式:

for (循環變數類型 循環變數名稱 : 要被遍歷的對象) 循環體

藉助這種語法,遍歷一個數組的操作就可以採取這樣的寫法:

清單3:遍歷數組的簡單方式

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int i : integers) {

System.out.println(i); /* 依次輸出「1」、「2」、「3」、「4」 */

}

這里所用的for循環,會在編譯期間被看成是這樣的形式:

清單4:遍歷數組的簡單方式的等價代碼

復制代碼 代碼如下:

/* 建立一個數組 */

int[] integers = {1, 2, 3, 4};

/* 開始遍歷 */

for (int 變數名甲 = 0; 變數名甲 < integers.length; 變數名甲++) {

System.out.println(integers[變數名甲]); /* 依次輸出「1」、「2」、「3」、「4」 */

}

這里的「變數名甲」是一個由編譯器自動生成的不會造成混亂的名字。

2. java 裡面for 怎麼理解

這種來寫法是增強for循環,

for(int i = 0;i < s.length(); i++){
String str = s[i]; //當成數自組的寫法
}
編譯器會認為:

1.創建名稱為str 的String變數。
2.將s的第一個元素賦給str 。
3.執行重復的內容。
4.賦值給下一個元素str 。
5.重復執行至所有的元素都被運行為止

優點:
這種寫法讓我們代碼看起來更加的簡潔
缺點話:
1. 只能順次遍歷所有元素,無法實現較為復雜的循環
2對於數組,不能方便的訪問下標值;
3對於集合,與使用Interator相比,不能方便的刪除集合中的內容(在內部也是調用Interator).
4 除了簡單遍歷並讀取其中的內容外,不建議使用增強的for循環

3. java的for循環語句有點看不懂,求文字解釋!!在線等回答。

for(int j=2 ; j<i ; j++){//質數是指只能被自身和1整除的數,所以從2開始循環
if(i%j == 0){//i是101開始到200的數,循環的去除以-小於自身-1的數,例如:101就是除以2,3,4...100,在這中間,如果有被整出,那麼這個書就不是質數,所以,令f= false
f=false;
break;
}*/

我給你一個我回答過的找質數的程序:

public class Test {
public static void main(String[] args) {
//循環1000以內的數
for (int n=2;n<=1000;n++){
//給b初始值true
boolean b = true;
//如果循環拿到的數n不等於1,就進入下面循環
if (n != 1 ){
//i從大於1的第一個數也就是2開始,一次循環到比這個數n本身小的最大的數
//何為質數,除了1和他本身不能再被其他數整除。所以...這樣循環
for (int i = 2; i < n; i++){
if (n % i == 0){//如果取余為0,也就是除了1和其本身有其他數可以乘除他,所以置為false
b = false;
//跳出當前循環,判斷是否列印,並且到外面循環繼續
break;
}

}
}
//如果b為true列印下面的質數
if (b){
System.out.println(n + "是質數");
}
}
}
}

4. JAVA中for循環的這種寫法怎麼理解

這是JAVA1.5 增強的for 循環的新特性。。(enhanced for loop)
所謂「增強的for 循環」,主要也是針對容器的。使用該項特性時,開發者可以將「利用iterator
遍歷容器」的邏輯交給編譯器來處理。例如下列代碼:
void cancelAll(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}
可以用增強的for 循環改寫為:
void cancelAll(Collection c) {
for (Object o : c)
((TimerTask)o).close();
}
編譯器判斷對象c 是一個Collection 子對象(即是容器)之後,就會允許使用增強的for 循環
形式,並自動取到c 的迭代器,自動遍歷c 中的每個元素。
可以看到,上面的代碼中仍然有一個強制類型轉換(((TimerTask)o).close();)。實際上,這
項特性應該普遍地與泛型結合,以獲得最大的利益。結合泛型之後,上述代碼變成:
void cancelAll(Collection c) {
for (TimerTask task : c)
task.cancel();
}

5. java 基於集合的for循環,java中for(;;)是什麼意思怎麼理解。

for(int i=0;i<3;i++){
System.our.println(i);
}
輸出結果為:
0
1
2
第一個表示式:給 i 賦初始值
第二個表達式:判斷i,如果符合這回個條件就執行循環體答里的程序,否則跳出循環;
第三個表達式:沒執行完一次循環對i的操作,這里指的是沒循環一次i加1

6. Java 中的for語句理解

J2SE5.0新特性之Foreach

C#中提供了Foreach的用法:
foreach (string item in f)

{

Console.WriteLine(item);

}

Java也增加了這樣的功能:

package com.kuaff.jdk5;
import java.util.*;
import java.util.Collection;
public class Foreach

{
private Collection<String> c = null;

private String[] belle = new String[4];

public Foreach()

{
belle[0] = "西施";
belle[1] = "王昭君";
belle[2] = "貂禪";
belle[3] = "楊貴妃";
c = Arrays.asList(belle);
}

public void testCollection()
{
for (String b : c)
{
System.out.println("曾經的風化絕代:" + b);
}
}

public void testArray()
{
for (String b : belle)
{
System.out.println("曾經的青史留名:" + b);
}
}

public static void main(String[] args)
{
Foreach each = new Foreach();
each.testCollection();
each.testArray();
}
}

對於集合類型和數組類型的,我們都可以通過foreach語法來訪問它。上面的例子中,以前我們要依次訪問數組,挺麻煩:

for (int i = 0; i < belle.length; i++)
{
String b = belle[i];
System.out.println("曾經的風化絕代:" + b);
}
現在只需下面簡單的語句即可:
for (String b : belle)
{
System.out.println("曾經的青史留名:" + b);
}

對集合的訪問效果更明顯。以前我們訪問集合的代碼:

for (Iterator it = c.iterator(); it.hasNext();)
{
String name = (String) it.next();

System.out.println("曾經的風化絕代:" + name);
}

現在我們只需下面的語句:
for (String b : c)
{
System.out.println("曾經的風化絕代:" + b);
}

Foreach也不是萬能的,它也有以下的缺點:

在以前的代碼中,我們可以通過Iterator執行remove操作。

for (Iterator it = c.iterator(); it.hasNext();)
{
itremove()
}

但是,在現在的foreach版中,我們無法刪除集合包含的對象。你也不能替換對象。

同時,你也不能並行的foreach多個集合。所以,在我們編寫代碼時,還得看情況而使用它。

7. 誰給我講下這個我怎麼理解,JAVA中的FOR循環

for(int i=1;i<=7;i+=2){
int i=1這是循環的復初始值
i<=7循環判制斷條件
i+=2即i=i+2每次累加2,直到i=7結束循環!
for(int kong=7;kong>i-1;kong--){
int kong=7;kong>i-1跟前面相同!
kong--是每次減少1!
說的不好大家別罵我呀!

8. 請問我對 java 中for循環語句的理解正確嗎

	for(inti=0;i<1;i++){
System.out.println(i);
}
for(inti=0;i<1;++i){
System.out.println(i);
}

簡單測試一下,這里只列印了0說明什麼?說明先回執行的賦值然後答是判斷,自增是在大括弧結束後執行的

9. java中for循環

for{
每第一個循環進來都會執行裡面的這個循環
for{
當裡面的這個FOR循環完成後進入第專一個FOR的下一屬輪循環

}
}

通俗點講就是第一個FOR循環了第二個FOR幾次,而第一個FOR每輪循環都要等裡面的第二個FOR循環結束.

有幫助沒?

10. Java里for循環語句如何解釋

沒有for循環語句,不解釋

閱讀全文

與javafor循環理解相關的資料

熱點內容
win10電腦圖標點不開怎麼辦 瀏覽:704
蘋果7的網路信號不好怎麼辦 瀏覽:223
男同激情電影 瀏覽:62
國外的電影去哪裡下載 瀏覽:991
送快遞電影 瀏覽:301
聯相電腦win7換win10 瀏覽:846
玄幻肉 瀏覽:991
pwd4.ocm 瀏覽:915
如何在linux安裝tomcat 瀏覽:974
哪個網校的編程最好 瀏覽:717
塞巴斯蒂安1976南瓜影院 瀏覽:662
百分點大數據操作系統 瀏覽:292
系統開店經營流小說 瀏覽:789
數據差異很大用什麼數代表 瀏覽:54
韓國有個說女僕的電影 瀏覽:41
古裝有色電影 瀏覽:441
90版本什麼職業吃異界 瀏覽:151
政府招聘大數據人才 瀏覽:565
電影天堂禁止訪問 瀏覽:624
燕秀工具箱2017 瀏覽:883

友情鏈接