变量
1.变量是什么?
就是可以变化的量!
我们可以通过变量来操作内存中的数据,变量就指的是在内存中有一块空间,空间里面放什么东西我们是不确定的,相当于位置是确定的、定死的,但是空间里面要存什么东西是不确定的,这就是变量。
2.Java是-种强类型语言, 每个变量都必须声明其类型。
数据类型 变量名 = 值 ; 可以使用逗号隔开来声明多个同类型变量。
3.Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
public class Demo4 {
//变量
public static void main(String[] args) {
//int a,b,c;//不建议这样写值
//int a=1,b=2,c=3; //可以这样写,但不易看懂
//尽量以这种形式写,程序可读性比较强
int a=1;
int b=2;
int c=3;
//数据类型 变量名 值
String name = "灭霸" ;
char x = 'X';
double pi = 3.1415926;
}
}
变量作用域
变量作用域,变量的可用性范围。通常来说,一段程序代码中所用到的名字并不总是有效可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
public class Variable{
static int allClicks=0;//类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; //局部变量
}
}
//类
public class Demo5 {
//类里面可以定义属性(变量)
//实例变量:作用域更大,在类名里面,从属于对象/类,如果不自行初始化,会变成这个类型的默认值(0、0.0、u0000)
//默认值一般是0、0.0、u0000,布尔值默认值是false,除了基本类型,其余的默认值都是null
String name;//直接可以使用,不用初始化,要想使用先把类拿出来
int age;
/*方法块static {
} */
//类变量 static
static double salary = 4500;//int会自动转换成double
//mian方法(主程序方法)
public static void main(String[] args) {
//局部变量是在方法里面,有效期是在方法的括号内,必须声明和初始化值
int i = 10;//只在这个方法内有效果
System.out.println(i);
//变量类型 变量名字 值 new Demo5();
Demo5 demo5 = new Demo5();//alt+回车键,拿到Demo5拿到了,就可以使用Demo5实例变量
System.out.println(demo5.age);//.age.out就可以输出了,从属于对象/类就要这么使用
System.out.println(demo5.name);//输出为null,除了基本类型,其余的都是null
//类变量 static
System.out.println(salary);
}
//其他方法
public void add(){
System.out.println();
}
}
类变量
需要加 static,static会随着类出来,也会随着类消失
//类
public class Demo5 {
//类变量 static
static double salary = 4500;//int会自动转换成double
public static void main(String[] args) {
System.out.println(salary);
}
}
实例变量
实例变量:作用域更大,在类名里面,从属于对象/类,如果不自行初始化,会变成这个类型的默认值(0、0.0、u0000)
//类
public class Demo5 {
//类里面可以定义属性(变量)
//实例变量:作用域更大,在类名里面,从属于对象/类,如果不自行初始化,会变成这个类型的默认值(0、0.0、u0000)
//默认值一般是0、0.0、u0000,布尔值默认值是false,除了基本类型,其余的默认值都是null
String name;//直接可以使用,不用初始化,要想使用先把类拿出来
int age;
//mian方法(主程序方法)
public static void main(String[] args) {
//变量类型 变量名字 值 new Demo5();
Demo5 demo5 = new Demo5();//alt+回车键,拿到Demo5拿到了,就可以使用Demo5实例变量
System.out.println(demo5.age);//.age.out就可以输出了,从属于对象/类就要这么使用
System.out.println(demo5.name);//输出为null,除了基本类型,其余的都是null
}
}
局部变量
是在方法里面、方法块里面生效
//类
public class Demo5 {
/*方法块 static {
}
*/
//类里面可以定义属性(变量)
//mian方法(主程序方法)
public static void main(String[] args) {
//局部变量是在方法里面,有效期是在方法的括号内,必须声明和初始化值
int i = 10;//只在这个方法内有效果
System.out.println(i);
}
}
常量
- 常量(Constant): 初始化(initialize)后不能再改变值!不会变动的值。
- 所谓常量可以理解成- -种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
- 常量名一般使用大写字符。
final 变量类型 常量名 = 值;
final double PI = 3 .14;
public class Demo6 {
//常量一般通过final来定义,变量名都用大写字母来表示
//static是静态的
//static final = final static
//修饰符不存在先后顺序 变量类型 变量名 值
static final double PI = 3.14;
public static void main(String[] args) {
System.out.println(PI);//引用常量
}
}
变量的命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则: monthSalaryt除了第-个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线: MAX_ _VALUE,建议全部使用大写字母
- 类名:首字母大写和驼峰原则: Man, GoodMan
- 方法名:首字母小写和驼峰原则: run(), runRun()