## 变量、常量、作用域
#### 变量
* 变量是什么:就是可以变化的量!
* Java是一种强类型语言,每个变量都必须声明其类型。
* Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和***作用域***。
```*java
type varName [=value] [{,varName[=value]}];//不建议在一行里面定义多个值,因为看起来会很麻烦
//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类型变量。
```
* 注意事项:
* 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
* 变量名必须是合法的标识符。
* 变量名声明是一条完整的语句,因此每一个声明都必须以分号结束。
## 变量作用域
* 类变量(写在类里面的)
* 实例变量(写在类中间)
* 局部变量(写到方法里面)
```java
public class Variable{
static int allClicks=0;//类变量
String str="hello world";//实例变量
public void method(){
int i=0;//局部变量
}
}
```
## 常量
* 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
* 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
```java
final 常量名=值;
final double PI=3.14;
```
* 常量名一般使用大写字符。
修饰符,不存在先后顺序
在程序中使用一些常量可以提高代码的可读性。
## 变量的命名规范
* 所有变量、方法、类名:见名知意
* 类成员变量:首字母小写和驼峰原则:monthSalary
* 局部变量:首字母小写和驼峰原则
* 常量:大写字母和下划线:MAX_VALUE
* 类名:首字母大写和驼峰原则:Man,GoodMan
* 方法名:首字母小写和驼峰原则:run(),runRun()
```java
package base;
public class Demo04 {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3;//这样写不好,尽量一行一行的写,避免一行定义多个值。
//程序可读性要让大家尽量看得懂
String name ="lph";//String是一个引用类型
char x='X';//格式:变量类型 变量名字 = '值'
double pi =3.14;
}
}
```
```java
package base;
public class Demo05 {
//属性:变量
//实例变量:从属于对象;可以理解为从属于一个类,它很高级.如果不自行初始化,然后就会变成这个类型的默认值。
//所有的数值类型初始化,一般是0 0.0 u00000
//布尔值:默认是false
//除了基本类型,其余的默认值都是null;
String name;
int age;
//类变量 static(关键字)从属于类
static double salary = 2500;
//main方法
public static void main(String[] args) {
//局部变量是在方法里面的;必须声明和初始化值
int i=10;
System.out.println(i);
// new一个Dome05,相当于把这类拿到了
//自定义类型也是引用类型
//格式:变量类型 变量名字=new Dome05();
Demo05 demo05 = new Demo05();
System.out.println(demo05.age);
//类变量 static(关键字)从属于类
System.out.println(salary);
}
//其它方法
public void add(){
System.out.println();
}
}
```