变量,常量,作用域
变量
-
变量就是可以变化的量,变量在内存中的位置固定,储存的数据可以改变,可以这样理解,变量只代表内存中的一个位置
-
可以在一行代码中定义多个变量,但是不建议这么做
public class test03 { public static void main(String[] args) { int a,b,c; //在一行中声明多个变量但是不赋值,容易在后续代码中混淆变量的类型 a = 10; b = 'A'; c = a * b; int x = 'a' ,y = 2, z = x * y ; //在一行中声明多个变量并且赋值 System.out.println(a);//10 System.out.println(b);//65 System.out.println(c);//650 System.out.println("==============================================="); System.out.println(x);//97 System.out.println(y);//2 System.out.println(z);//194 } }
变量作用域
类变量
- 类变量从属于类
- static 变量类型 变量名字 = 变量值 ;
实例变量
-
实例变量从属于对象
-
实例变量若没有自行初始化,变量的值会是默认值,整型为0,浮点型为0.0,字符型为空,字符串为null,布尔型为false
-
实例变量的调用
new 类名 () . var 回车
或者
new 类名 (). + Alt + 回车
随后生成如下内容
类名 变量名 = new 类名();
调用方法
test06.age
局部变量
- 局部变量从属于方法
- 具体特性参考之前总结的基本数据类型
区分类变量/实例变量/局部变量的代码
public class Test06 {
// 类变量 从属于类 如果不自行初始化,整型或者浮点型默认值 0 , 0.0 字符型 默认值 空 字符串默认值 null
static String studentName = "张三";
static double monthSalary;
static char lastName;
static String idNumber;
// 实例变量 从属于对象 如果不自行初始化,整型或者浮点型默认值 0 , 0.0 字符型 默认值 空 字符串默认值 null
int age;
String schoolName = "Primary Magic School";
boolean flag;
// 常量 static final 常量类型 常量名称 = 常量内容;
static final float MAGIC_COEFFICIENT = 1.5F;
// 这里为何要用static,不用static会怎样?
// final double MAGIC_INDEX = 100;
// 主方法
public static void main(String[] args) {
//局部变量
byte grade = 10;
System.out.println(studentName); // 张三
System.out.println(monthSalary);
System.out.println(lastName);
System.out.println("-------------------");
System.out.println(idNumber);
// 实例变量调用 new Test06().var 或者 new Test06 + Alt + 回车
Test06 test06 = new Test06();
System.out.println(test06.age);
System.out.println(test06.schoolName);
System.out.println(MAGIC_COEFFICIENT);
// System.out.println(MAGIC_INDEX); java: 无法从静态上下文中引用非静态 变量 MAGIC_INDEX
System.out.println(test06.flag );
}
// 其他方法
public void add(){
}
}
常量
- 常量是初始后不能改变的值,不会变的值
- 所谓常量可以理解为一种特殊的变量,它在设定后,在程序运行的过程中不会改变
- final 常量名 = 常量值
变量的命名规范
- 所有变量/方法/类名 见名知意
- 类成员变量:首字母小写和驼峰原则 monthSalary 除了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量 首字母小写和驼峰原则
- 常量 大写字母和下划线:MAX_VALUE
- 类名 首字母大写和驼峰原则 JavaDemo,GoodMan
- 方法名 首字母小写和驼峰原则 run(),runRun()