变量、常量和作用域
变量
变量是什么:就是可以变化的量!(可以通过变量来操作内存中的数据)
变量只带了芯片空间,假设在内存中有这样一个空间,变量指的就是这个空间,而空间里面要放什么东西,是不确定的。相当于位置是确定的,空间内的东西是不确定的,需要指定一个空间。
Java 是一种强类型语言,每个变量都必须声明其类型。
Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=vaelue]}] ;
//数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量
**不建议在一行中定义多个值**
注意事项
每个变量都有类型,类型可以是基本类型,也可以是引用类型
引用类型(String,字符串)还有八大类型
变量名必须是合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
常量
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值!
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值
final double PI=3.14;
常量名一般使用大写字符。
public class Demo04{
//常量:static(静态的,不会变)修饰符: final 不存在先后顺序
static final double PI =3.14;
public static void main(String[] args){
System.out.println(PI);
}
}
}
变量作用域
类变量
(写在 类里面 )
需要关键词 static(静态的)
public class Variable{
syatic int allClicks=0; //类变量
}
//类变量 static
public class Demo03{
public static void main(String[] args) {
static double salary = 2500;
System.out.println(salary);
}
}
//只要加了 static 关键词获得它们的属性,就可以直接用了,纯属于类的
//默认类型是 int 但是 double 的类型比它高,所以自动转换
类里面有个默认的东西叫 main方法,就是主程序方法,方法在类里面,类里面除了方法还能定义一个属性(可以理解为变量)
实例变量
(写在 类中间 ,方法的外面,从属于 对象 ,理解为从属于类,通过这个类才能去使用它)
和类变量差不多,但是没有关键词 static
public class Variable{
String str="hello world"; //实例变量
}
//定义一个 String ,不需要初始化,可以直接用
public class Demo03 {
public sratic void main(String[] args) {
String name;
int age;
}
}
//实例变量:从属于对象;如果不能自行初始化,这个类型的默认值
//所有的数值类型,初始化都是 0(整数) 0.0(小数) 字符串变量初始化是一个16位的 u000(默认还是会输出0)
//布尔值;默认输出 false
//除了基本类型,其余的默认值都是 null(空)
public class Demo03 {
public sratic void main(String[] args) {
Demo03 demo03 = mew Demo03();
System.out.println(demo03 age);
System.out.println(demo03 name);
}
}
//变量类型 变量名字 = new Demo03();
Demo03 demo03 = mew Demo03();
//相当于把这个类拿到了,它会返回一个 demo03 ,它这个就叫做一个对象,相当于一个变量类型 Demo03 ,除了基本类型,类型也可以是自己,自定义类型也是引用类型
局部变量
( 写在方法里 ,两个大括号之间的变量就开始,在使用之前必须 声明 和 初始化值 )
main 方法,在类里面(默认的主程序方法)
public class Variable{
public void method(){
int i =0; //局部变量
}
}
public class Demo03
public static void main(String{} args) {
int = 10;
System.out.println(i);
}
//局部变量只在大括号内有效果
变量的命名规范
所有变量、方法、类名:见名知意(不要使用拼音)
类成员变量:首字母小写和驼峰原则:monthSalary(除了第一个单词以外,后面的单词首字母大写 lastname lastName)
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()