# 变量,常量,作用域
## 变量
1. 每个变量都必须声明其类型
2. 变量是程序中最基本的存储单位,其要素包括,变量类型和作用域
```java
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量
```
**注意**
。每个变量都有类型,***类型可以是基本类型,也可以是引用类型***
。 变量名必须是合法的标识符
。 变量名声明是一条完整的语句,因此每一个声明都必须 以分号结束
```java
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3;//程序可读性
String name = "张三";
char x ='x';
double pi = 3.14;
```
## 变量作用域
1. 类变量 **关键词: static**
2. 实例变量
3. 局部变量
```java
public class Variable{
static int allClick = 0;// 类变量
String str ="hello,world";// 实例变量
public void method (){
int i = 0;//局部变量
}
}
```
4. 例题:
```java
public class Demo07 {
//类变量 static
static double salary =2500;
//属性:变量
//实例变量:从属于对象: 如果不自行初始化;这个类型的默认值 0 0.0
//布尔值:默认值是false
//除了基本类型,其余类型的默认值都是null;
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量; 必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo08();
Demo07 demo07 = new Demo07();
System.out.println(demo07.age);
System.out.println(demo07.name);
//类变量 static
System.out.println(salary);
}
```
## 常量
1. 初始化后不能改变值!不会变动的值
2. 是一种特殊的变量,他的值被设定后,在程序运行的过程中不允许被改变
***final 常量名 =值***
***final double PI = 3.14;***
3. 常量名一般用大写字符
4. 例题
```java
public class Demo8 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
public static void main(String[] args){
System.out.println(PI);
```
## 变量的命名规范
1. 所有变量,方法,类名:**见字知意**
2. 类成员变量:首字母小写和驼峰原则
***除了第一个单词以外,后面的单词首字母大写 如:laseName***
3. 局部变量:首字母小写和驼峰原则
4. 常量: 大小写字母和下划线 ***MAX_VALUE***
5. 类名 :首字母大写和驼峰原则 ***Man,GoodMan***
6. 方法名:首字母小写和驼峰原则:***run(), runRun()***