成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

九天學(xué)會(huì)Java,第六天,變量作用域

Berwin / 1792人閱讀

摘要:從函數(shù)看局部變量作用域函數(shù)內(nèi)定義的變量被稱為局部變量。局部變量的作用范圍從聲明開(kāi)始,直到包含它的塊結(jié)束塊就是內(nèi)的代碼。

變量和數(shù)據(jù)類型,賦值和輸出

算術(shù)運(yùn)算

選擇結(jié)構(gòu)

循環(huán)結(jié)構(gòu)

函數(shù)定義,函數(shù)調(diào)用

變量作用域 <--

棧,程序運(yùn)行的基石

面向?qū)ο?/p>

異常處理

語(yǔ)言提供的公用包

經(jīng)過(guò)前面的學(xué)習(xí),我們發(fā)現(xiàn)變量有時(shí)候定義在main函數(shù)里,有時(shí)候?qū)懺谘h(huán)里,有的時(shí)候又寫在自定義函數(shù)里,那么什么的變量的作用域呢

首先作用域是由花括號(hào)的位置決定的。

從函數(shù)看局部變量作用域

函數(shù)內(nèi)定義的變量被稱為局部變量。

局部變量的作用范圍從聲明開(kāi)始,直到包含它的塊結(jié)束(塊就是{}內(nèi)的代碼)。

函數(shù)的參數(shù)范圍涵蓋整個(gè)方法。參數(shù)實(shí)際上是一個(gè)局部變量。

public class SixthScopeLesson {
    /**
     * a在整個(gè)函數(shù)內(nèi)都是可見(jiàn)的
     * b在定義之后,直到 } 號(hào)之前都是可見(jiàn)的
     * @param a
     */
    public static void foo(int a) {
        System.out.println(a);
        int b = 10;
        System.out.println(b);
    }

    public static void main(String[] args) {
        foo(10);
        /**
         * 在main函數(shù)里,就訪問(wèn)不到foo(int a)里的a
         * 以及foo函數(shù)里定義的b
         */
    }
}
從for循環(huán)看局部變量作用域

for循環(huán)的初始化部分聲明的變量,其作用范圍在整個(gè)循環(huán)。

但循環(huán)體內(nèi)聲明的變量其適用范圍是從它聲明到循環(huán)體結(jié)束。它包含如下所示的變量聲明:

for(int i = 0; i < 10; i++ /*這里也能訪問(wèn)i,但是不能訪問(wèn)j*/) {
    int j = i + 1;   /* 從這里到 } 都能訪問(wèn)到j(luò) */
    System.out.println(i);
    System.out.println(j);
}
/**
* 出了 } 之后,i和j都不能再訪問(wèn)
*/

嵌套代碼塊看變量作用域
int i = 3;
if (i >= 3) { /* 進(jìn)入代碼塊 */
    int j = 10; /* j從這里到 } 都能訪問(wèn) */
    System.out.println(i); /* 可以訪問(wèn)到i,因?yàn)閕在上一級(jí)代碼塊 */
    System.out.println(j);
}
System.out.println(i); /* 可以訪問(wèn)到i,處于同一個(gè)代碼塊 */
/* 訪問(wèn)不到j(luò) */

這說(shuō)明什么,說(shuō)明子代碼塊可以訪問(wèn)上層代碼塊的變量。

上層代碼塊卻不能訪問(wèn)子代碼塊的變量。

這是為什么,因?yàn)槌绦蜻\(yùn)行到}符號(hào)時(shí),表示離開(kāi)作用域,
{}內(nèi)分配的變量將被JVM回收

講到下一節(jié)“程序運(yùn)行基石,?!睍r(shí),大家會(huì)有更好的理解。

全局變量

類的全局變量在類內(nèi)都能訪問(wèn)到

public class SixthScopeLesson2 {
    /**
     * 定義全局靜態(tài)變量
     * 變量名叫val
     * 把10賦值給val
     */
    public static int val = 10;
    
    public static void foo() {
        /**
         * 由于val是全局變量
         * 所以foo函數(shù)能訪問(wèn)到
         */
        System.out.println(val);
    }
    
    public static void main(String[] args) {
        /**
         * 由于val是全局變量
         * 所以main函數(shù)能訪問(wèn)到
         */
        System.out.println(val);
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69127.html

相關(guān)文章

  • 26天學(xué)通前端開(kāi)發(fā)(配資料)

    摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...

    blair 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,第四天,循環(huán)結(jié)構(gòu)

    摘要:變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z(yǔ)言提供的公用包這次我們講的循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)在編程中廣泛使用,所以一定要了解好循環(huán)結(jié)構(gòu)是怎么用的。正確的寫法,是用循環(huán)結(jié)構(gòu)。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 變量作用域 棧,程序運(yùn)行的基石 面向?qū)ο?異常處理 語(yǔ)言提供的公用包...

    Youngs 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,第一天,變量和數(shù)據(jù)類型,賦值和輸出

    摘要:現(xiàn)在我們開(kāi)始說(shuō)編程特性第一條變量和數(shù)據(jù)類型,賦值和輸出。從廣為流傳的說(shuō)起,用建立一個(gè)新的工程在目錄建一個(gè)文件變量和數(shù)據(jù)類型,賦值和輸出在中,方法是應(yīng)用程序的入口方法。變量包含三個(gè)知識(shí)點(diǎn),新建變量是字符串類型給變量賦值。 用9天入門三門編程語(yǔ)言,有可能嘛,尤其是對(duì)沒(méi)有基礎(chǔ)的同學(xué)來(lái)說(shuō)?對(duì)于想學(xué)好的編程的人來(lái)說(shuō),無(wú)論從哪一門語(yǔ)言開(kāi)始入手,語(yǔ)言的本身其實(shí)并不是我們最應(yīng)該的關(guān)心的,至少不是作為一...

    cangck_X 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,第三天,選擇結(jié)構(gòu)

    摘要:選擇結(jié)構(gòu)變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z(yǔ)言提供的公用包上一節(jié)介紹了的算術(shù)運(yùn)算,如加減乘除等,的運(yùn)算規(guī)則跟四則運(yùn)算一樣。 選擇結(jié)構(gòu) 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) = 60) { System.out.println(You have passed the exam...

    Java_oldboy 評(píng)論0 收藏0
  • 九天學(xué)會(huì)Java,第五天,函數(shù)定義函數(shù)調(diào)用

    摘要:那么這種封裝的形式就叫做函數(shù)函數(shù)的格式修飾符返回值類型函數(shù)名參數(shù)類型形式參數(shù),參數(shù)類型形式參數(shù),執(zhí)行語(yǔ)句返回值有可能有,有可能無(wú)函數(shù)的定義我們參考函數(shù)的格式定義幾個(gè)函數(shù)因?yàn)槲覀円谥姓{(diào)用函數(shù),所以函數(shù)也要定義成。 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 函數(shù)定義,函數(shù)調(diào)用 max) { max = b; } ...

    Cheriselalala 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<