变量
变量:数据类型 变量名=值
变量作用域
局部变量:
- 必须声明和初始化值
- 只在当前方法内有效
不建议在一行里定义多个变量,程序可读性
public static void main(String[] args) { //局部变量:必须声明和初始化值 int i = 10;//只在当前方法内有效 //不建议在一行里定义多个变量,程序可读性 System.out.println(i);
成员变量/实例变量(方法外):
- 从属于对象
如果不进行初始化,则输出这个类型的默认值
- 基本类型的默认值是 0
- 布尔值的默认值是 false
除了基本类型,其余都是 null
//实例变量:从属于对象;如果不自行初始化,则输出这个类型的默认值 //布尔值默认是false //除了基本类型,其余都是null String name; int age; public static void main(String[] args) { //变量类型 变量名字 = new Demo04(); Demo04 demo04 = new Demo04();//new Demo04()之后atl+空格 System.out.println(demo04.age);//0 System.out.println(demo04.name);//null
类变量(方法)static:
public class Demo04 { //类变量 static static double salary = 2500; public static void main(String[] args) { //类变量 System.out.println(salary); } }
- 直接加载到类
- 静态导入包后
import static java.lang.Math.random;
,包内方法可直接使用 - 静态代码块:只执行一次,一般用来赋初始值
import static java.lang.Math.random; public class Student extends Person{ private static int age; private double score; { System.out.println("匿名");//匿名代码块 } static { System.out.println("静态");//静态代码块,只执行一次,一般用来赋初始值 } public Student() { System.out.println("构造方法"); } public static void main(String[] args) { Student student = new Student(); Student student1 = new Student(); System.out.println(random()); System.out.println(Student.age); // System.out.println(Student.score);报错 System.out.println(student.age); System.out.println(student.score); } } //输出结果 静态 匿名 构造方法 匿名 构造方法 0.20866107970796166
常量
- 使用final修饰符——不存在先后顺序
一般是用大写字母表示
static final double PI = 3.0; final static double PI = 3.0;
- final 修饰后无法继承
命名规范
见名知意