`
yumingtao
  • 浏览: 20364 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

静态变量和各种类型的缺省值

    博客分类:
  • java
阅读更多
静态上下文中只能访问静态成员。static 函数只能访问 static 变量或 static 函数。

数字类型成员的缺省值是0,布尔型为false,对象引用唯一的缺省值类型是null
各种类型的缺省值:
boolean: false
byte: 0
char: ''
short: 0
int: 0
float:0.0
long: 0
double:0.0
Reference: null

局部变量在使用之前必须显式赋值才能使用,否则将会有编译错误。
由于局部变量使用的是栈内存,由于某些原因(主要是效率)虚拟机不能为栈上的变量设置默认值,所以局部变量需要显式赋初始值。
除局部变量以外的所有变量都是使用堆内存,由于在各种现代的机器上都可以很方便、快速地使大块内存初始化为相同的数值,比如可以将它初始化为 0,这个特性使得堆内存都可以由虚拟机赋初始值。由于在调用函数时,栈需要频繁地做出栈、入栈操作,若虚拟机要为各函数中的局部变量赋初始值的话会极大地影响效率,所以局部变量不可以从虚拟机得到这种好处。
分享到:
评论

相关推荐

    软件测试自动化静态分析研究1

    该表中记录了模块接口的形式参数的类型、排列顺序以及形式参数的缺省值,还记录了输出参数的类型。 在静态分析工具中,变量的检查是非常重要的一步。简单的实现方法是对变量的定义进行记录,对使用次数进行计数,这...

    Java面向对象教程设计.docx

    Java 面向对象教程设计的基本概念和要点包括变量的生命周期和作用域、静态变量、实例变量、局部变量、参数传递、final 变量、Object 类和访问控制符等。掌握这些概念和要点对于学习 Java 面向对象编程非常重要。

    雨田静态分析系统 v2.0.0官方版.zip

    A5下载站向大家推荐一款非常不错的静态分析工具软件——雨田静态分析系统。...4 解决了有缺省值参数的函数的定义分析不正确的问题 5 细化了函数调用的实参的变量分析(以前是单一处理为引用) 雨田静态分析系统截图

    Java语言基础入门教程 Java实训教程 2.java简单知识 共100页.pptx

    Java是一种静态类型语言,这意味着变量必须在编译时声明其类型。Java中的数据类型主要分为两大类:**原始类型**和**引用类型**。 #### 原始类型 原始类型是指直接存储值的基本数据类型。Java中有八种原始类型: 1...

    C语言题库-函数[参照].pdf

    在C语言中,函数是程序的...以上内容详尽解析了C语言中关于函数的各种知识点,包括函数类型、定义、调用、参数传递、局部和全局变量、静态变量的作用及生命周期等。理解并掌握这些知识点对于进行C语言编程至关重要。

    2007级《C++程序设计》期中试题.txt

    3. **成员变量的缺省值**:类的成员变量可以有缺省值,在没有显式初始化的情况下,它们将采用这些缺省值。 4. **构造函数与析构函数的作用**:构造函数用于初始化对象,而析构函数则在对象生命周期结束时执行清理...

    [二级C语言考试]用户标识符的作用域和存储类[参考].pdf

    (1)题中涉及了局部静态变量的特性,每次进入if/else分支,静态变量a会被重新赋值,但t会累加之前的值。因此,答案是C) 29。 (2)选项A是正确的,局部变量用static声明后,其生命周期将延长至整个函数调用。 (3...

    C#语言基础 计算机世界

    **缺省值**:每种数据类型都有其默认值。对于数值类型来说,默认值通常是0或0.0;`char`类型默认值为`\x0000`;布尔类型的默认值为`false`;枚举类型的默认值为0;结构类型的默认值则是将其所有值类型的域设置为其...

    微软中国C#入门PPT

    * 缺省值:Null、零值化 * 引用拷贝、值拷贝和变量地址 预定义类型: * 引用类型:object, string * 有符号的整数:sbyte, short, int, long * 无符号的整数:byte, ushort, uint, ulong * 浮点数:float, double,...

    Java语言基础入门教程 Java实训教程 4.类构造函数-this-静态属性方法-instanceof运算符共55页.pptx

    - 一种特殊的代码块,用于在类加载时初始化静态变量。 - 使用`static`关键字声明。 #### 五、`instanceof`运算符 `instanceof`是一个二元运算符,用于测试对象是否为特定类或其子类的实例。 - **基本语法**: -...

    C++ 算法 面试题 面试专用

    - 全局变量、静态变量初始化为缺省值。 #### 常量存储区(Constant Storage) - **定义**:专门用于存储常量字符串。 - **用途**:存放不可更改的数据。 - **特点**:程序结束后由系统释放。 #### 程序代码区...

    C语言习题集合(函数).doc

    16. **存储区域**:函数形参变量、局部自动变量和函数调用时的现场保护及返回地址存放在动态存储区,而局部静态变量则存储在静态存储区。 17. **函数调用**:自动变量在每次函数调用时都会重新分配并赋值,形参和...

    Java基础知识及面试题.pdf

    类的成员变量包括静态成员变量和实例成员变量,局部变量从栈区弹出结束,局部变量在使用前必须初始化。 13. 数组和集合框架 数组是一个指向数组的引用对象,集合框架包括 Iterator 也是一个迭代器接口。

    JAVA基础知识学习技巧总结.pdf

    4. **`char`的缺省值**:未赋值的`char`变量的默认值是ASCII码中的第一个字符,即'\u0000'。 5. **效率比较**:在循环中,`i++`通常比`i+=1`和`i=i+1`更快,因为它只需要修改一次变量。 6. **布尔值比较**:布尔值...

    计算机二级(VC++)考试大纲.pdf

    数据类型、表达式和基本运算方面,考生需要掌握C++中的各种数据类型(如基本类型、指针类型),常量定义,变量的定义与初始化,以及运算符的种类、优先级和结合性。此外,还需熟练处理各种类型的表达式,如赋值运算...

    高级语言程序设计考试大纲.doc

    * 变量的作用域、生存周期和存储类别(自动,静态,寄存器,外部) * 递归函数 * 函数重载 * 内联函数 * 带有缺省参数值的函数 七、类和对象 * 掌握类的定义方法 * 掌握类的成员变量和成员函数 * 掌握类的继承、...

    java基础学习笔记(易错点,易混点).doc

    12. **程序执行顺序**:方法内的代码按顺序执行,静态代码块按顺序执行,静态变量初始化在静态代码块之前。 13. **构造方法调用**:`this()`和`super()`必须在构造方法的第一行,分别用于调用同一类的其他构造方法...

    (完整word版)C语言简答题答案.doc

    4. 对基本类型的静态局部变量若在说明未赋予初值,则系统自动赋予0值。 外部型(extern)的特点: 1. 外部型变量和全局变量是对同一类变量的两种不同角度的提法。 2. 全局变量是从它的作用域提出,外部变量是从它...

    C++和面向对象数值计算

    2.1.1 局部变量和全局变量 2.1.2 外部变量和寄存器变量 2.2 表达式 2.2.1 算术表达式 .2.2.2 关系表达式 2.2.3 逻辑表达式 2.2.4 位运算表达式 2.2.5 逗号表达式 2.3 语句 2.3.1 声明和...

Global site tag (gtag.js) - Google Analytics