变量的 声明、存放与作用域

变量声明

终极基类。java中所有的类最终都继承自单一的基类——Object。

向上转型:子类转换为基类。向下转型与之相反。

String str; //只是创建引用,并没有创建对象。

变量存放

寄存器

c++可以向编译器建议变量存放在寄存器中。而java不能。

栈(一些书称为“堆栈”)

位于内存中。创建的引用位于栈中。

位于内存中。java所有对象都存在这里。

代码段

代码与常量。

非RAM(即内存)

基本的例子是 流对象 和 持久化对象。在流对象中,对象转化成字节流,通常被发送给另外一台机器。在持久化对象中,对象被存放在磁盘上,因此即便程序终止,对象仍可以保持自己的状态。

基本类型

用 new 创建容量小的、简单的变量效率不是很高。因此对于int char float等基本类型,java与c采用相同方法,不使用“new”来创建,存放于栈中。

java中基本类型所占字节大小不随硬件不同而不同,故更具有可移植性。

java元素类型 所占字节 包装器类型
boolean - Boolean
void - Void
byte 1 Byte
char 2 Character
short 2 Short
int 4 Integer
float 4 Float
long 8 Long
double 8 Double

基本类型对应的包装器类,使得可以在堆中创建一个非基本对象。用来表示对应的基本类型。

所有数值类型都是有符号的。

高精度数字

BingInteger 和 BigDecimal。

数组

C中为了提高运行效率,不检查数组下标越界,程序就可以跑得快。

java永远都做越界检查。

作用域

C++中,变量作用域由花括号的位置决定。java与此既有联系又有区别。

相同之处:变量作用域由花括号的位置决定。

不同之处:

时间: 2024-08-02 15:02:08

变量的 声明、存放与作用域的相关文章

变量的声明及其作用域、脚本、修改环境变量$PATH【:VALUE】

变量的声明及其作用域 本地变量 VARNAME=VALUE:作用域为整个bash进程[打开新的shell进程,没有该变量] [root@jiakang a]# A=123 [root@jiakang a]# bash [root@jiakang a]# echo $A [root@jiakang a]# 局部变量 local VARNAME=VALUE:作用域为当前代码段 环境变量 作用域为当前shell及其子进程[打开一个shell就是一个进程] export VARNAME=VALUE或者

javascript 变量(函数)声明 和 变量(函数)作用域

变量的声明 1.变量声明具有提升机制,Javascript在执行时,会把所有的声明都提升到当前作用域前面. 2.局部变量的优先级高于全局变量,或者说内围作用域的变量优先级高于外围的作用域 先看一下下面的例子:

3.Java变量的声明、初始化和作用域

一.Java变量的声明 在 Java 程序设计中,每个声明的变量都必须分配一个类型.声明一个变量时,应该先声明变量的类型,随后再声明变量的名字.下面演示了变量的声明方式.     double salary;     int age;     Boolean op; 其中第一项称为变量类型,第二项称为变量名.分号是必须的,这是 Java 语句的结束符号. 同一类型的不同变量,可以声明在一行,也可以声明在不同行,如果要声明在同一行中,不同的变量之间用逗号分隔,例如下面的例子.     int st

25.函数例题-预解析 作用域 、函数变量优先级、全局变量污染(直接在全局声明 、 函数里的变量没声明)但是函数里的变量没声明造成的全局变量污染有个前提,函数要被调用)

1.  return foo()   foo 没有return值,故为undefined.   2.      a b 在函数作用域内,外界找不到   var a = b =3; b 也算用var 声明了,只不过b 是在全局隐式var 了一个b ,在函数内部找不到变量的情况下就去全局找,全局找不到报错.    语法有错误,程序一句都不会执行,执行阶段有错误,会执行没错的代码,在执行出错的地方报错.  函数或则匿名函数体内声明变量是为了避免全局变量污染 重要例题:  函数没执行,全局没找到 b报错

《编程导论(Java)·2.2.3 变量的声明模型》

PL4 声明模型(绑定.可见性.作用域和生命期) 1. 变量的含义 在编程语言的教学中,yqj2065经常困惑:是否应该使用比喻--例如将变量比喻成数学中的变量概念.不知道从哪位老先生开始,有这样的说法:"不同于常量,变量的值是可以改变的".如果你是我的学生,也这样说,嗯,你过来,我保证不打死你. 在汇编语言中,程序员就开始使用变量例如AX.BX以表示操作数的存放地址,而该地址中保存实际的值.变量(variable)表示一个存储场所,是源代码中保存值的符号化地址. 请记住变量和值的区别

2、变量的声明与定义&内部函数和外部函数

[3]变量的声明与定义 对于函数.声明部分是对有关标识符(变量.函数.结构体)的属性进行声明:函数的声明是函数的原型,而函数的定义是对函数功能的定义.对被调函数的声明是放在主调函数的声明部分,而函数的定义显然不在声明部分的范围内,是独立模块! 对于变量.在声明部分出现的变量有两种情况:需要建立存储空间的(int a;),不需要简历存储空间的(extern a;)前者称定义性声明:后者称引用性声明: [4]内部函数和外部函数 有的函数只能被本文件中的其他函数调用,不能被其他文件中的函数调用:有的只

生命周期,作用域的定义;说明全局变量、静态变量、局部变量、const变量的生命周期、作用域

生命周期,作用域的定义:说明全局变量.静态变量.局部变量.const变量的生命周期.作用域: 生命周期:是一个变量存在的周期. 作用域:是一个变量可以被引用的范围.最常见的如:{}.static修饰符等等. 1)全局变量: 作用域:全局作用域(只需要在一个源文件中定义,就可以作用于所有的源文件): 生命周期:程序运行期一直存在: 引用方法:其他文件如果要使用,必须用extern 关键字声明要引用的全局变量: 内存分布:全局(静态存储区). 注意:如果再两个文件中都定义了相同名字的全局变量,则连接

Java变量常量声明和定义

一.常量和变量 1.常量变量定义 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改变,这些数据在程序中分别被叫做变量和常量. 2.变量举例: 在水果分类中,需要有一个水果篮来存放不同的水果,那在运行的过程中,这个水果篮的值会发生变化. 3.常量举例 代表常数,便于程序的修改(例如:圆周率的值)增强程序的可读性(例如:常量UP.DWON.LEFT和RIGHT分别代表上下左右,其数值分别是1.2.3和4).在实际的程序中,可以根

C++变量的存储类别与作用域

总结一下C++中变量的存储类别以及变量的作用域. (1)标示符的存储类别决定了标示符在内存中存在的时间(我们可以理解标示符就是确定一个变量的符号,也就是我们所说的变量名) 二:存储类别 (1)静态存储类别:静态存数类别变量(我们简称静态变量),从程序的开始处就存在,其生命期伴随整个程序. (2)自动存储类别:当变量时自动存储类别时,变量在进入到定义它们的程序快时定义它,在离开它们所在的程序块(作用域)时销毁它,因此成为自动变量.其中关键字auto和register用来声明自动类型的变量, 三:自

javascript中的函数式声明与变量式声明

观察下面两段代码,试写出hello('word');的运行结果: // 变量式声明 function hello(msg){ alert(msg); var msg = function(){}; alert(msg); } //函数式声明 function hello(msg){ alert(msg); function msg (){}; alert(msg); } 对于变量式声明,首先弹出word,然后弹出function,而函数式声明,则两次都是弹出function.这是为什么呢? 一: