美文网首页
2017Google Study Jams之L2Just Jav

2017Google Study Jams之L2Just Jav

作者: Shawpoo的 | 来源:发表于2017-03-13 22:13 被阅读32次

    此次活动的举办方:Google Study Jams活动官网

    我的博客(同步此次活动笔记):CSDN博客我的简书

    Google Developers

    Java变量的认识

    在Java中变量分为全局变量(成员变量)局部变量两种。变量,可以理解为属性或者状态,去描述或者修饰类或方法。下面就来具体介绍一下:

    一、全局变量(成员变量)

    • 概念:全局变量就是一个类里定义的一些私有变量,这些变量属于这个类。在一个类里,全局变量属于这个类(对象)的属性,而类里的方法表示行为。
    • 成员变量的声明:通过一段代码简单说明:
     public class StudyJamsForum {    //代表Study Jams的论坛
    
            String mStudyArea; //学习区
    
            String mNoteArea; //笔记区
    
            String mHelpArea; //互助区
    
        }
    

    在上面的代码中,mStudyAreamNoteAreamHelpArea这三个变量就是成员变量,因为这三个变量是这个类所拥有的。

    • 成员变量的命名规则:以“m”开头后面和Android控件的命名规则一样采用驼峰式命名规则。如上面的:mStudyArea;
    • 成员变量的初始化(赋值):初始化有两种方式:
      • 在声明的时候初始化,如下面代码中mStudyArea就是在声明中赋的值:
    public class StudyJamsForum { //代表Study Jams的论坛
    
            String mStudyArea = "学习区"; //学习区
    
            String mNoteArea; //笔记区
    
            String mHelpArea; //互助区
    
        }
    
    • 在方法中初始化,如下面代码中mNoteArea就是在方法体中赋的值:

      public class StudyJamsForum { //代表Study Jams的论坛
      
           String mStudyArea; //学习区
      
           String mNoteArea; //笔记区
      
           String mHelpArea; //互助区
      
           public static void main(String[] args) {
      
               mNoteArea = "学习区";
      
           }
       }
      
    - 成员变量的作用域:望文生义,全局变量嘛,作用域当然是全局的,意思是整个类里都可以对该成员变量进行操作。
    
    ###二、局部变量
    - 概念:局部变量和全局变量类似,只不过局部变量是在方法体内声明的并赋值的,是这个方法的私有变量。
    
    - 局部变量的声明:同样还是通过一段代码说明:
    

    public class StudyJamsForum { //代表Study Jams的论坛

    public static void main(String[] args) {
    
          int onlineTime; //在线时间
    
          int goldNum; //金币数量
    
          int subjectNum; //主题数量
    }
    

    }

    在上面的代码中,“**onlineTime**”,“**goldNum**”,“**subjuecNum**”这三个变量就是局部变量,因为这三个变量只能在“**main**”这个方法体内使用。
    
    - 局部变量的命名规则:首字母小写,其余单词首字母大写,即后面同样采用驼峰式命名规则。如上面代码中的:**onlineTime**
    
    - 局部变量的初始化(赋值):初始化也有两种方式:
     - 在声明的时候初始化:如下面代码中**onlineTime**就是在声明中赋值:
    
        ```
         public class StudyJamsForum { //代表Study Jams的论坛
    
            public static void main(String[] args) {
    
              int onlineTime = 99; //在线时间
    
              int goldNum; //金币数量
    
              int subjectNum; //主题数量
            }
    
         }
    
        ```
    
     - 在声明后初始化:如下面代码中**goldNum**就是在声明后进行赋值
    
    
     public class StudyJamsForum { //代表Study Jams的论坛
    
        public static void main(String[] args) {
    
          int onlineTime; //在线时间
    
          int goldNum; //金币数量
    
          int subjectNum; //主题数量
    
          goldNum = 666;
        }
    
     }
    
    ```
    
    • 局部变量的作用域:同样的方式,局部变量只是在局部使用,即方法体内且声明之后对该局部变量进行操作。

    三、全局变量和局部变量区别

    • 全局变量描述的是这个对象里的属性,而局部变量描述的是这个方法体内的属性。
    • 全局变量可以被一些关键字修饰,如public,private,static,final等。
      而局部只能被final修饰。
    • 成员变量是在堆内存中创建的,而局部变量是在栈内存中创建的。
    • 成员变量有系统默认值,而局部变量没有系统默认值
    局部变量没有默认值

    这句话提示我们必须为局部变量“a”赋一个值。

    PS延伸:通过看了《Effective Java中文版》第2版这本书,里面提到一节内容:<将局部变量的作用域最小化>,所以这里给出几条提示:

    • 将局部变量的作用域最小化,可以增强代码的可读性和维护性,并降低出错的可能性。
    • Java允许你在任何可以出现语句的地方声明变量。
    • 要使局部变量作用域最小化,最有力的方法就是在第一次使用它的地方声明。
    • 将使用局部变量的方法做到小而集中。

    四、Java变量的应用和Android布局的创建以及和代码关联

    针对Java变量在Android开发中的应用,和Android中布局的创建,以及布局中的控件如何与Java代码关联,在L2的实践中有详细的记录和步骤说明。下面的链接为实践笔记:

    点击到L2计分APP实践的笔记(包括Java全局变量的使用)

    相关文章

      网友评论

          本文标题:2017Google Study Jams之L2Just Jav

          本文链接:https://www.haomeiwen.com/subject/ddrxnttx.html