<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 24,  comments - 29,  trackbacks - 0

            要想正確地理解控制的作用,我們必須首先理解一下作用域的概念。對(duì)于程序控制,你應(yīng)該首先理解不同的控制在什么樣的范圍內(nèi)起作用,這就是我們所說的作用域。
            對(duì)于作用域中所定義的各種變量,作用域限定了這些變量的可被訪問范圍,也就是說“變量的可見性”及“存在時(shí)間”。
            所謂變量的可見性:是指只有在規(guī)定的作用域范圍內(nèi),變量是可以被訪問及操縱控制的。
            所謂變量的存在時(shí)間:是指只有在規(guī)定作用域范圍內(nèi),變量是存活的,一旦超出了變量的存活范圍,變量就不存在了,對(duì)于這種不存在的理解應(yīng)該有兩種情況:
            1)內(nèi)存立即被回收,變量在內(nèi)存中不存在了,這種情況主要針對(duì)于基本類型。
            2)對(duì)象句柄不存在了,對(duì)象不再被操縱,對(duì)象的內(nèi)容還存在,這種情況主要針對(duì)對(duì)象類型。

    一、塊作用域
            一個(gè)塊或復(fù)合語句是用一對(duì)花括號(hào)“{}”括起來的任意數(shù)量的簡(jiǎn)單Java語句。塊定義了變量的作用范圍。對(duì)于塊我們主要理解以下兩方面就可以了:
            1)塊是可以被嵌套的
            2)嵌套塊內(nèi)不可以聲明相同名字的變量

    /*塊的嵌套*/

    public class PartArea
    {
       public static void main(String[] args)
       {   //main方法開始
         int a = 15;
         int b = 2;
         if (a == 15)
          {   //條件塊開始
            double c = 2;   //c是可用的
            System.out.println(a + "/" + c + "=" + (a / c));
            System.out.println("the value a is" + a);   //a是可用的
           }   //條件塊結(jié)束
           //System.out.println("the value c is" + c);   //在這里c已經(jīng)不再可用
         System.out.println(a + "/" + b + "=" + (a / b));
         System.out.println(a + "%" + b + "=" + (a % b));
       }   //main方法結(jié)束
    }

    輸出結(jié)果:
                      15 / 2.0 = 7.5
                       the value a is 15
                      15 / 2 = 7
                      15 % 2 = 1

    分析:
             在這個(gè)程序中,我們?cè)趍ain方法中嵌套了一個(gè)條件判斷塊,也就是說在main方法中包含了另一個(gè)塊。
             變量a在main方法是可見的,也就是說只有在main方法結(jié)束處,變量a才失去它存活的空間,由于條件塊是包含在main方法塊中的,所以在條件塊中我們依然可以操縱或訪問到變量a。對(duì)于變量c ,由于它只是在條件塊中定義,同樣的理論變量c也是在條件塊結(jié)束處的花括號(hào)處結(jié)束它的“可見性”。

    /*塊的嵌套*/

    public class PartArea2
    {
       int a = 10
       public static void main(String[] args)
       {   //main方法開始
         int a = 15;
         int b = 2;
         if (a == 15)
          {   //條件塊開始
            double c = 2;   //c是可用的
            System.out.println(a + "/" + c + "=" + (a / c));
            System.out.println("the value a is" + a);   //a是可用的
           }   //條件塊結(jié)束
            // System.out.println("the value c is" + c);   //在這里c已經(jīng)不再可用
         System.out.println(a + "/" + b + "=" + (a / b));
         System.out.println(a + "%" + b + "=" + (a % b));
       }   //main方法結(jié)束
    }
    輸出結(jié)果:
                      15 / 2.0 = 7.5
                       the value a is 15
                      15 / 2 = 7
                      15 % 2 = 1
    分析:
             為什么能正確的執(zhí)行了呢?不是說嵌套塊不能重復(fù)定義嗎?這里我就向讀者解釋這個(gè)讓很多程序員容易混淆的問題:
             1)所謂嵌套塊,是方法內(nèi)的嵌套,不包括類的花括號(hào)。
             2)換個(gè)角度理解,不允許重復(fù)定義的是局部變量,對(duì)于成員變量或類變量是可以被重復(fù)定義的,局部變量的值覆蓋全局變量的值。

    二、對(duì)象的存活時(shí)間
            Java中的對(duì)象,只有在存活時(shí)間上與主類型(基本類型)不一致,在變量的作用域的其它方面是一致的。
            在Java中用new關(guān)鍵字創(chuàng)建一個(gè)對(duì)象的時(shí)候,它在內(nèi)存堆中生成了一個(gè)對(duì)象的實(shí)例,我們要想操縱這個(gè)對(duì)象,要給這個(gè)對(duì)象賦與一個(gè)句柄,例如:
                                        String   s   =   new   String(" 這是一個(gè)字符串對(duì)象")
           “s”也就是我們所說的主類型的變量名,也被稱為句柄。句柄s在作用域結(jié)束時(shí),句柄s消失,但對(duì)于對(duì)象本身依然存在于內(nèi)存中。由于句柄的消失,我們已經(jīng)無法再去操縱對(duì)象了,所以從表面上來看,對(duì)象也就不存在了。
           
    posted on 2007-05-15 14:36 心隨Wǒ動(dòng) 閱讀(334) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    <2007年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    QQ群:9028409
    QQ:29850994
    點(diǎn)擊這里給我發(fā)消息

    留言簿(2)

    隨筆檔案

    積分與排名

    • 積分 - 31323
    • 排名 - 1348

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 日本大片在线看黄a∨免费 | 亚洲国产精品成人精品无码区在线| 久久精品亚洲AV久久久无码| 久久青草免费91观看| 亚洲深深色噜噜狠狠爱网站| rh男男车车的车车免费网站| 免费一级毛片免费播放| 亚洲国产成人AV网站| 国产免费AV片无码永久免费| 亚洲最大av资源站无码av网址| 亚洲第一成年免费网站| 亚洲色欲色欲www| 在线a级毛片免费视频| 色婷五月综激情亚洲综合| 日韩一区二区a片免费观看 | 国产精品区免费视频| 亚洲精品成人无限看| 91视频免费观看高清观看完整| 亚洲国产无套无码av电影| 99久久99久久精品免费观看| 亚洲电影免费观看| 妞干网免费视频观看| 国产成人亚洲精品电影| 亚洲无码精品浪潮| 国精产品一区一区三区免费视频 | 波多野结衣中文字幕免费视频| 2020国产精品亚洲综合网| 性做久久久久免费看| 国产特黄一级一片免费| 亚洲av日韩av不卡在线观看| 在线a级毛片免费视频| 曰批免费视频播放在线看片二| 国产亚洲精品线观看动态图| 午夜精品射精入后重之免费观看| 亚洲最大成人网色香蕉| 亚洲成av人片不卡无码久久| 精品一区二区三区免费| 激情综合亚洲色婷婷五月APP| 日本不卡视频免费| 高清永久免费观看| 亚洲另类古典武侠|