3)变量与常量
变量分类及作用域
分类
基本数据类型:数值(整数,浮点,字符),布尔
引用数据类型:类,接口,数组
- 实例变量(非静态字段):
对象将它们各自的状态存储在“非静态字段”中,即没有static关键字声明的字段。非静态字段也称为实例变量,因为它们的值对于类的每个实例(换句话说,对于每个对象)都是唯一的;作用域整个类 - 类变量(静态字段):
使用static修饰符声明的任何字段;这告诉编译器存在这个变量的一个副本,不管这个类被实例化了多少次,都有共同的一个字段。此外,可以添加关键字final来表示变量值永远不会改变。作用域整个类 - 局部变量:
方法通常会将其临时状态存储在局部变量中。声明局部变量的语法类似于声明字段(例如,int count = 0;)。局部变量不需修饰符;局部变量仅对声明它们的方法可见;其他类无法访问它们。作用域整个块 - 参数:
回想一下,该main方法public static void main(String[] args). 这里,args变量是这个方法的参数。要记住的重要一点是,参数总是被归类为“变量”而不是“字段”。作用域方法内
局部变量没有初始值,如果声明时没有初始化,必须在使用前赋值
变量和字段区别
如果我们谈论“一般的字段”(不包括局部变量和参数),我们可能会简单地说“字段”。如果讨论适用于“以上所有”,我们可以简单地说“变量”。如果上下文需要区分,我们将酌情使用特定术语(静态字段、局部变量等)
变量的命名
- 变量名区分大小写
- 以字母、美元符号“
$
”或下划线字符“_
”开头,然而惯例始终以字母开头,而不是“$
”或“_
” - 不允许使用空格
- 建议请使用完整的单词而不是隐晦的缩写
- 您选择的名称不能是 关键字或保留字
- 如果它包含多个单词,则将每个后续单词的第一个字母大写
- 如果您的变量存储一个常量值,则约定会略有变化,将每个字母大写并用下划线分隔后续单词
- 中文可以用来命名,但是别这么干
常量表示
当一个变量被final修饰的时候,该变量只有一次赋值的机会
final static double PI = 3.14;