精华内容
下载资源
问答
  • 232-259 1、局部变量和全局变量 ...但是,不允许直接修改全局变量的引用——使用赋值语句修改全局变量的(这样相当于在函数内部重新定义一个局部变量) 如果在函数中要修改全局变量,需要使用global进行声明...

    232-259
    1、局部变量和全局变量
    局部变量是在函数内部定义的变量,只能在函数内部使用
    全局变量是在函数外部定义的变量(没有定义在某个函数内),所有函数内部都可以使用这个变量
    在函数内部 ,可以通过全局变量的引用获取对应的数据
    但是,不允许直接修改全局变量的引用——使用赋值语句修改全局变量的值(这样相当于在函数内部重新定义一个局部变量)

    如果在函数中要修改全局变量,需要使用global进行声明

    python中,交换两个变量值的方法:
    a,b = b,a

    注意:
    1)函数中,针对传递的参数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到外部变量的引用
    2)如果传递的参数是可变类型,在函数内部,使用方法修改了数据的内容,同样会影响到外部的数据
    3)在python中,列表变量调用+=本质上是在执行列表变量的extend方法,不会修改变量的引用

    2、指定函数的缺省参数
    在参数后面使用赋值语句,可以指定参数的缺省值,例如:
    def print_info(name, gender =True):
    缺省参数,需要选择最常用的值 作为默认值
    注意:
    1)必须保证带有默认值的缺省参数 在参数列表末尾,所以以下定义是错误的:
    def print_info(name,gender=True,title):
    2)调用带有多个缺省参数的函数,在调用函数时,如果有多个缺省参数,需要指定参数名,这样解释器才能够知道参数的对应关系

    3、函数的递归
    一个函数内部调用自己,就叫做递归
    函数内部的代码是相同的,只是针对参数不同,处理的结果不同
    当参数满足一个条件时,函数不再执行(这个非常重要,通常被称为递归的出口,否则会出现死循环)

    展开全文
  • Java成员变量,局部变量的使用与区别 变量分为两种:成员变量,局部变量。 成员变量:定义在类中,是对象的属性。 局部变量:定义在方法体中的变量。... 四、缺省值不同,成员变量有缺省值,局部变量没有缺省值。 成

    Java成员变量,局部变量的使用与区别

    变量分为两种:成员变量,局部变量。
    成员变量:定义在类中,是对象的属性。
    局部变量:定义在方法体中的变量。
    

    二者的区别

    	一、声明的位置不同,成员变量是定义在类中方法体外,局部变量是定义在方法体内。
    	二、修饰符不同,成员变量前可以使用public、protected、private修饰符修饰,局部变量只能使用final修饰。
    	三、作用域不同,成员变量可以作用多个方法体,局部变量只能作用于当前方法体。
    	四、缺省值不同,成员变量有缺省值,局部变量没有缺省值。
    

    成员变量的缺省值

    整数类型:0
    浮点类型;0.0
    charl类型:空白字符
    布尔类型:false
    引用类型:null
    

    在这里插入图片描述

    变量重名问题

    重申一下变量的作用域:
    一个变量只能在声明它的最小语句组中使用。超出这个语句组就无法使用了。

    重名规则:
    一个类中,所有的成员变量之间,不可以重名。
    一个方法中,所有的局部变量之间,不可以重命名。
    成员变量可以和局部变量或者参数重名,方法内直接使用的是局部变量。
    一个方法中,局部变量和参数不能重名。

    展开全文
  • 切记:局部变量没有缺省值的,必须手动初始化!这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动了...

    JVM将为类的instance和static变量赋上缺省值(默认值),包括数组array中的每一个元素--而不用再写初始化赋值语句。

    切记:局部变量是没有缺省值的,必须手动初始化!

    这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动了一遍。

    如下面的代码说明了怎样画蛇添足的:

    情况一:

    public class Foo {

    private int count=0;   //多余

    private static boolean dd=false; //多余

    public Foo()

    {

    super();

    }

    }

    情况二:public class Foo {

    private int count;

    private static boolean dd;

    public Foo()

    {

    super();

    count=0;   //多余

    dd=false;   //多余

    }

    }

    变量或对象引用的缺省值如下:

    int : 0

    byte : 0

    long : 0

    shor : 0

    float : 0.0

    double : 0.0

    boolean : false

    char : '\u0000'

    object reference : null

    down_info.asp?id=51439

    展开全文
  • 全局变量和局部变量

    2020-10-19 15:05:43
    一:全局变量作用于整个class而局部变量只作用于方法体中,当全局变量和局部变量同名时按就近原则 什么是全局变量 类的属性称之为全局变量,...局部变量没有初始,在使用之前必须 先声明并赋值 3.修饰符 成员变量可以使用

    一:全局变量作用于整个class而局部变量只作用于方法体中,当全局变量和局部变量同名时按就近原则
    什么是全局变量
    类的属性称之为全局变量,也称之为类的成员变量,字段
    什么是局部变量
    局部变量是定义在方法体,或者代码块中的
    变量,参数是特殊的局部变量
    全局变量和局部变量的区别
    1.作用域
    成员变量的作用域在整个类中
    局部变量,从声明它的地方开始,直到它
    所在的们结束

    2.初始值
    成员变量是有初始值(也叫做默认值,也
    叫做缺省值)的
    局部变量没有初始值,在使用之前必须
    先声明并赋值
    3.修饰符
    成员变量可以使用public statc等修饰符
    修饰

    局部变量不能使用public statc等修饰符
    修饰,如果要使用修饰符,只能使用们final修饰

    被final修饰的变量,只能被赋值一次,赋
    值完成之后不能修改其值,这个变量称之为常

    final可以修饰成员变量,但是final修饰成
    员变量时,成员变量必须显式赋值

    展开全文
  • 切记:局部变量没有缺省值的,必须手动初始化!这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动了...
  • 成员变量和局部变量

    2019-11-26 17:48:21
    成员变量 vs 局部变量 相同点: 1.遵循变量声明的格式: 数据类型 变量名 = 初始化 2.都有作用域 ...局部变量没有修饰符,与所在的方法修饰符相同。 3.初始化:一定会有初始化。 成员变量:如...
  • 成员变量 vs 局部变量 相同点:1.遵循变量声明的格式:数据类型 变量名=初始化 2.都有作用域 ...局部变量没有修饰符,与所在方法修饰符相同 初始不同 **成员变量:**如果在声明的时候,不显示的...
  • 成员变量 vs 局部变量

    2021-03-01 11:48:58
    局部变量 :在方法内、方法形参、构造器内、构造器形参、代码块内。不可以使用权限修饰符。不可以用static修饰。没有默认初始化。形参在调用时,再赋值即可。内存存储结构的位置,在栈里。栈里放常量和地址。 ...
  • C#中成员变量和局部变量

    热门讨论 2021-01-26 16:05:31
    创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始,C#编译器缺省将每一个成员变量初始化为他的默认值。 对于其他情况,编译器会在创建变量时,把变量初始化为默认值。 1、对于整型、浮点型、...
  • 2、成员变量有缺省值,局部变量没有缺省值; 3、声明位置不同 成员变量定义在类中,局部变量定义在方法体内 4、作用域不同 成员变量可以用作所有方法体,局部变量只能用于方法体 成员变量的缺省值 int整形: 0; ...
  • 成员变量vs局部变量

    2016-05-02 20:23:01
    遵循变量声明的格式 有一定的作用域、 都有初始化 不同点:   成员 局部 声明位置不同 类里方法外 方法内,方法形参部分,代码内 修饰符 4个public,...
  • static变量的初始

    千次阅读 2011-04-06 10:01:00
    google了一下,发现在csdn有类似的讨论帖,结论如下:   所有局部变量(除静态局部变量外)没有缺省值,静态局部变量缺省值0。所有静态全局变量在编译时缺省值0。故静态变量缺省值0(无论全局还是...
  • 切记:局部变量没有缺省值的,必须手动初始化! 这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动...
  • 关于static关键字总结

    2010-08-30 10:16:45
    2、类中的成员变量(static修饰)有缺省值,而类的定义的方法中的局部变量没有缺省值。 3、在类的构造器中,能引用所有的静态或非静态的变量和方法,能在非static方法中调用static方法。 4、static{}块中...
  • 变量的分类

    2018-04-13 15:14:18
    成员变量VS局部变量相同点:遵循...2.成员变量的修饰符有4个:public,private,protected,缺省 局部变量没有修饰符,与所属方法的修饰符相同3.关于初始化:一定会有初始化 成员变量:如果在初始化的时候,不...
  • 基本变量类型

    2017-04-12 10:07:00
    变量:独立于方法... 必须显示的赋值,没有缺省值。 类变量和实例变量为成员变量。 有默认的赋值。 public class Test{ int i=1;//实例变量声明在一个类中,但在方法、构造方法和语句块之外; 有默认值pub...
  • JAVA 变量默认值问题

    2009-12-02 10:54:05
    切记:局部变量没有缺省值的,必须手动初始化! 这一缺省赋值过程是在对象的构造函数调用之前完成的,如果程序写了对instance和static变量的赋初值语句,且给的值就是JVM默认的值,那么无疑是画蛇添足,重复劳动...
  • C语言中变量的存储类型auto 自动类型(通常是缺省的)static 静态类型 声明的变量为静态变量static 修饰局部变量时, 如果局部变量没有初始化,其为0static 修饰全局变量时, 如果全局变量没有初始化,其为0 ...
  • 创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始,C#编译器缺省将每一个成员变量初始化为他的默认值。 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它...
  • 创建类的一个实例时,在执行构造函数之前,如果你没有给成员变量赋初始,C#编译器缺省将每一个成员变量初始化为他的默认值。 如果变量是方法的局部变量,编译器就会认为在使用该变量之前,代码必须给它显示的设定...
  • 1、我们的代码在编译之后,会生成三个段:text段,data段,bss段。 text段:存放我们的代码,也就是程序编译后的机器码。...同时作为对比,我们知道,局部变量没有初始化,其是不定的,因为布局变量是存...
  • 成员变量具有缺省值局部变量没有
  • JVM将为类的instance和static变量...切记:局部变量没有缺省值的,必须手动初始化!并且这一缺省赋值过程是在对象的构造函数调用之前完成的。 我们看下边的程序: public class Test { public static void main(S...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

局部变量没有缺省值