欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java foreach循環(huán)為什么不能賦值的講解

 更新時間:2021年09月27日 08:43:59   作者:魅離兒  
這篇文章主要介紹了java foreach循環(huán)為什么不能賦值的講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

foreach循環(huán)為什么不能賦值

直接上代碼

public class test4 {
    public static void main(String args[]){
        int [] a=new int[3];
        for(int j:a){
            j=55;
        }
    }
}

代碼很簡單

下面是java編譯后的字節(jié)碼

public class test4 {
  public test4();
    Code:
       0: aload_0
       1: invokespecial #8                  // Method java/lang/Object."<init>":()V
       4: return
  public static void main(java.lang.String[]);
    Code:
       0: iconst_3          //將int型3推送至棧頂
       1: newarray       int        //創(chuàng)建一個指定原始類型的數(shù)組,并將其引用值壓入棧頂
       3: astore_1          //將棧頂引用型數(shù)值存入第二個本地變量
       4: aload_1           //將第二個引用類型本地變量推送至棧頂
       5: dup               //復(fù)制棧頂數(shù)值并將復(fù)制值壓入棧頂
       6: astore        5       //將棧頂引用型數(shù)值存入指定本地變量,此處將數(shù)組引用放在第六個本地變量里
       8: arraylength           //獲得數(shù)組的長度值并壓入棧頂
       9: istore        4       //將棧頂int型數(shù)值存入指定本地變量。
      11: iconst_0          //將int型0推送至棧頂
      12: istore_3          //將棧頂int型數(shù)值存入第四個本地變量
      13: goto          27      //跳轉(zhuǎn)到27
      16: aload         5       //將指定的引用類型本地變量推送至棧頂
      18: iload_3           //將第四個int型本地變量推送值棧頂
      19: iaload            //將int型數(shù)組指定索引的值推送至棧頂    
      20: istore_2          //將棧頂int型數(shù)值存入第三個本地變量
      21: bipush        55      //將單字節(jié)的常量值(-127~128)推送至棧頂
      23: istore_2          //將棧頂int型數(shù)值存入第三個本地變量
      24: iinc          3, 1        //將指定int型變量增加指定值
      27: iload_3           //將第四個int型本地變量推送至棧頂
      28: iload         4       //將指定的int型本地變量推送至棧頂
      30: if_icmplt     16      //比較棧頂兩int型數(shù)值的大小,當結(jié)果小小于0時跳轉(zhuǎn)
      33: return            //從當前方法返回void
}

我們只需要關(guān)注6,16~23行就可以,可以發(fā)現(xiàn)這幾句代碼是將數(shù)組引用副本中的值取出放在棧頂,然后從棧頂取出變量放在本地變量3中,然后把55放在棧頂,再把55取出放在本地變量3中,從始至終的操作都是在本地局部變量中的,并沒有對原來的數(shù)值產(chǎn)生任何影響。

foreach循環(huán)賦值問題

foreach ($list as $key=>$val){
    $data=array();//這一個一定要加上不然循環(huán)后,modify_one,modify_two都會賦值
    if ($val['id']!=1){
        $link = explode("801",$val['p_link']);
        if (isset($link['1'])){
            if ($val['times']%2==0){
                $data['modify_two']=$ftp->time($link['1']);
            }else{
                $data['modify_one']=$ftp->time($link['1']);
            }
            $admin->edit_modify($val['id'],$data);
            $admin->addTimes($val['id']);
        }
    }
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • idea中如何全局搜索class文件或者字符串

    idea中如何全局搜索class文件或者字符串

    這篇文章主要介紹了idea中如何實現(xiàn)全局搜索class文件或者字符串問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • JAVA 枚舉單例模式及源碼分析的實例詳解

    JAVA 枚舉單例模式及源碼分析的實例詳解

    這篇文章主要介紹了 JAVA 枚舉單例模式及源碼分析的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Java設(shè)計模式之抽象工廠模式詳解

    Java設(shè)計模式之抽象工廠模式詳解

    這篇文章主要介紹了Java設(shè)計模式之抽象工廠模式詳解,抽象工廠是一種為訪問類提供一個創(chuàng)建一組相關(guān)或相互依賴對象的接口,且訪問類無須指定所要產(chǎn)品的具體類就能得到同族的、不同等級的產(chǎn)品的模式結(jié)構(gòu),需要的朋友可以參考下
    2023-09-09
  • 淺談Java中的this作為返回值時返回的是什么

    淺談Java中的this作為返回值時返回的是什么

    Java中的this作為返回值時返回的是什么?下面小編就為大家介紹一下Java中的this作為返回值時返回。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java 中校驗時間格式的常見方法

    Java 中校驗時間格式的常見方法

    在實際項目開發(fā)中,跟時間參數(shù)打交道是必不可少的,為了保證程序的安全性、健壯性,一般都會對參數(shù)進行校驗,其他類型的參數(shù)校驗很好實現(xiàn),那你知道時間參數(shù)的是怎么校驗的嗎,下面給大家分享Java 中校驗時間格式的方法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • Java中定時任務(wù)的全方位場景實現(xiàn)思路分析

    Java中定時任務(wù)的全方位場景實現(xiàn)思路分析

    在開發(fā)過程中,根據(jù)需求和業(yè)務(wù)的不同經(jīng)常會有很多場景需要用到不同特性的定時任務(wù),本文將針對這些場景,提供不同的一個實現(xiàn)思路,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧
    2023-12-12
  • java實現(xiàn)單詞小游戲

    java實現(xiàn)單詞小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)單詞小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • Lombok同時使?@Data和@Builder踩坑總結(jié)

    Lombok同時使?@Data和@Builder踩坑總結(jié)

    這篇文章主要介紹了Lombok同時使?@Data和@Builder踩坑總結(jié),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-05-05
  • springboot項目如何在linux服務(wù)器上啟動、停止腳本

    springboot項目如何在linux服務(wù)器上啟動、停止腳本

    這篇文章主要介紹了springboot項目如何在linux服務(wù)器上啟動、停止腳本問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Java中正則表達式split()特殊符號使用詳解

    Java中正則表達式split()特殊符號使用詳解

    這篇文章主要介紹了Java中正則表達式split()特殊符號使用詳解, 文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論