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修饰。

  • 成员变量是在堆内存中创建的,而局部变量是在栈内存中创建的。

  • 成员变量有系统默认值,而局部变量没有系统默认值

局部变量没有默认值

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

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

  • 将局部变量的作用域最小化,可以增强代码的可读性和维护性,并降低出错的可能性。

  • Java允许你在任何可以出现语句的地方声明变量。

  • 要使局部变量作用域最小化,最有力的方法就是在第一次使用它的地方声明。

  • 将使用局部变量的方法做到小而集中。

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值