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循環語句,不解釋