zoukankan      html  css  js  c++  java
  • 局部变量和全局变量的调用

    程序源代码:

    public class Example1 
    {
    public static void add(int a,int b)   //自定义方法,实现加法运算
    {
    int c = a+b;  //定义变量c,其值等于参数a+b的值
    System.out.println("c="+c);  //输出变量c的值
    a = c;       //将变量c的值赋给参数a
    }
    public static void main(String[] args) 
    {
    //定义并初始化变量a,b
    int a = 10;    
    int b = 20;
    //调用add()方法
    add(a,b);  
    System.out.println("a="+a);//调用的是公共变量的值
    }
    }
    正确的结果为:c=30   a=10。
    原因:语句“System.out.println("a="+a);”中的a为全局变量,而自定义函数add(int a,int b)中的a为局部变量。
     
    在Java中,局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。
    class A { int a;//成员变量 public static void main(String[] args) { int b;//局部变量 } }  
    区别:
    1.成员变量在类中,局部变量在方法中       
    2.声明成员变量时可以不初始化(被final修饰且没有static的必须显式赋值),而局部变量必须手动初始化    3.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可 以定义成final型
    4.成员变量存储在堆,局部变量存储在栈
    5.存在时间不同       

    类变量、实例变量、局部变量
    类变量是类中独立于方法之外的变量,用static 修饰。
  • 相关阅读:
    [BZOJ4825][HNOI2017]单旋(线段树+Splay)
    [BZOJ4542][HNOI2016]大数(莫队)
    [LOJ6281]数列分块入门 5
    [LOJ6280]数列分块入门 4
    [LOJ6279]数列分块入门 3
    [LOJ6278]数列分块入门 2
    [LOJ6277]数列分块入门 1
    [BZOJ2120]数颜色
    [BZOJ3585]mex
    [ZJb417]区间众数
  • 原文地址:https://www.cnblogs.com/person008/p/6114461.html
Copyright © 2011-2022 走看看