相同点
相同点
1.变量的声明格式:(修饰符)数据类型 变量名 = 初始化值
2.都有作用域
不同点
1.声明的位置不同
成员变量声明在类里,方法外
局部变量声明在方法内,方法的形参部分,代码块内
2.修饰符不同
成员变量的修饰符有:public、private、protected、缺省
局部变量没有修饰符(与所在的方法修饰符一致)
3.初始化值显示的不同(一定都有初始化值)
成员变量:如果在声明时不显示赋值,那么不同的数据类型会有不同的默认初始化值
1. byte、short、int、long ==> 0
2. float、double ==> 0.0
3. char ==> 空格
4. boolean ==> false
5. 引用类型变量 ==> null
局部变量:一定要显示赋值(局部变量没有默认的初始化值)
4.二者在内存中存放的位置不同

总结:关于变量的分类
1.按照数据类型的不同:
1. 基本数据类型(8种)
2. 引用数据类型
2.按照声明位置的不同
1. 成员变量:实例变量(不以static修饰) & 类变量(以static修饰)
2. 局部变量:形参(方法签名中定义的变量) & 方法局部变量(方法内定义) & 代码块局部变量(代码块内定义)
main方法内的全局变量
main方法是static修饰的静态方法,只能访问静态变量.main方法外定义的全局变量也必须static修饰


如何命名java变量

