精华内容
下载资源
问答
  • 局部变量没有初始化

    2013-05-30 18:22:39
    bResult = GetQueuedCompletionStatus(  ghCompletionPort,  &dwNumRead,  (LPDWORD)pKey, --这个结构体指针没有初始化,导致崩溃。  &lpOverlapped,  I
     bResult = GetQueuedCompletionStatus(
                   ghCompletionPort,
                   &dwNumRead,
                   (LPDWORD)pKey,  --这个结构体指针没有初始化,导致崩溃。
                   &lpOverlapped,
                   INFINITE
                );
    展开全文
  • Java 成员变量有初始值,而局部变量没有初始值。 如下所示,代码不能编译通过 publicstaticvoidmain(String[] args){ String s; System.out.println("s="+s); } 转载于:...

    Java 成员变量有初始值,而局部变量没有初始值。

    如下所示,代码不能编译通过

    public static void main(String[] args){
        String s;
        System.out.println("s="+s);
    }

     

     

    转载于:https://www.cnblogs.com/wwb0811/p/9606369.html

    展开全文
  • 局部变量需要初始化

    千次阅读 2018-03-20 09:26:24
    提示:没有初始化值 java中成员变量和局部变量的初始化 为什么全局变量无须初始化,局部变量必须初始化?
    展开全文
  • 如果在定义变量后没有给它们赋初始值,那么java会给于一个默认的初始化值,但只有类的成员变量才被初始化,而局部变量不会被初始化。如果没有初始化的变量被操作,java在编译器就会给予错误警告,如果没有被赋予...

    在java中变量是具有默认初始化值的。

    但这这么说也不怎么准确,因为java中的变量(我觉得称为字段更合适),分为属于类的成员变量和属于函数或者局部代码块的局部变量。如果在定义变量后没有给它们赋初始值,那么java会给于一个默认的初始化值,但只有类的成员变量才被初始化,而局部变量不会被初始化。如果没有被初始化的变量被操作,java在编译器就会给予错误警告,如果没有被赋予初值的局部变量,一直没被操作,则编译通过,java不会给予错误警告。

    除了变量的初始化外,新创建的类的引用也是一样,如果没有用new关键字给它分配对象的话,如果这个引用是属于类的成员字段则被默认初始化为null,如果在函数或者局部代码块内部,不会被初始化;

    java基本数据类型默认初始化表

    基本类型

    默认值

    char

    '\u0000'(null)

    byte

    0(byte 1字节)

    short

    0(short 2字节)

    int

    0(4字节)

    long

    0L

    float

    0.0f

    double

    o.od

    boolean

    false

    另外添加一个:类引用会被初始化为null

    下面,用一段代码测试一下:

    运行结果:

    1031ba93d18fbf68dbd8205253be730b.png

    这个结果就说明了,类测成员变量会被给予一个默认初始化值,类引用也会被初始化位nullvcD4KPHA+z8LD5rXEveG5+8rHyKW19MnPzsS0+sLr1tDK5LP2uq/K/bPJ1LGx5MG/JiMyMDU0MDu1xNPvvuSjrMbky/zDu9PQ1/a4xLavPC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20131218/20131218093053283.jpg" alt="">

    从上面的报错信息我们不难看出,包含在函数中的成员变量或者类引用,都不会被默认给予初始化值。

    思考:

    java的这种机制避免了没有被初始化的数据成员在进行其它操作时引起的严重性错误,尽量从语法上避免程序员犯错。与之相反,C和C++,无论你对变量时候进行初始化,都可以对变量进行操作,这时变量中存储的是一串随机的数字(可能是上一个程序使用该内存空间后遗留的值,计算机中的数据不会被物理意义上的“擦除”,你对一块内存的写数据只是覆盖了这块内存的旧值而已。)。java编译器会将未初始化变量视为错误,而C/C++编译器则将其视为警告

    喜欢 (0)or分享 (0)

    展开全文
  • 类的成员变量有默认初始值,而方法内的局部变量没有初始值。这个问题涉及到JVM类加载和字节码执行两个阶段,这两个阶段是依次执行的。 JVM类加载是JVM利用类加载器将class文件加载到JVM的过程,涉及“加载”、...
  • 成员变量有默认的初始值 像int a; a默认为0;而局部变量没有初始值 转载于:https://www.cnblogs.com/wan19890618123/p/10580963.html
  • 局部变量必须初始化方可使用...成员变量没有初始化,系统会进行初始化,所以没有这个问题。 类型 默认值 int 0 long 0 byte 0 short 0 double 0.0 float 0.0 boolean false String null ...
  • 成员变量有默认初始值,而方法内的局部变量没有初始值。这个问题涉及到JVM类加载和字节码执行两个阶段,这两个阶段是依次执行的。 JVM类加载是JVM利用类加载器将class文件加载到JVM的过程,涉及“加载”、“验证...
  • 关于全局变量与局部变量变量的初始化问题 局部变量 在Java的局部变量中,定义变量需要初始化,不然就会在调用的时候报错,无法被调用 // 定义变量 int a ; System.out.println(a); 他会报错变量未初始化; 虽然变量...
  • JAVA局部变量初始化

    千次阅读 2013-05-24 21:56:45
    JAVA局部变量初始化 (2011-05-29 12:02:37) 转载▼ 标签: 杂谈 分类: JAVA 在一个函数或代码块中定义的变量成为局部变量,java中的局部变量相当于C++中的局部动态变量,java没有C++中...
  • 1、成员变量成员变量有默认初始值,而方法内的局部变量没有初始值。这个问题涉及到JVM类加载和字节码执行两个阶段,这两个阶段是依次执行的。JVM类加载是JVM利用类加载器将class文件加载到JVM的过程,涉及“加载”...
  • 1、成员变量成员变量有默认初始值,而方法内的局部变量没有初始值。这个问题涉及到JVM类加载和字节码执行两个阶段,这两个阶段是依次执行的。JVM类加载是JVM利用类加载器将class文件加载到JVM的过程,涉及“加载”...
  • 大家都知道成员变量是有默认初始化值的,而局部变量调用前一定要先给它初始化,否则会报错。为什么会这样规范呢?见下面几句话。 类成员变量因为你在new一个对象时,分配了内存空间后会给所有的成员变量一次初始化...
  • 不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值public class Copy { static String s; public static void main(String[] args){ System.out.println("s="+s); } } s=null2.局部变量必须...
  • 静态局部变量初始化问题

    千次阅读 2014-03-13 03:14:10
    在C中对静态变量初始化必须使用常量,在C++中却可以使用变量初始...非静态的局部变量没有初始化时,该变量的值不确定,必须要赋值后才可以安全使用,所以最好初始化。   参考文章:http://www.myexception.cn/c/1402
  • 首先来看看什么是成员变量,什么是局部变量: 成员变量:定义在class的方法外部,属于特定的实例化...在java中成员变量不需要程序员显示的初始化就可以访问,因为java机制会默认初始化,而局部变量没有默认的初始化...
  • 全局变量:如果没有赋初值...局部变量,如果没有赋初值,输出随机数,#include <iostream>int f; double g; int hi[5];int main() { int i = 0; int a; double b,c; int d(100); int e = 101; int jk[5]; std::
  • 这里讲静态局部变量在编译赋初值,没有初值自动赋初植 0(对数值型交量)或空字符'\0'(对字符变量)。应该是在编译就分配了空间 在对生存期和作用域解释时又有这样的例子,如图 ![图片说明]...
  • java中局部变量没有初始值,运行时会直接报错:java: 可能尚未初始化变量a,就算打印了也无济于事,还会报错。要解决的方法是: 给a赋初始值。注意:java中的局部变量一定要赋初始值。编译运行后就会在控制台会出现...
  • 局部变量没有默认值:所以在使用前一定要初始化,要么声明时初始化,要么先声明后赋值(不管是否是final的): int a=9; int b; b=0;类的成员变量: 非final的变量 有默认的初始值,所以可以不显示的赋值 但...
  • 在Java中,如果是全局变量(也称类变量),没有初始化的话,会有一个初始默认值,默认值如下所示: 变量类型 默认值 int,byte,short,long ...但是如果是局部变量没有初始化,是不能直接调用的。 ...
  • Java 局部变量初始化问题

    千次阅读 2018-06-08 09:05:49
    但是 j 是方法中的局部变量没有初始化直接使用会出现编译错误。当然如果没有使用 j 而只是声明了却未初始化,那么只会有警告,因为编译器希望你接下来能对 j 进行初始化。   注意:boolean 类型默认值是 false....
  • 在类中定义的成员变量如果你没有初始化java会自动帮你初始化,如果变量是数字会自动初始化成 0,变量是字符会初始化成 'a', 变量是对象引用会初始化成 null, 变量是布尔型,则自动初始化成 false. 如果你定义的是以后...
  • 局部变量定义后,必须初始化,即赋值,才能使用(它没有默认值)。 而类变量定义后可以不初始化,因为它有默认值。 类变量(实例变量):定义在类中,方法体之外。成员变量前面加 static 修饰符。 局部变量:定义在...
  • 1. 区别 值类型的 局部变量必须初始化,成员变量声明时默认初始化。 也就是说,局部变量使用前,必须赋值。而成员变量 会默认赋值,不必须。 2.默认值是什么? 成员变量中里的,基本数值类型默认初始值为0,String等...
  • 小编典典从请参阅Java静态变量方法:它是一个属于类而不属于对象(实例)的变量静态变量在执行开始时仅初始化一次。...尽管不会自动初始化局部变量,但是在使用局部变量之前,你无法编译无法初始化局部变量或...
  • 方法里的局部变量3. 方法的参数 对于第一种变量,Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。int类型变量默认初始值为0float类型...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,469
精华内容 987
关键字:

局部变量没有初始化