大家好,今天来和各位聊聊Java的变量,常量,作用域
首先我们来讲变量:
我们要知道,所谓的变量是指可以标记内存当中的各种数据的记号
举个例子
可以将内存想象成一家旅馆,把存储的数据想象成住店的客人,服务人员根据你的条件,给你找到你要的房间,一个过程,就是数据存入内存的过程,在这个例子当中,变量就是你房间门牌号码
严肃的说法:
内存要完成对数据的存储,就要根据数据的类型,在内存当中给数据找一块空间放数据,并且要给这个空间起一个名字,他就是变量
我画个图,举例说明
变量也可以理解为:可以变化的量
Java是一种强类型语言,每一个每一个变量必须声明其类型
Java变量时程序中基本的存储单元,其要素包括变量名,变量类型和作用域
格式:
//数据类型 变量名 赋值,
有几个要注意的地方
1.每个变量名都有类型,类型可以是基本类型,也可以说是引用类型
2.变量名必须是合法的标识符
3.变量声明是一条完整的语句,因此每一个声明必须要以分号结束
看实际的代码
public class Demo05 {
public static void main(String[] args) {
//讲解java变量
//nt a,b,c;
//int a=1,b=2,c=3; //在一行当中,我们可以定义同时定义多个变量
//但是为了代码的可读性,不建议这样做
String name = "xuexi";
char x = '1'; //以char 为数据类型,自定义变量x,赋值1
double pk = 1.23;
}
}
关于变量还有一个作用域的概念:
变量是有作用范围(Scope)的,也即作用域。一旦超出变量的作用域,
就无法再使用这个变量。在程序中,变量一定会被定义在某一对大括号中,
该大括号所包含的代码区便是这个变量的作用域。
注意:超过了这个作用域,这个变量,就没有办法在使用了
作用域分三种:
1.类变量
2.实例变量
3.局部变量`
介绍作用域看代码:
public class Demo05 {
static int akl=0; //类变量
//在数据类型前面要加上 static
String str="hello,world";//实例变量 (较常规)
public void huj(){
int i=3; //局部变量,这是写在方法里的
}
}
在下面细讲
public class Demo06 {
public static void main(String[] args) {
//main 方法
int i ; //这是一个局部变量,
//这个代码是错的,因为局部变量后面必须要有具体的值
System.out.println(i);
}
}
改动如下
public class Demo06 {
public static void main(String[] args) {
//main 方法
int i =10 ; //给自定义变量i 赋值为10
//这段代码是对的
System.out.println(i);
}
}
接下来再来源码(实例变量)
public class Demo06 {
//属性:变量
//实例变量:从属于对象,如果不进行初始化,那这个类型的默认值为0
//布尔值:默认是false
//除了基本类型,其余的默认都是null;
String name;
int age;
//main 方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i =10;
System.out.println(i);
Demo06 demo06 = new Demo06();
System.out.println(demo06.age);
System.out.println(demo06.name);
}
//其它方法
public void add(){
}
}
下面展示他的执行效果
//类变量 static
static double salary =2500; //这里牵扯到数据类型转换的问题
//类变量从属于类
下面讲常量的概念
常量:初始化后不能在再改变的值,即:不会变动的值
所谓的常量可以理解为特殊的变量,它的值一旦被设定,在程序的运行过程,不允许被修改
基本格式:
final 常量名=值;
final double ui=2.8
展示实例源码
public class Demo07 {
static final double ui =3.12; //如果将static去掉,就不能用了
//static 和double两个位置可以调换,不影响
//修饰符不存在先后顺序
public static void main(String[] args) {
System.out.println(ui);
}
}
看执行效果
变量的命名规范:
1.所有的变量,方法,类名要能够见名知意,(看到就要知道它什么意思)
2.类成员变量,首字母小写和驼峰原则
3.常量,大写字母和下划线
4.类名:首字母大写和驼峰原则
5.方法名:首字母小写和驼峰原则