• 变量规则
  • 变量命名只能使用字母 数字 $ _。变量第一个字符 只能使用 字母 $ _,不能使用数字。
  • 在命名的时候,尽量使用完整的单词进行命名,比如name,moveSpeed,而不是使用缩写 n,m。
  • 在命名时,不能只使用关键字,但是可以包含关键字。比如int, short, class 这些单词已经被java 赋予了特殊的含义,这些就是关键字。不能直接用来作为变量名。
public class 变量 {
    public static void main(String[] args) {
        //类名加数字就可以做变量
        int class5 = 1;
    }
}

中文也是可以用来命名变量的,但在实际情况中别这么干

  • public static void main(String[] args) {} 这是一个主方法,要运行程序必须通过main方法。至于这些修饰符,关键字,形参,目前只需记住规定就是这么写的,这样写就能运行程序。
  • 作用域
  • 变量处于不同的位置,有不同的名称。
  • 当一个变量被声明在类下面,变量就叫做字段 或者属性、成员变量、Field。比如变量i,就是一个属性。那么从第2行这个变量声明的位置开始,整个类都可以访问得到。所以其作用域就是从其声明的位置开始的整个类。
public class 作用域 {
    int i = 1;
    int j = i;//从其他的属性可以访问i
    public void method1(){
        System.out.println(i);//方法1里访问i
    }
    public void method2(){
        System.out.println(i);//方法2里访问i
    }
}

如果一个变量,是声明在一个方法上的,就叫做参数。参数的作用域即为该方法内的所有代码。其他方法不能访问该参数,类里面也不能访问该参数。

public class 作用域 {
    public void method1(int i){
        System.out.println(i);//方法1里访问参数i
    }
    public void method2(){
        System.out.println(i);//方法2里不能访问i
    }
    int j = i;//类里面也不能访问i
}
  • 在方法内声明的变量叫其局部变量。作用域在声明开始的位置,到其所处于的块结束位置。
public class 作用域 {
    public void method1() {
        int i = 1;//作用域从第三行开始到第10行
        System.out.println(i) {
            System.out.println(i);//可以访问i
            int j = 5;
            System.out.println(j);//可以访问j
        }
        System.out.println(j);//不能访问j
    }
}

属性的作用域在方法中,参数的作用域也在方法中,如果属性和参数命名相同了的话? 那么到底取哪个值?取参数的值

public class 作用域 {
    int i = 1;//属性是i
    public void method1(int i) {//参数也是i
        System.out.println(i);
    }
    public static void main(String[] args) {
        new 作用域().method1(5);//打印出来的是1还是5?
    }

}