声明不是将“值”声明为变量,而是声明类型变量。

赋值只是将一个值存储到一个变量。

初始化是将值赋值给变量。在申报时.

这些定义也适用于字段。

int i;  // simple declaration

i = 42  // simple assignment

int[] arr = { 1, 2, 3 };

// declaration with initialization, allows special shorthand syntax for arrays

arr = { 4, 5, 6 }; // doesn't compile, special initializer syntax invalid here

arr = new int[] { 4, 5, 6 }; // simple assignment, compiles fine

但是,应该指出,“初始化”对于“变量的第一次赋值”也有一个更为宽松的定义,无论它发生在何处。

int i; // local variable declaration

if (something) i = 42;

System.out.println(i);

// compile time error: The local variable i may not have been initialized

然而,这汇编了:

int i; // the following also compiles if i were declared final

if (something) i = 42;

else i = 666;

System.out.println(i);

这里i可以通过简单的赋值从两个可能的位置“初始化”。因为这个,如果i是一个数组,您不能对此构造使用特殊的数组初始化器简写语法。

因此,基本上“初始化”有两个可能的定义,取决于上下文:

在最狭窄的形式下,这是一个任务与声明相结合的时候。

它允许,除其他外,特殊的数组速记初始化器语法。

更普遍的情况是,当第一次给变量赋值时。

它允许,除其他外,分配给final变量在多个地方。

编译器将尽最大努力确保这些分配中的一项能够发生,从而“初始化”final变量

还有JVM上下文类和实例初始化,OOP上下文对象初始化等。

声明 定义 java_Java:定义术语初始化、声明和分配相关推荐

  1. 【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )

    文章目录 一.结构体类型变量初始化 1.定义变量时进行初始化 2.定义普通结构体时声明变量并初始化 3.定义隐式结构体时声明变量并初始化 二.完整代码示例 一.结构体类型变量初始化 1.定义变量时进行 ...

  2. java 成员变量声明顺序_C++核心准则讨论:按照成员声明的顺序定义和初始化成员变量...

    Discussion: Define and initialize member variables in the order of member declaration 讨论:按照成员声明的顺序定义 ...

  3. 变量的声明、变量的定义、变量的初始化

    变量的声明:用于向程序表明变量的类型和名字. 变量的定义:用于为变量分配存储空间,还可以为变量指定初始值. 变量的初始化:为变量指定初始值. 广义上来说,变量的声明有两种情况: 1.需要建立存储空间的 ...

  4. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  5. 声明变量和定义变量的区别是什么?

    1.什么是定义,什么是声明 (1)在 C语言中,使用变量之前必须先定义变量.所谓定义变量,就是编译器创建了一个变量,为这个变量分配一块内存并命名(变量名).例如,定义整型变量 a. int a; 这条 ...

  6. C语言中变量声明和变量定义的区别

    本文转载至CSDN博客JeanCheng 变量声明和变量定义 变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定义. 变量声明:用于向程序表明变量的类型和名字. 定义也 ...

  7. 变量声明与变量定义的区别

    1.变量定义 1.1.第一种方式 int a           定义变量但不初始化 创建一个变量,为这个变量分配一块int数据类型所占内存空间大小的内存空间并命名 1.2.第二种方式 int a = ...

  8. 申明(声明)、定义及默认参数

    变量定义:用于为变量分配存储空间,还可为变量指定初始值.程序中,变量有且仅有一个定bai义. 变量声明:用于向程序表明变量的类型和名字. 区别: 定义也是声明,extern声明不是定义.定义分配存储空 ...

  9. JS基础篇--函数声明与定义,作用域,函数声明与表达式的区别

    Scoping & Hoisting 例: var a = 1;function foo() {if (!a) {var a = 2;}alert(a); };foo(); 上面这段代码在运行 ...

  10. java编写一个程序_计算已知长和宽的长方形的周长,请教一下大佬们,我们java留了一个作业,编写程序,定义一个接口Comput,声明计算周长和面积的方法...

    //编写程序,定义一个接口Compute,声明计算周长calgirth()和面积calarea ()的方法,然后定义一个长方形类RRect和圆类Circle,两个类都实现接口Compute,最后进行测 ...

最新文章

  1. mongodb拆库分表脚本
  2. golang runes 字符串 互转
  3. LeetCode - Search a 2D Matrix
  4. net与树莓派的情缘-安装与卸载MySql(五)
  5. java 标记_Java中的标记语句块?
  6. Eclipse 高清显示屏 图示太少
  7. 【Python:统一时间格式YYYY-MM-DD】时间数据、格式处理、并根据时间合并dataframe
  8. multisim中pwl_multisim元器件
  9. My God,CImage裁剪图片变成黑色了
  10. html轮播图背景色,轮播图的做法(更换背景颜色)
  11. JAVA GUI创作简易记牌器
  12. 【清晖诗社】“立秋” 诗意浓,佳作有奖征集ing!
  13. 二进制部署高可用Kubernetes v1.17.x
  14. 拼多多 果园api分析 拼多多 anticontent 解密
  15. Java Security(JCE基本概念)
  16. C 修改服务器代码,rpg c 游戏服务器代码大全
  17. java密码复杂度匹配规则
  18. 安装turtle-0.0.2 和 pyinstaller
  19. Generating project in Batch mode很慢问题
  20. 【单片机仿真项目】8×8 LED点阵图形显示

热门文章

  1. python安装pyqt5第三方_搭建pyqt5开发环境(python3+pycharm2019+pyqt5)
  2. linux任务调度语法,linux crond任务调度-Go语言中文社区
  3. hpux oracle9,oracle 9i,10G,11G,各版本下载资源
  4. 在日常办公能做什么_日常生活中电烤箱能烤制什么美食呢?
  5. docker 镜像加速
  6. 最真实的办公自动化案例!
  7. 对标 VS Code,JetBrains 的下一代 IDE :Fleet
  8. 3.2 亿人都在刷抖音,而优秀的人在看这些公众号
  9. java 找茬,找茬。解决方法
  10. aspectj表达式如何书写_化学平衡常数的表达式书写