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

如何正確的使用語句塊

 更新時間:2013年05月23日 10:10:44   作者:  
本篇文章是對正確使用語句塊進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
猶記得在初看C,C++和Java的編程書籍時,上面就有介紹語句塊,但當(dāng)時甚是不理解什么是語句塊?!洞a大全》中也有講說要把相似功能的語句組織到一起形成語句塊,然后與其他語句塊用空行分隔。但這只是在人的理解上的語句塊,并非是真的程序語言意義上的語句塊。
程序上的定義,在我的理解來看應(yīng)該是有著相同的變量作用域的相關(guān)一組語句的集合,看起來就是應(yīng)該用{}括起來的,比如控制結(jié)構(gòu)中的邏輯。我認(rèn)為最關(guān)鍵的一點就是變量作用域,也就是說,如果能用同一個局部變量,那么就是程序意義上的語句塊。來看個例子:
復(fù)制代碼 代碼如下:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case MENU_GOTO_FILEANT:
            Intent i = new Intent();
            i.setClass(this, FileAntActivity.class);
            startActivity(i);
            break;
        case MENU_TEST_LINEARLAYOUT:
            i.setClass(this, LinearLayoutTest.class);
            startActivity(i);
            break;
        default:
            break;
        }
        return true;
    }

對于第二個case語句,仍可以使用前面case所定義的變量,所以整個switch() {}內(nèi)都是一個語句塊。
但如果給每個case語句加上語句塊標(biāo)志,就不一樣了:
復(fù)制代碼 代碼如下:

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case MENU_GOTO_FILEANT: {
            Intent i = new Intent();
            i.setClass(this, FileAntActivity.class);
            startActivity(i);
            break;
        }
        case MENU_TEST_LINEARLAYOUT: {
            Intent i = new Intent();
            i.setClass(this, LinearLayoutTest.class);
            startActivity(i);
            break;
        }
        default:
            break;
        }
        return true;
    }

加上了{(lán)}就把二個case語句分隔了開來,形成了二個語句塊,它們有各自的變量作用域,互不影響,即使用名字相同,或再次定義也無妨。
說明這些的目的就在于,要盡可能多的使用{}以形成真正的語句塊,最大的好處在于它能形成變量作用域,避免變量的作用域過大,即提高了可讀性,也減少了出錯的可能。

相關(guān)文章

  • Visual Studio2022+QT6創(chuàng)建桌面應(yīng)用實現(xiàn)

    Visual Studio2022+QT6創(chuàng)建桌面應(yīng)用實現(xiàn)

    本文主要介紹了Visual Studio2022+QT6創(chuàng)建桌面應(yīng)用實現(xiàn),文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 一文搞懂C++11萬能引用和右值引用

    一文搞懂C++11萬能引用和右值引用

    本文主要介紹了C++11萬能引用和右值引用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++同步線程實現(xiàn)示例詳解

    C++同步線程實現(xiàn)示例詳解

    這篇文章主要介紹了C++同步線程實現(xiàn)示例,線程同步是指同一進(jìn)程中的多個線程互相協(xié)調(diào)工做從而達(dá)到一致性。之因此須要線程同步,是由于多個線程同時對一個數(shù)據(jù)對象進(jìn)行修改操做時,可能會對數(shù)據(jù)形成破壞
    2022-11-11
  • C語言基于EasyX庫實現(xiàn)有顏色彈跳小球

    C語言基于EasyX庫實現(xiàn)有顏色彈跳小球

    這篇文章主要為大家詳細(xì)介紹了C語言基于EasyX庫實現(xiàn)有顏色彈跳小球,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 聊聊C++ 運算符重載知識

    聊聊C++ 運算符重載知識

    運算符重載是一種形式的C++多態(tài),重載運算符可以使代碼看起來更加自然,下面通過例子介紹下C++ 運算符重載知識,感興趣的朋友一起看看吧
    2021-11-11
  • c++中容器之總結(jié)篇

    c++中容器之總結(jié)篇

    本文總結(jié)了C++的容器,其大致可以分為兩個大類:順序容器和關(guān)聯(lián)容器,需要了解的朋友可以參考下
    2015-07-07
  • C語言中棧的結(jié)構(gòu)和函數(shù)接口的使用示例

    C語言中棧的結(jié)構(gòu)和函數(shù)接口的使用示例

    這篇文章主要介紹了C語言中棧的結(jié)構(gòu)和函數(shù)接口的使用,類似很多軟件都有撤銷的操作,這其實就是用棧這種方法來實現(xiàn)的,當(dāng)然不同的軟件具體實現(xiàn)代碼會有差異,不過原理大多都是一樣的
    2023-02-02
  • C語言指針基礎(chǔ)詳解

    C語言指針基礎(chǔ)詳解

    這篇文章主要介紹了C語言指針的基礎(chǔ),主要對C語言中指針的本質(zhì)及常見用法做了較為通俗易懂的分析,是后續(xù)深入學(xué)習(xí)C語言的基礎(chǔ),需要的朋友可以參考下
    2021-10-10
  • C++多文件變量解析

    C++多文件變量解析

    大家注意不要在頭文件中定義變量,在頭文件中聲明變量。定義放在對應(yīng)的源文件中。其他地方只能用extern聲明
    2013-10-10
  • 一文教你Qt如何操作SQLite數(shù)據(jù)庫

    一文教你Qt如何操作SQLite數(shù)據(jù)庫

    Sqlite 數(shù)據(jù)庫作為 Qt 項目開發(fā)中經(jīng)常使用的一個輕量級的數(shù)據(jù)庫,可以說是兼容性相對比較好的數(shù)據(jù)庫之一。本文為大家介紹了Qt操作SQLite數(shù)據(jù)庫的具體方法,希望對大家有所幫助
    2023-03-03

最新評論