一、什么是字面量
在Java语言中,“数据”被称为”字面量“。
字面量有以下类型:
整型字面量:10 100 123 -23
浮点型字面量:1.34 3.14 2.0
布尔型字面量:true false
字符型字面量:‘a’ ‘国’
字符串型字面量:“a” “abc” “国” “中国”
空字面量:null
其中,字符型和字符串型都是描述现实世界中的文字。字符用单引号括起来,字符串用双引号括起来。
区分字符型和字符串型看是用单引号还是双引号括起来
二、什么是变量
在没有使用变量机制时,当我们要输出多个相同的数据即字面量10时,内存会开辟相同的多个空间,这样会浪费内存空间。因此光有字面量机制是不够的,所以引入变量机制,对一个字面量命名,这样如果要对一个数字重复输出,只要输出该变量就可以了,节省内存空间。
变量是存储数据的,而且数据是可变的,是内存中最基本的存储单元,存储大小由数据类型决定。
三、变量的使用
- 变量的三要素:数据类型、变量名、值(值就是数据,就是字面量)如:int i = 100;
- java中的变量必须先声明,再赋值才能访问(必须手动赋值)
int k; System.out.println(k); 这样是不行的。 - 数据类型作用:不同数据类型,在内存中分配的空间大小不相同。JVM会根据数据类型来分配内存空间。
- 可以在一行上声明多个变量:
int a, b, c = 100;
c变量赋值100,a,b变量只声明了没有赋值。
int a = 10, b = 20, c = 100;
可以这样每个都赋值。 - 同一个域中变量名不能重复声明
- 与类型无关变量名不能重复
- 变量的分类:
变量根据出现的位置进行分类:
在方法体之中声明的变量是局部变量;
在方法体之外声明的变量是成员变量。
- 变量的作用域
作用域是变量的有效范围,变量只在其作用域中起作用。出了作用域内存就自动释放了。
不同作用域中可以定义名字相同的变量。
- Java语言中有一条重要原则:就近原则。哪个近就访问哪个。
四、知识拓展
运算符 “=” 右边为字面量,左边为变量。
如:int i = 10; // i为变量
int name = 张三;// 错误,等号右边为字面量,而张三不是字面量,编译报错。
int name = “张三”;// 错误,类型不兼容,等号右边为字符串型字面量,而name变量类型为整型。