网站首页 > 基础教程 正文
顾名思义,常量就是在程序运行过程中,其值不会发生改变的量;变量则是在程序运行过程中其值可以发生改变的量。常量比较好理解,这里着重讲变量,而变量的主要作用就是取值和修改值。
首先我将书上对变量的解释写一下:
计算机的内存类似于人类的大脑,计算机使用内存来记忆大量运算时要使用的数据。内存是一个物理设备,如何存储数据呢?很简单,把内存想象成一个旅馆,要存储的数据就好比要住宿的客人,试想一下去旅馆住宿的场景。首先,旅馆的服务人员会询问要住什么样的房子,如单人间,双人间,总统套房;然后选择的房间类型,服务员会安排一个合适的房间。“先开房间,后入住”就描述了数据存入内存的过程。首先,根据数据的类型为它在内存中分配一个空间(即找一个合适的房间),然后数据就可以放进这块空间中(即入住)。那么数据为什么对存储空间有要求呢?试想有三个客人,服务员安排了一个单人间,这能入住吗?分配的空间过小会导致数据无法存储。对比变量与房间的关系如下图所示:
以上是书上对变量的解释,我个人理解一个完整的变量由三个部分组成,变量名,变量类型和变量值。先给你想要进行的数据定义好类型并按照你定义的类型储存入内存,当你后面需要用到的时候再调用。如图所示:
int就是变量的类型,a就是变量名,10就是变量的值,而后面a=20则是对变量进行修改。
说到存储就要说到存储单元,计算机存储设备的最小信息单元叫是“bit”,通常用“b”表示,而计算机最小的存储单元是“字节(byte)”,通常用“B”表示。而一个字母和数字是1个字节,一个汉字则是2个字节。常见的换算公式是这样的:
1B(字节)=8b
1Kb=1024b=128B
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
JAVA中常见的数据类型分为基本数据类型和引用数据类型:
基本数据类型包含数值型和非数值型,数值型中包含整型(byte,short,int,long,默认用的是int),浮点型(float,double,默认用的是double),字符类型(char),非数值型只有布尔类型,只有true和false两个数值。
引用数据类型包括字符串(string),类(class),接口(interface)和数组([ ]),这些会在后面涉及到,目前引入数据类型的话,只有字符串会用的比较多。
下面是数据类型内存占用和取值范围,大家可以参考一下:
- 上一篇: JAVA反射机制详解,一学就会
- 下一篇: Java泛型全方位剖析:从入门到精通的完整指南(上篇)
猜你喜欢
- 2025-03-13 python:python与java语法的异同之处
- 2025-03-13 Java 性能优化的 50 个细节(珍藏版)
- 2025-03-13 详解Java泛型之4——一个例子理解泛型带来的好处
- 2025-03-13 几道小小的题目一起和大家更进一步的了解 Java (1)
- 2025-03-13 C++语言的单元测试与代码覆盖率
- 2025-03-13 java互联网架构师,教你学java基本的程序设计结构:大数值+数组
- 2025-03-13 三十六、Java包装类
- 2025-03-13 Java泛型全方位剖析:从入门到精通的完整指南(上篇)
- 2025-03-13 JAVA反射机制详解,一学就会
- 2025-03-13 Java这个高级特性,很多人还没用过
- 最近发表
-
- 掌握SpringBoot-2.3的容器探针:实战篇
- kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- Linux环境中制作网络哨兵Sentinel Docker镜像
- k8s之配置CNI网络(k8s 网络配置)
- docker实战之:镜像更新(docker 镜像升级替换)
- 离线在docker镜像方式部署ragflow0.17.2
- Linux日常小技巧Docker打包(docker打包lnmp)
- 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- Kylin安装Dify(kylin安装部署)
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)