Java的字面量
字面量就是数据/数值,例如:1234,true,”abc”,’中’,3.14。软件其实就是为了解决现实生活当中的问题,解决生活当中的问题其实就是处理生活当中的数据,所以一门编程语言首先要能够表示数据,通过字面量就可以表示数据。
在编程语言中数据一般会被分门别类,所以每个数据都是有数据类型的,不同的数据类型会分配不同的内存空间去存储它,数据通常被分为:整数型、浮点型、字符型、布尔型、字符串型等。
整数型(数字):1、2、100、-2
浮点型(数字,带小数):1.0、2.0、3.14
字符型(文字,单个字符):’a’、’中’
布尔型(真假):true、false
字符串型(文字,多个字符):”你好呀”
注意:java中规定字符型字面量必须采用半角的单引号括起来,而字符串型字面量必须使用半角双引号括起来。
Java变量介绍
变量是内存当中存储数据最基本的单元,将字面量(数据/数值)放到内存当中,给这块内存空间起一个名字,这就是变量。所以变量就是内存当中的一块空间,这块空间有名字、有类型、有值,这也是变量必须具备的三要素。
例如下图:
上图中a、c、pi、sex是4个变量的名字,13、’好’、3.14、true是4个变量中分别存储的数据(字面量),int、char、double、boolean是4个变量分别对应的数据类型。
数据类型在任何一门编程语言当中都很重要,因为程序在运行的过程中会通过不同的数据类型给数据分配不同大小的空间。有的数据类型占用的空间较小,但有的数据类型占用的空间就会很大。
变量要求“变量的数据类型”和变量中存储的“数据(字面量)”必须类型是一致的,例如:int类型就只能存下4个字节大小的整数,再长一点儿放不下,比如long类型的整数占有8个字节,这样的数据肯定是无法放到int类型的变量当中的。
所谓变量:可变化的量。它的意思是变量中存储的数据不是一成不变的,是可以被改变的,假设变量i中之前存储的数据是10,我们可以将10换成100,变量就是这个意思。
Java中变量的使用
声明变量的语法格式为:数据类型 变量名; //例如:int i;
赋值的语法格式:变量名 = 字面量; //字面量就是值
语法中要求“字面量”和“变量的数据类型”一致,不然会出现类型不兼容的错误信息。以上语法当中的“=”是一种运算符,它被称为赋值运算符,赋值运算符右边的表达式优先级较高,也就是说等号右边先执行,将执行结果赋给左边的变量。(注意:java语言中的单等号不是用来判断是否相等的,是为了完成赋值运算。)
在同一个大括号当中,可以声明两个同名的变量吗?不可以的,在同一个大括号当中表示在内存的同一个域当中,在同一块区域上面有两个名字都叫做a的变量,这是不允许的,因为这样程序在运行的时候,java虚拟机也不知道该访问哪个变量了。所以,同一个域中变量名不能重名,但是记住:变量是可以重新赋值的。
1.变量赋值之后可以重新赋值
2.变量的声明和赋值可以在一行代码上完成
3.在一行上可以同时声明多个变量
Java变量的分类
变量根据声明的位置不同可以分为:局部变量和成员变量。
在方法体当中声明的变量以及方法的每一个参数变量都是局部变量。
在方法体外,类体内声明的变量称为成员变量,成员变量声明时如果使用static关键字修饰的称为静态成员变量(简称静态变量),如果没有static关键字修饰则称为实例成员变量(简称实例变量)
public class Test{
//实例变量(成员变量)
int x = 20;
//静态变量(成员变量)
static int y = 200;
//方法:int a,int b都是局部变量
public static void sum(int a, int b){
//局部变量
int firstNum = 100;
}
}
局部变量只在方法体当中有效,方法开始执行的时候局部变量的内存才会被分配,当方法执行结束之后,局部变量的内存就释放了。
Java变量的作用域
所谓变量的作用域就是变量的有效范围。通过后面内容的学习大家会更加明白,实际上局部变量、实例变量、静态变量它们存储在Java虚拟机的不同内存区域上,所以变量是有作用域的。
方法体当中的代码是有执行顺序的,遵循自上而下的顺序依次逐行执行,变量在没有声明的时候是不能访问的,需要先声明,接下来才能访问。
java是遵循就近原则的,在类体当中有i变量,在main方法中声明了i变量,那么在main方法中一定访问离自己最近的变量,也就是就近取材,这就是就近原则,几乎所有的编程语言都是这样的。