2017Google Study Jams之L2Just Java变量的认识

此次活动的举办方: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修饰。
  • 成员变量是在堆内存中创建的,而局部变量是在栈内存中创建的。
  • 成员变量有系统默认值,而局部变量没有系统默认值
2017Google Study Jams之L2Just Java变量的认识_第1张图片
局部变量没有默认值

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

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

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

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

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

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

你可能感兴趣的:(2017Google Study Jams之L2Just Java变量的认识)