字面量与变量及二者之间的区别(详解)
2020-08-07 23:26
363 查看
初学笔记(十一)
什么是变量?
变量是内存当中存储数据的最基本的单元。
变量中的三要素
- 变量的数据类型
- 变量的名字
- 变量中保存的值
类型+名字+值:类型决定空间的大小。
名字是为了以后方便访问。(以后在程序中访问这个数据是通过名称来访问的)
值是变量保存的数据。
变量怎么声明/定义?语法格式是什么?
什么是字面量?
我们开发软件是为了解决现实世界中的问题,而现实世界当中,有很多问题都是使用数据进行表述的。所以软件执行过程中最重要的就是对数据的处理。
软件在处理数据之前需要能够标识数据。在Java代码中,就用“字面量”来标识数据。
字面量的类型
字面量可以分为很多类:
- 整数型字面量:1 2 3 100 -100......
- 浮点型字面量:1.3 1.2 1.1 4.6 7.8......
- 布尔型字面量:ture false(只有这两个,表示真假,ture标识真,false表示假)
- 字符型字面量:’a’ 'b' ’中'
- 字符串型字面量:“abc” “中国”
注:所有的字符型字面量要使用单引号括起来。
所有字符串型字面量要使用双引号括起来。
字符型一定是单个字符才能成为“字符型”
在语法上怎么区分字符型和字符串型?
主要看是双引号还是单引号,单引号的一定是字符型,双引号的一定是字符串型。
单个字符加单引号是字符型,加双引号是字符串型;多字符只能加双引号。
补充:
自面量与变量的区别?
变量可以用来保存字面量。相较于字面量,变量机制更方便快捷。
如果只有字面量,没有变量机制的话,有什么问题?
举个例子:10 是一个整数型数据,在内存中占有一定的空间(CPU 内存 硬盘)
10 + 20 = 30
计算机要运行这个计算,要现在内存中找一块空间存储 10 ,再找一块空间存储 20 ,CPU扶着“+”运算。算完之后,计算结果为30,那么这个三十也会在内存中找到一块临时的空间存储器起来。
思考:以下的三个 10 在内存中是占用一块空间还是三块不同的空间?
以下虽然都是10,但是这3个10占用三块不同的内存空间。
只有“字面量”机制的话,是远远不够的,因为只有字面量内存是无法重复利用的。
以下这5次访问都是访问的同一块内存空间。
这样使用变量之后,内存空间就得到了复用。
注:
相关文章推荐
- 解释字面量、常量和变量之间的区别
- 字面量、常量和变量之间的区别
- 字面量,常量和变量之间的区别?
- 解释符号引用、字面量、常量和变量之间的区别
- struts2中的跳转详解 ----“请求转发”和“重定向”之间的区别
- 详解变量声明加 var 和不加 var 的区别
- postman中的变量(环境变量、全局变量、动态变量、数据变量之间区别)
- VC中CDC与HDC的区别以及二者之间的转换
- 多态-成员变量-成员函数-静态函数 之间的注意点与区别
- VC中CDC与HDC的区别以及二者之间的转换
- struts2中的跳转详解 ----“请求转发”和“重定向”之间的区别
- 实例详解$_SERVER函数中QUERY_STRING和REQUEST_URI等四个变量区别
- php 时间time与日期date之间的使用详解及区别
- -----String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
- Bagging,Boosting二者之间的区别
- 三个可以对字符串编码的函数escape()、encodeURI()、encodeURIComponent()之间的区别详解
- js变量声明var使用与不使用的区别详解
- 【转】struts2中的跳转详解 ----“请求转发”和“重定向”之间的区别
- JS函数动作分层结构详解及Document.getElementById 释义 js及cs数据类型区别 事件 函数 变量 script标签 var function
- 详解su、sudo和root之间的区别