精华内容
下载资源
问答
  • 请问定义个数组变量作为Java中的局部变量,没有初始化怎么可以编译通过int[]a=newint[5];...答:java里面的int数组是有初始值的 如果未对数组赋值 String数组中的每个元素的值为null int数组中的每个元素的值为0 ...

    请问定义个数组变量作为Java中的局部变量,没有初始化怎么可以编译通过int[]a=newint[5];打印a[0]结果为0这是为何,不是局部变量一定要初始化么,不会默认初始化的吗?

    答:java里面的int数组是有初始值的
    如果未对数组赋值
    String数组中的每个元素的值为null
    int数组中的每个元素的值为0

    展开全文
  • 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

    展开全文
  • 如果在定义变量后没有给它们赋初始值,那么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)

    展开全文
  • c语言局部变量默认初始值

    千次阅读 多人点赞 2018-04-09 15:29:48
    C语言中,定义局部变量时如果未初始化,则是随机的,这是为什么呢?定义局部变量,其实就是在栈中通过移动栈指针来给程序提供一个内存空间和这个局部变量名绑定。因为这段内存空间在栈上,而栈内存是反复使用的...

    C语言中,定义局部变量时如果未初始化,则值是随机的,这是为什么呢?

    定义局部变量,其实就是在栈中通过移动栈指针来给程序提供一个内存空间和这个局部变量名绑定。因为这段内存空间在栈上,而栈内存是反复使用的(脏的,上次用完没清零的),所以说使用栈来实现的局部变量定义时如果不显式初始化,值就是脏的。

    c语言中只有局部变量在未赋初值时,才是随机数,全局变量和静态变量未赋初值时编译器会自动将其初始化为0。局部变量是分配在堆栈上的,而全局变量和静态变量是分配在数据段中的。这个跟程序的内存分配是有关系的。

    展开全文
  • 全局变量和局部变量初始化问题

    千次阅读 2019-08-23 16:08:42
    总结 ...因为全局变量初始值是系统默认的且是可使用的,因此,全局变量一般不需要自己去赋初值,不过为了养成良好的代码习惯,最好还是赋初值,定义的全局变量在代码中未被使用,编译器也不...
  • java中局部变量没有初始值,运行时会直接报错:java: 可能尚未初始化变量a,就算打印了也无济于事,还会报错。要解决的方法是: 给a赋初始值。注意:java中的局部变量一定要赋初始值。编译运行后就会在控制台会出现...
  • 局部变量初始化是随机 如下面一段代码,全局变量,将src复制n个字符到dst 1 #include<stdio.h> 2 void copy_n(char dst[],char src[],int n);//函数原型 3 char src[20]; 4 char dst[20]; 5 ...
  • 全局变量:0 局部变量:Unknown 无论数组还是单一变量都是一样。 转载于:https://www.cnblogs.com/cmyg/p/9985565.html
  • java 中局部变量初始值 1、局部变量声明时,如果没有初始化,就没有默认值;因此在使用局部变量之前,要事先为其赋值。 2、 当对象调用类中的一个方法时,方法中的局部变量就被分配内存空间,方法执行完毕,...
  • 局部变量和成员变量的初始值问题

    千次阅读 2018-12-13 10:23:45
    局部变量,必须显示给予一个初始值,否则编译无法通过。大家在学习的时候,一般是直接把这个结论直接记下,很少去考虑原因。 所以,这是为什么呢? 比如 在局部变量中,必然是先声明一个变量,再进行赋值。于是...
  • java成员变量和局部变量的默认值问题。
  • (2)如果全局变量在定义时不初始化则初始值是0,如果局部变量在定义时不初始化则初始值是不确定的。 所以,局部变量在使用之前一定要先赋值,如果基于一个不确定的值做后续计算肯定会引入Bug。 参考:<Linux ....
  • 如上图所示, 1、全局int变量(包括有static前缀的)未初始化,默认值是0。 2、局部int变量未初始化,默认值未知。...解释:局部变量是存在栈中,数据量大,且生命周期短,若为局部变量进行初始化,开销很大。 ...
  • Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会。对于成员变量 int a; // a的初始值为0如下例中的成员变量a,b,c,dpublic class VariableInitialValue {public static void main(String args[]) {...
  • Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会。对于成员变量 int a; // a的初始值为0如下例中的成员变量a,b,c,dpublic class VariableInitialValue {public static void main(String args[]) {...
  • 成员变量:当系统加载类或创建类的实例时,系统会自动为成员变量分配内存空间,并在分配内存空间后,自动为成员变量指定初始值。eyeNum是类属性。name是实例属性所有person实例访问eyeNum都将访问person类的eyeNum...
  • 类成员变量: 1 class Person{ 2 private String name;//private final String name; 3 private int age; 4 public String getName() { 5 return name; 6 } 7 public void setName
  • C语言局部变量默认初始值

    千次阅读 2019-07-10 22:38:34
    因为这段内存空间在栈上,而栈内存是反复使用的(脏的,上次用完没清零的),所以说使用栈来实现的局部变量定义时如果不显式初始化,就是脏的。 c语言中只有局部变量在未赋初值时,才是随机数,全局变量和静态变量...
  • 域和局部变量初始值

    千次阅读 2012-05-17 09:22:37
    -- Start 如果沒有显示给域赋初值, 那么它... 值得注意的是我们在使用局部变量之前, 必须明确的初始局部变量, 否则编译会报错. private byte b; private short s; private int i; private long l; private flo
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 类成员变量: 1 class Person{ 2 private String name;//private final String name; 3 private int age; 4 public String getName() { 5 return name; 6 } 7 public void se...
  • 局部变量没有默认值:所以在使用前一定要初始化,要么声明时初始化,要么先声明后赋值(不管是否是final的): int a=9; int b; b=0;类的成员变量: 非final的变量 有默认的初始值,所以可以不显示的赋值 但...
  • 在C语言中的全局变量和静态变量都是会自动初始化为0,堆和栈中的局部变量不会初始化而拥有不可预测的。 C++保证了所有对象与对象成员都会初始化,但其中基本数据类型的初始化还得依赖于构造函数。 下文来详细探讨C...
  • 为什么必须始终在Java中初始局部变量(包括基元)?为什么必须始终在Java中初始局部变量(包括基元)? 为什么相同的实例变量不适用?8个解决方案66 votes基本上,要求在读取变量之前为其分配是一件好事。 这意味...
  • 一般来说,C++ 有三个地方可以声明变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。 在所有函数外部声明的变量,称为全局变量...1.局部变量和全局变量的初始
  • java数据类型默认初始值理解 默认初始化值为当定义一个数据时,没有给它初值系统默认赋予的初值 基本类型数据类型初始值(默认值) 1.int定义的数和数组: 0 2.String 定义的数组: null 3.char类型定义 : 0 4....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,140
精华内容 2,456
关键字:

局部变量初始值